CSDNRGY 2017-01-11 00:09 采纳率: 87.5%
浏览 3166
已采纳

为什么nosql数据库,这么火?它的出现解决了哪些问题?

为什么nosql数据库,这么火?它的出现解决了哪些问题?

例如mogodb

  • 写回答

2条回答 默认 最新

  • tang_cheng 2017-01-11 01:55
    关注

    我感觉楼上说的第一点根本不是理由,那文章的作者之所以选择nosql的根本原因是因为它现在的开发没有复杂的多表关联查询,如果以后业务复杂了,作者自然就会后悔当初的选择了。因为现在所谓的nosql数据库的原型就是我们当年的dBase,Foxpro之类的索引式数据库。当年用这类数据库开发复杂查询时的痛苦经历不堪回首。
    nosql最大的特点就是对于单表数据可以海量分布式高速查询,且可以存储各种类型的数据。
    而我们平时所用的关系型数据库由于要维护各种表关联关系,因此无论是读写速度还是存储格式都有很大的限制。
    但这并不意味着nosql可以取代它,因为它的多表关联存储,复杂查询等是nosql无法替代的(即使有模拟实现也是无实用价值的)。所以真正的应用场合都是关系型数据库和nosql类的同时使用。把主键关联信息保存在关系型数据库中,海量数据保存在nosql中。

    以下是百度对mongodb的说明:

    其主要场景如下:
    1)网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
    2)缓存。由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。
    3)高伸缩性的场景。非常适合由数十或数百台服务器组成的数据库,它的路线图中已经包含对MapReduce引擎的内置支持。
    不适用的场景如下:1)要求高度事务性的系统。
    2)传统的商业智能应用。
    3)复杂的跨文档(表)级联查询。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用三极管设计—个共射极放大电路
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示