请问在这样的应用场景下,我该选择什么数据库

目前用的是MYSQL,明显感到很多瓶颈。比如某个数据表 tbl_biao有3个字段a,b,c

a当中存的user,是索引字段
b当中存储的是json数据[1,2,3,4,5,6,7......]
c当中存储的也是json数据["11":"1100000000","22":"1200000000"......]

数据总量大约200000条

现在有一个需求是按照b字段当中的第二个和第四个json参数来排序,MYSQL无法实现
还有一个需求是查找所有c字段当中包含key=22的user,并且按照对应的值(时间戳)来排序

类似的需求很多,MYSQL都无法实现,虽然可以把JSON拆成字段来搞,但是我的数据量是在太多了...
现在准备换数据库,求推荐。

阅读 4k
2 个回答

MongoDB 支持你的大部分需求;b[2]、b[4]排序这个应该也可以通过aggregate来实现,但是效率可能略低些;不过如果单独拎出来再建索引的话应该就没问题。

同意 MongoDB,2.2 增加了 aggregate 操作,很方便进行排序等操作。MongoDB 2.4 已经发布,把 JS 引擎替换成了 V8, 速度又有了提升。复杂的操作可以用 mapreduce。如果为了速度,你可以在一台机子上跑多个实例,进行 Sharding,就可以充分利用多核 cpu 并行计算。
但是生产环境的话 MongoDB 官方也不建议一台物理机跑多个实例。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题