关于数据库:昆仑分布式数据库技术优势

1次阅读

共计 2069 个字符,预计需要花费 6 分钟才能阅读完成。

上章节介绍了昆仑分布式数据库的技术特点,这章紧接上文带来数据库的技术劣势。

一、开源、扬众长避众短

1.1 集 3 大次要数据库 Oracle、MySQL、PostgreSQL 的强项于一身并产生 1 +1>>2 的放大效应,能够宽泛汇聚社区能量,产生短暂的价值和生命力。

  • Oracle: 存储引擎,查询处理。

innodb 齐全听从 Oracle 的存储引擎的设计。

  • MySQL:innodb 存储引擎和 binlog 复制(RBR)。
  • PostgreSQL: 查询处理能力在所有开源 RDBMS 中最强。
  • MySQL&PostgreSQL 开源社区的人力资源和技术资源。

1.2 防止它们的弱项

  • Oracle: 硬件和软件低廉,老本过高: 无奈做到平安可控,政策合规。
  • MySQL: 查询处理的性能和性能无限: 单机数据库,无奈程度弹性扩容。
  • PostgreSQL: 存储引擎不适宜重负载 OLTP 负载.

二、查询处理能力

2.1 计算节点反对 PostgreSQL 的所有次要查询处理性能。

  • 反对绝大多数 DDL 和所有 DML 语法和性能。
例外: 外键和触发器,tablespace 和存储相干性能,WAL replication。
  • 反对所有根本数据类型。
数值,字符串,text/blob,工夫 1 日期 / 工夫戳 /money/enum,序列等等。
  • 反对高级查询处理性能。

* 任意跨 shard 的多表连贯,子查问,存储过程。* OLAP 剖析能力: 汇集函数,window 函数,grouping sets,cube, rollup。* CTE,视图,物化视图,真 prepared stmt,jit.

2.2 计算节点兼容 MySQL 和 Oracle 的罕用 SQL 语法(*)。

  • 反对 MySQL 客户端协定(*)
  • 去 O 的迁徙工作量较小,技术人员技能可平移,学习曲线平缓(*)

三、全方位数据安全保障

3.1 在数据源头控制数据拜访更加安全可靠。

  • 对立 / 多层级 / 灵便动静配置访问控制规定。
  • 利用层面访问控制的多种缺点。

* 不对立: 多种利用拜访同一个数据库,每个利用都须要规定配置甚至编码实现。* 不灵便动静: 硬编码的访问控制规定,不容易批改。* 不平安: 控制策略和规定自身会泄露信息。

3.2 多层级细粒度的访问控制。

  • 多层级的用户 / 角色。
  • 多层级的数据库对象: 数据库 /schema/ 表 / 视图 / 列。
  • 多层级治理各种数据库对象的访问控制规定。

3.3 用户数据全零碎加密: 数据文件和 binlog 文件以及日志文件均可加密;

SSL 全链路加密,平安传输数据;多级(database,schema,table,view,column)细粒度访问控制。

四、兼容并蓄

4.1 计算节点凋谢架构。

  • Extension: 无缝兼容 PostgreSQL 生态,PostGIS 等。
  • FDW(foreign data wrapper): 能够实现接口来读取所有支流数据源。

* hadoop 生态:hbase,hive 等。* 支流数据库:Oracle,MSSQL Server,DB2,MySQL,PostgreSQL 等等




* 列存储 (OLAP) 和时序数据库。

4.2 计算节点其余劣势。

  • 欠缺的 i18n/globalization/localization 反对。

时区,字符集和 collation。

多语言能力。

五、多层级多方面的扩大能力

5.1 按需弹性程度扩大能力。

  • 多个读写节点,解决读写负载都能够按需扩大解决能力。
  • 无共享(sharenothing),无单点依赖。
  • 无性能瓶颈,无计算 / 存储能力瓶颈。
  • 按需增减计算节点和存储集群 / 节点。
  • 通明的按需扩大,业务零碎和最终用户无感知。
  • 存储集群扩容速度可调,对数据源节点的计算 / 存储 / 网络资源耗费可控。

5.2 全零碎并行计算能力。

  • 充分发挥服务器的并行工作能力。

多核并行。

存储系统并行。

网络系统并行。

六、其它劣势

6.1 不必固定分区数量,而是能够每个表不同的分区数量,分区规定(3 种),并且能够应用任意数量的分区列,甚至对于小表能够齐全不分区。

6.2 存储集群

  • 性能当先: 分布式事务处理性能大大高于社区版本 http//www.zettadbcom/blogs/perf-cmp-mysql。
  • 齐备的容灾能力: 填补社区版 MySQL80 的分布式事务处理的容灾能力空白。

* https://fosdemorg/2021/schedule/event/mysqlxal




* 本技术分享视频的国内地址:https//wwwbilibilicom/video/BV1zo4y1d7pu
  • 原生的 onlineDDL 性能: 疾速加列。

6.3 昆仑数据库 VS MySQL: 应用昆仑数据库治理小规模数据的劣势。

  • 放大了单 -MySQL 集群的能力,按需程度扩大能力和更弱小的数据分析能力。
  • 更简略不便地应用 MySQL 集群: 主动切主并保护 mysql 集群状态。
  • 并行查询处理,备机读。

6.4 集群构造简略,不依赖第三方模块和软件(etcd/zookeeper 等)

  • 产品质量可控。
  • 人力累赘小。

留神:上方(*)的条目是行将反对的性能

*KunlunDB 我的项目已开源

【GitHub:】
https://github.com/zettadb

【Gitee:】
https://gitee.com/zettadb

END

正文完
 0