当前位置: 首页 > 工具软件 > YugaByte DB > 使用案例 >

YugaByte DB 分布式 开源 关系型数据库介绍

庄弘业
2023-12-01

YugaByte DB 分布式 开源 关系型数据库介绍

 

什么是YugaByte DB?

YugaByte DB是一个高性能的分布式SQL数据库,用于为全球互联网规模的应用程序提供支持。YugaByte DB使用高性能文档存储,自动分片,每分片分布式共识复制和多分片ACID事务(受Google Spanner启发)的独特组合构建,提供横向扩展RDBMS和低规模的Internet规模OLTP工作负载查询延迟,对故障的极端弹性和全局数据分布。作为云原生数据库,它可以轻松地跨公共云和私有云以及Kubernetes环境进行部署。

YugaByte DB是作为Apache 2.0开源项目开发和分发的。

 

是什么让YugaByte DB与众不同?

YugaByte DB是一个事务性数据库,它汇集了云本机微服务的三个必备需求,即SQL作为灵活的查询语言,低延迟读取性能和全局分布式写入可伸缩性。单片SQL数据库提供SQL和低延迟读取,但无法跨多个节点和/或区域扩展写入。分布式NoSQL数据库提供性能和写入可伸缩性,但放弃了SQL语义,如多键访问,ACID事务和强一致性。

YugaByte DB功能亮点如下所示。

1. SQL和ACID事务

2.高性能和大规模可扩展性

3.全球数据一致性

4. Cloud Native

5.开源

6.内置企业功能

  • v1.3开始,只有开源分布式SQL数据库具有内置的企业功能,如分布式备份,数据加密和只读副本。开源中还包括诸如Change Data Capture和2 Data Center Deployments等即将推出的功能。

 

YugaByte DB支持哪些客户端API?

YugaByte DB支持两种分布式SQL。

1. YugaByte SQL(YSQL)

YSQL目前处于Beta阶段,是一个完全关系的SQL API,它与PostgreSQL中的SQL语言有线兼容。它最适合需要水平写入可伸缩性和全局数据分布的RDBMS工作负载,同时还使用关系建模功能,如JOIN,分布式事务和参照完整性(如外键)。通过探索YSQL功能开始。

2. YugaByte Cloud QL(YCQL)

YCQL是一种基于SQL的灵活模式API,最适合需要半关联API的互联网规模的OLTP应用程序,这些API针对写密集型应用程序以及超快速查询进行了高度优化。它支持分布式事务,强一致的二级索引和本机JSON列类型。YCQL源于Cassandra查询语言。通过探索YCQL功能开始。

注意

YugaByte数据库API今天是孤立的,彼此独立。这意味着其他API无法查询由一个API插入或管理的数据。此外,没有通用的方法来访问API(外部框架,如Presto可以帮助处理简单的情况)。

最大的影响是应用程序开发人员必须在进行详细的数据库架构/查询设计和实现之前首先选择API。

 

YugaByte DB的常用文档存储如何工作?

DocDB,YugaByte DB在所有API中通用的分布式文档存储,使用Raft复制,分布式ACID事务和RocksDB存储引擎的自定义集成构建。具体来说,DocDB通过将RocksDB从键值存储(仅具有原始数据类型)转换为文档存储(具有复杂数据类型)来增强RocksDB。无论负责管理密钥的API如何,每个密钥都作为单独的文档存储在DocDB中。DocDB的分片复制/容错分布式ACID事务架构都基于2012年首次发布的Google Spanner设计我们如何在RocksDB上构建高性能文档存储? 提供对DocDB的深入了解。

使用YugaByte DB有哪些权衡取舍?

权衡取决于用作比较基线的数据库类型。

单片SQL

示例:PostgreSQL,MySQL,Oracle,Amazon Aurora。

YugaByte DB的好处

  • 跨多个节点和/或地理区域线性扩展写入吞吐量。
  • 自动故障转移和本机修复。

权衡

  • 事务和JOIN现在可以跨越多个节点,从而增加延迟。

了解更多:Google Spanner架构上的分布式PostgreSQL - 查询层

 

传统的NewSQL

例子:Vitess,Citus

YugaByte DB的好处

  • 跨任意数量的节点的分布式事务。
  • 给定所有节点都没有单点故障。

权衡

  • 没有

了解更多:全球分布式SQL数据库的兴起 - 重新定义云本地时代的事务存储

 

事务性NoSQL

示例:MongoDB,Amazon DynamoDB,FoundationDB,Azure Cosmos DB。

YugaByte DB的好处

  • SQL作为查询的灵活性需要根据业务变化进行更改。
  • 跨任意数量的节点的分布式事务。
  • 考虑到完全避免读取时间的法定人数,低延迟,高度一致的读取。

权衡

  • 没有

了解更多:为什么NoSQL数据库成为交易?

 

最终一致的NoSQL

示例:Apache Cassandra,Couchbase。

YugaByte DB的好处

  • SQL作为查询的灵活性需要根据业务变化进行更改。
  • 强大的一致性,零数据丢失写入。
  • 强大的一致性和时间线一致性读取,而不依赖于最终的一致性相关惩罚,如读取修复和反熵。

权衡

  • 在领导者选举期间,所有分片领导者在节点故障或网络分区期间丢失的时间极短。

了解更多:Apache Cassandra:可调整一致性,轻量级事务和二级索引背后的真相

 类似资料: