CSDNRGY 2017-01-11 00:09 采纳率: 85.7%
浏览 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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵