为什么新的分布式数据库又开始支持关系模型了?

问题补充:hbase/bigtable这样的数据库,比关系数据库多了一层,表达能力其实强于关系模型啊,辅以索引和良好设计的查询语言,应该比RDBMS要好用才对为什么GoogleF1和TiDB又开始支持关系模型了

提问者:陈文昊2017-04-12 20:49:26

查看全部 7 个回答

杜鹃

2017-04-12 20:53:09

0 0

长久以来关系数据库的最明显的痛点不外乎以下两点
1.scale
2.容错不好,分布式事务基本不可用。
为了弥补以上问题,几乎现在成规模的互联网公司都有自己的一套DAL(MySQL Sharding/Proxy),可这基本上是一个马后炮的方案。还有一个现象就是 互联网公司对 关系数据库的使用方式越来越像一个KV系统了(基本没有复杂查询)
那么成熟no sql (HBase Cassandra Mongo)解决了哪些问题?scale 大部分no sql系统都能够非常好的解决这一类问题, 集群规模上千台是没有任何压力的。这类系统在设计上主要有2大类吧(有中心节点,无中心节点)。HBase 源于google bigtable 相当于在hdfs上面做了一个分布式索引层。扩展不是问题。多副本能够保证数据可靠。
那么再回过头来看看数据库的本质的东西 数据库与文件系统最本质的区别就是 有Transaction的能力。在分布式系统中做到这个很不容易(2pc,3pc raft, paxos)。在一个SQL表现力很强(要不分也不会有Hive ,Impala)。基本上朴素的数据分析或者说规律性的分析用 SQL完全能够搞定。所以关系模型如何能够在分布式系统下还能够保持这些优秀的特性New SQL 最好选择啊!

赞成功