容祖儿 夹春卷TBase是腾讯数据平台团队在开源的PostgreSQL基础上研发的企业级分布式HTAP数据库管理系统:
Coordinator:协调节点,对外提供接口,负责数据的分发和查询规划,多个节点对等,每个节点都提供相同的数据库视图,CN存储系统的全局元数据。
Datanode:处理存储本节点相关的元数据,每个节点还存储数据的一个分片。在功能上,DN节点负责完成执行协调节点分发的执行请求。
GTM: 全局事务管理器(Global transaction manager.),负责管理集群事务信息,同时管理集群的全局对象,比如序列,除此之外GTM上不提供其他的功能。
分布式事务全局一致性能力:通过拥有自主专利的分布式事务一致性技术,包括两阶段提交(Two Phase Commit)以及全局时钟(Global Timestamp)的策略来在全分布式下的事务一致性。
SQL兼容能力:SQL2003标准、PostgreSQL语法、常用Oracle函数&数据类型、UDF/UDAF、常见窗口函数、JSON/JSONB/XML/数组等多种 NoSQL 类型 、递归WITH、无锁DDL操作、扩展插件等。
HTAP能力:提供 OLTP 以及 OLAP 两个平面视角 ,OLTP 业务运行在 datanode 主节点上,OLAP 业务运行在 datanode 节点的备节点上,二者的数据同步采用流复制的方式来进行。
读写分离能力:提供了读写和只读两个平面视角,读写流量请求由主节点来处理,只读流量请求由备节点来处理,主备节点的数据同步采用流复制的方式来进行。
卓越的数据安全保障能力:通过三权分立的体系,将传统数据库系统DBA的角色分解为三个相互的角色:安全管理员、审计管理员、数据管理员;基于此提出安全策略,主要细分为三个部分:数据加密、数据脱敏访问、强制访问控制,三者组合提供多个层级的数据安全保障能力。
高效的数据治理能力:数据倾斜治理,用以解决数据分布不均带来的存储以及性能压力;冷热数据分级存储 ,用以降低业务的存储成本、提升热数据的性能。
多租户能力:基于节点组node group的集群内多租户解决方案,做到数据库集群内部的业务和资源隔离,多个业务在TBase内部相互隔离的运行。
多级容灾能力:采用强同步复制来主从数据完全一致,保障主节点故障时数据无丢失;提供基于任意时间点的恢复特性来防止误操作带来的数据丢失。
在线扩容能力:通过引入shard map层(shard map 中每一项存储 shardid 和 DN 的 映射关系 ), 在新加节点时,只需要把一些 shard map 中的 shardid 映射到新加的节点,并把对应的数据搬迁过去就可以了,大大缩短扩容时间。
TBase目前已在腾讯内外部包括银行、保险、证券、微信支付等多个行业提供底层数据库支撑。我们期望通过将TBase开源,能够有助于业界其他相关领域的应用,也希望更好的完善产品本身,TBase期待大家共同完善!