11.分布式数据库调研
目前MySQL原生集群的极限是MGR,MRG只是解决了数据同步,并不是分布式数据库.如果使用MyCat,sharding-jdbc,Vitess等分库分表的方案,除了面临SQL的限制,还有维护工作,特别是MyCat的维护.
如果必须要使用分布式,不如直接更换为分布式数据库,最好是支持SQL,最优是支持MySQL语法.
基于这个思想,技术调研如下技术方案,
过滤收费产品,例如ClustrixDB:
产品名 | 技术栈 | SQL语法 | 事务支持 | 优势 | 缺点 |
---|---|---|---|---|---|
Elasticsearch | Lucene | 不支持 | 不支持 | 全文检索服务,自动分片 | 主分片扩容较复杂,场景限制较大 |
CockroachDB | NewSQL | 支持 | 支持 | F1的开源版本,原google开发人员,根正苗红,使用PG的SQL子集 | 起步阶段,文档不多 |
TiDB | NewSQL | 支持 | 支持 | F1的开源版本,国人开发,支持MySQL语法 | 起步阶段,文档不多 |
Phoenix | Hbase | 支持 | 不支持 | 天然处理海量语句 | 使用OLAP,不适合OLTP |
Trafodion | Hbase | 支持 | 支持 | 完全的事务支持,海量数据处理 | 目前看好像是国人维护了,对应商业EsgynDB数据库 |
个人感觉,目前NewSQL感觉CockroachDB靠谱些,毕竟根正苗红,也有风投跟进.Hbase的目前就Trafodion吧,毕竟支持完整的数据库事务,虽然背后是国人商业公司,也是属于apache的项目.
如果必须二选一,我跳CockroachDB,反正都是坑,而且NewSQL才是未来......
参考文献:
http://m.kejixun.com/article/161214/260357.shtml
http://www.infoq.com/cn/articles/situation-of-the-open-source-database
文章作者 springrain
上次更新 2019-07-11