yugabytedb - Yugabyte的YCQL和YSQL的区别

标签 yugabytedb

我能得到一些帮助来理解 YSQL 与 YCQL 之间的真正区别吗?根据文档,我了解到 YUGABYTE 的当前底层存储实现是 DOCS DB,并使用 RAFT 进行复制。

基于此,我可以假设 YSQL 与 YCQL 的唯一区别是我们有触发器、存储过程吗?和 SQL 功能在 YSQL 而不是在 YCQL 中?

最佳答案

好问题。计划是随着时间的推移,YSQL 将拥有 YCQL 中的大部分功能,但今天情况并非如此。这是因为要在 YSQL 中实现奇偶校验还有大量工作要做,其中一些工作已经在进行中。

YSQL 特性

YSQL 重用了 PostgreSQL 的上半部分和水平可扩展的下半部分,称为 DocDB。因此,YSQL 将支持所有 PostgreSQL 功能 - 包括存储过程、触发器、公用表表达式、扩展和外部数据包装器(最后一个功能尚未完成)。

YSQL 没有的 YCQL 特性

这是 YSQL 中没有的 YCQL 功能列表。

  • 集群感知:客户端驱动程序集群感知,这意味着客户端只需一个接触点就可以发现集群的所有节点。这些客户端驱动程序还会收到节点添加/删除的通知,因此应用程序不需要负载平衡器来使用分布式集群。正在进行的工作是将此功能作为 jdbc-yugabytedb 的一部分合并到 YSQL 中。项目。

  • 拓扑感知:客户端驱动程序也拓扑感知,这意味着它们会收到有关部署集群的各个节点的区域/区域的通知.他们可以执行操作,例如从最近的区域/数据中心读取数据。

  • 自动数据过期:YCQL 支持使用 TTL 功能使数据自动过期 - 您可以在表或行级别为数据设置保留策略,并自动清除旧数据数据库。

  • 集合数据类型: YCQL支持集合、映射、列表等集合数据类型。请注意,YCQL 和 YSQL 都支持可用于对上述内容建模的 JSONB。

  • Cassandra API 兼容 YCQL 与 Cassandra API 兼容,因此支持 Cassandra 生态系统项目。示例包括 Spark 和 Kafka 连接器、JanusGraph 和 KairosDB 支持等。请注意,虽然这些生态系统集成可以构建在 YSQL 之上,但目前还不存在,这是一个优先级问题。

关于yugabytedb - Yugabyte的YCQL和YSQL的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59485185/

相关文章:

postgresql - 如何使用 COPY 命令从 csv 文件导入 jsonb 列?

database - YugaByte DB SQL API 是否支持数组类型

yugabytedb - 如何使用 YCQL 查询返回特定平板电脑

java - 使用 TIMESTAMP 数据类型创建准备绑定(bind)插入语句

database - Yugabyte DB 中的静态加密如何工作?

database - 如何向现有的 YugaByte DB CE 集群添加一个或多个节点?

database - YugaByte 是否支持地理空间查询?

yugabytedb - 创建Universe后,我们可以修改每个表的tablet/shards数量吗?