NewSQL

NewSQL的分类
NewSQL是指一类关系型数据库,即有NoSQL的扩展性,又支持ACID事务。

NewSQL分成三类:New Architecture、Transparent Sharding Middleware、Database-as-a-Service。

New Architecture

分布式设架构设计,一般是share-nothing的架构,支持mutli-node concurrency control、fault tolerance through replication、flow control、distributed query processing。因为针对分布式环境设计,所以可以做的优化空间更多,比如查询优化、节点间通信(不必依赖中间件中心节点)等。该思路下一般(Spanner不是)要自己管理数据存储和分布,以支持将请求发到数据而不是将数据带到请求节点。

因为是全新的架构,兼容和系统生态会是一个大问题。以我看到的情况,坦白地说,这些工作都是偏离core-tech之外的dirty work。

典型系统:Clustrix、Google Spanner、H-Store、HyPer、MemSQL、NuoDB、Pivotal GemFire XD、SAP HANA、VoltDB。

Transparent Sharding Middleware

中间件思路下,有一个中心组件用来路由请求、协调事务(应该是协调完成分布式事务)、管理数据分布、副本复制、数据在节点间分区。每个节点上都运行一个单机版的数据库实例,上面有一个组件用于该实例与中心组件交互。整个集群对外是一个逻辑实例。

优势:应用往往已经很适合这种架构,所以不需要做什么改动。

劣势:单节点上的传统数据库是面向磁盘设计的,针对大内存和多核机器无法高效利用;另外就是复杂查询的查询计划和优化在中间件和各节点上会有重复工作。

典型系统:dbShards、MariaDB MaxScale、ScaleArc、ScaleBase。

Database-as-a-Service

云数据库

典型系统:Amazon Aurora、ClearDB

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原创小绘本的由来 还是去年的某个晚上,睡前,躺在床上,四周一片漆黑,静静的。Linda给我讲了蚂蚁的故事,她自己即...
    小粉猫阅读 1,580评论 8 14
  • 9月18日 星期一 晴 我们语文老师要去结婚了,请假两个星期,我们现在是一个老师在代课,她叫石老师,是石头...
    A叶瑞妹阅读 817评论 6 4
  • 下跌后,悲痛欲绝;上涨后,欢心雀跃。两者均无必要。其实,经济还是那个经济,公司还是那个公司,既不因为急跌而变...
    G_consider阅读 462评论 1 0