到现在为止,NoSQL运动给数据库系统留下什么宝贵的思想?

NoSQL运动应该说是已经进入了尾声,NoSQL运动给我们带来了哪些有价值的思想?对于数据库、NewSQL和分布式系领域有什么启示?以及被借鉴的具体的技术有哪些?

猪小花1号提问于 2018-03-27 09:26
1 个回答
  • 未来已来2018-07-13 14:44

    说 NoSQL 运动尾声并不那么确切。一方面,关系型数据库一直坚挺,说去 IOE 也是换成 MySQL 或者 PostgreSQL 而不是 NoSQL。NoSQL 方面(问题看不出来 NoSQL 已成主流的意思,姑且认为说 NoSQL 要完),以 HBase 为例,从 HBase 的 github 页面来看,好吧, Ted Yu 的名字确实不新鲜,但那些数字并没有给人日薄西山的感觉。从用户方面看,国内 BAT、小米、华为、网易、京东、滴滴、携程、新浪、知乎等大大小小的公司都有部署 HBase,集群规模几百、几千、上万台不等,承载的包括用户画像、安全风控、订单存储、交通轨迹、推荐搜索等业务(HBaseCon Asia 2017 观察)。


    <figure></figure>

    回头来说,数据库终究是要满足数据的管理和存储的需求,NoSQL 因关系模型当初不能很好地适应海量数据存储和管理而生,它去掉了关系型特性,支持分布式存储,甚至自动分片,扩展和并发能力强,在库表结构简单的互联网业务上表现很好。然而业务需求复杂之后,遵循 CAP 理论和 BASE 原则的NoSQL,对 ACID 和 SQL 支持不佳等短板让人不能忍,它需要用户精通数据存储引擎,事务又是渣渣。所以 Google F1、TiDB 之类的 NewSQL 出来了,支持分布式、高容错、基于云的集群架构,支持关系数据模型,支持使用 SQL 语句来查询数据。当然,NewSQL 是很不好搞的。


    其实,关系型数据库在海量数据存储和查询方面做了不少的探索,业务拆分、分库分表已经不是什么新闻。但在一些需求简单的场景下,关系库性能还是不如 NoSQL。正确的废话,就是还需要根据业务场景来选择。


    网易云在 RDS之外,也提供 MongoDBRedis 等云服务。