当前位置: 首页 > 知识库问答 >
问题:

在 Azure CosmosDB Cassandra API 中设置读取操作的一致性级别

郑博
2023-03-14

我正在编写一个连接到Microsoft Azure CosmosDB中的Cassandra数据库的Java应用程序。根据文档页面:https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-manage-consistency,cosmosdb具有设置读取操作的一致性级别的选项。然而,我无法找到在使用针对cassandra的SQL API时如何做到这一点的示例。我正在扩展Microsoft提供的示例https://github.com/Azure-Samples/azure-cosmos-db-cassandra-java-getting-started.该示例使用datastax驱动程序cassandra。

可以使用这个驱动程序设置一致性级别吗?

共有1个答案

潘凯
2023-03-14

在您提供的源代码中找不到有关一致性设置的任何信息。实际上,Azure Cosmos DB的Cassandra API一致性级别的机制与其他cosmos db api(如SQL api,Gremlin api等)不同。

请阅读此链接中的声明。

当使用Azure Cosmos DB的Cassandra API时:

    < Li > Apache Cassandra的写入一致性级别映射到您的Azure Cosmos帐户上配置的默认一致性级别。 < li>Azure Cosmos DB会将Cassandra客户端驱动程序指定的读取一致性级别动态映射到读取请求时动态配置的Azure Cosmos DB一致性级别之一。

所以,根据我的理解,cosmos db的一致性并不会干扰你的驱动的原始一致性设置,而是根据下表进行映射:

您可以参考此链接设置与DataStax驱动程序的一致性。

 类似资料:
  • 有人能帮助我如何通过datastax.cassandraconnector设置一致性吗?

  • 在ElasticSearch文档中,它指定在索引时可以设置一致性级别。 https://www.elastic.co/guide/en/elasticsearch/client/net-api/1.x/bulk.html 然而,在NEST客户端的最新版本中,这一点已被删除(破坏性更改)。 有没有一种新的方法可以做到这一点,因为文档中似乎没有任何关于创建索引或索引数据的内容。这些文档只包含查询和聚合

  • 想象一个电子商务应用程序: 假设我有三个并且我的一致性级别(CL)很弱:即 我有一个产品表,例如 这是跨三个节点同步的初始数据 > 现在,客户端A从N1读取信息,客户端B从N2读取信息 客户端1看到1台计算机可用 客户端 2 看到 1 台计算机可用 他们现在都去购买客户A先下订单。所以N1,表格如下所示: 现在客户端 2 下订单,因此在 N2 处,表将如下所示: 但实际上客户2的订单不应该被处理。

  • 使用CQRS和事件存储,微服务之间的编排提供了最终的一致性,其中一个微服务中的更改需要一点时间传播到其他相关的下游系统(本质上是其他微服务)。如果数据非常关键,以至于两个微服务都应该具有很强的数据一致性,那么有什么选择呢?我能想到的一个选择是像数据网格那样的直写缓存,但这非常脆弱,特别是在分布式系统中。

  • 问题内容: 鉴于Python的动态性,如果无法实现,我会感到震惊: 我想更改的实现。 我试图简单地写成这样: 但这告诉我。 这是防止我做可能(可能)愚蠢的事情的好尝试,但是我真的很想继续做下去。我怀疑解释器有某种可以修改的查找表,但我在Google上找不到类似的表。也不起作用- 它返回了与只读属性完全相同的错误。 我很想寻找一个Python 2.7解决方案,如果那很重要的话,尽管没有理由拒绝抛出适

  • 问题内容: 如何在Swift中设置自定义UIBarButtonItem的操作? 以下代码将按钮成功放置在导航栏中: 现在,我想在触摸按钮时打电话。到目前为止,我的努力: 和.. 和.. 请注意,它出现在智能感知中,但不起作用。 谢谢你的帮助。 编辑:为后代,以下作品: 问题答案: 从Swift 2.2开始,针对编译时检查的选择器有一种特殊的语法。它使用语法:。 Swift 3及更高版本: 如果不确