1、大胆创新:民生银行 走应用层数据拆分的分布式中间件路线定制研发,及从业务实现层面规避应用层数据拆分的分布式事务等不支持业务场景,在那个时间点上是大胆创新,也是成功的创新。
2、ITPUB上看到的一份PPT其中一页描述:应用层数据拆分 VS 分布式数据库数据拆分的差别如下
3、分布式数据库不管是走 应用层实现数据拆分(TDDL、ZDAL、Sharding-JDBC、 ShardingSphere 等都是此路线)、分布式数据库实现层数据拆分(OceanBase、HotDB、 TDSQL、 DDM、MyCAT、GoldenDB等)、存储层实现数据拆分( SequoiaDB 、TiDB、Spanner,及众多数据库一体机产品),抓住分布式数据库是为了解决什么问题? 带来什么价值?带来什么无法规避的问题?
3.1 解决什么问题 :大规模用户访问、大规模数据存储、高并发、高吞吐高可靠的两大三高问题。
3.2 带来什么价值:引入新的技术架构 或技术产品一定是要做到 “降本增效,支持业务创新发展”的立场,也即引入一项技术活产品后不能出现 总体拥有成本TCO变大而应该是变小。
3.3 带来什么无法规避的问题 :多一层网络来回 和一层内部转换处理,也即单个线程单个访问请求的情况下 同集中式数据库相比性能一定是游损耗的,这个损耗=一个网络来回的时延 + 分布式数据库计算引擎内核处理时长。
备注:什么数据一致性、应用透明、存储过程等从技术原理上都是可实现的,也是成熟的数据库理论,只是实现的工程化难度 和算法难度。