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条)

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作