为什么新的分布式数据库又开始支持关系模型了?
长久以来关系数据库的最明显的痛点不外乎以下两点
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 最好选择啊!
回答请先登录