鉴于 YugaByte 为 Redis 和 Postgres 提供客户端驱动程序,我想知道如果以类似的方式使用两者之间的性能差异。

例如,假设 Postgres 表有 2 列,1 个 VARCHAR 作为主键,1 个 TEXT 列用于数据。对该表执行的唯一查询是 INSERT INTOUPDATESELECT valSELECT EXISTS(...)DELETE FROM ,所有查询都带有 WHERE primary_key_constraint = val 条件。

用法类似于 Redis 操作 SETGETEXISTSDEL

与 Redis 驱动程序相比,Postgres 驱动程序是否会增加这些操作的开销?

最佳答案

这些应该在类似的范围内——但更准确地说,通过 YCQL/YEDIS API 的性能预计会比 YSQL API 更快,主要是因为 YCQL/YEDIS 的客户端驱动程序具有集群/分区意识,并且可以路由直接查询集群中拥有 key 的正确节点。相比之下,原版 Postgres 客户端驱动程序,历史上设计为与单实例数据库对话,不知道表是如何跨多个节点分片的——因此可能会产生额外的节点跃点来处理请求。

此外,对于 YSQL,YugaByte DB 目前没有仅与单分片/单行相关的特殊情况操作,但这是近期路线图。所以这个差距应该很快就会被弥合。

关于database - YugaBytes 性能在 Redis 客户端和 Postgres 客户端之间比较简单的键值模式如何?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54800870/

10-12 12:26