gpt4 book ai didi

mysql - 从 MySql 到 NoSql

转载 作者:可可西里 更新时间:2023-11-01 10:33:39 25 4
gpt4 key购买 nike

<分区>

我现在使用 Mysql 得到了什么

这是我的数据库:

enter image description here

我经常使用边界框按位置搜索用户。

还有两个表:user_tag和tags。整个数据库大小约为 1 Gb

我已经用这些表实现了一个任意标签系统,这样当用户想要使用尚未创建的标签时,这个标签就被插入到标签表中。

我还按标签搜索用户。

基准

我在这个数据库中没有索引,除了主键上的索引。

如您所见,有很多插入内容,它们需要花费很多时间。

这里的主要问题是耗时的插入和更新。

使用标签创建新事件(~150 毫秒):

http://pastebin.com/vyw6qhrN

更新事件(~200 毫秒):

http://pastebin.com/f28yvn9z

我不喜欢这个解决方案的地方:

  1. 当我创建新用户时,我会插入 3 个表以将用户与其标签链接起来。
  2. 更新用户信息时,我还需要在用户更改标签时进行 3 次更新和 1 次删除或插入。
  3. 按标签搜索用户变得非常困惑(复杂查询)( How to implement tag system )

我能用NoSql得到什么

我想使用面向文档的数据库。那么我将只需要一个集合:

{
"name": "Dan",
"lat": 60
"lon": 30
"tags":["football", "fishing"]
}

我将能够在 tagslatlon 上设置索引以加快搜索速度。

我的问题

  1. 我应该切换到 NoSql 还是可以以某种方式改进我当前的实现。或者可能切换到不同的RDBMS
  2. 万一我应该切换:在这种情况下哪种 NoSql 数据库最好?
  3. 如果我应该切换到 MongoDb:它是否足够可靠和成熟?因为我读过很多关于人们离开 MongoDb 的帖子。例如:http://www.reddit.com/search?q=mongodb

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com