title: 11.分布式数据库调研 CreateTime: 2019-07-11 00:00:11 UpdateTime: 2019-07-11 00:00:11 CategoryName: web --- --- title: "11.分布式数据库调研" date: 2019-07-11T00:00:11+08:00 draft: false tags: ["web"] categories: ["web"] author: "springrain" --- 目前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才是未来\...\... 参考文献: