gpt4 book ai didi

java - Cassandra Session vs Cluster 分享什么?

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:19 24 4
gpt4 key购买 nike

思考 Cassandra 的 Session 和 Cluster 类(Java 驱动程序)我想知道有什么区别。在 Hibernate 中,每次都创建一个 session 并共享 session 工厂。

我从许多来源了解到,它被认为是创建一个 session 并在多个线程之间共享它。

我确实觉得这有点古怪。我本以为我会为每个线程或正在进行的操作/任务创建一个 session 。

  • 我这样做有问题吗?
  • 性能影响是什么? session 线程安全吗?
  • 我是否会在较大的结果集上遇到游标问题(或者 cassandra 没有游标?)
  • 假设 Session 是线程安全的是否安全,或者是否存在我应该注意的边缘情况?

最佳答案

在传统的 RDBMS 中, session 通常指的是事务上下文,许多实现都不是线程安全的。同时, session 通常是在某种连接池之上实现的,连接的终止(通过错误)也会终止 session 。

在 Cassandra 中,实际上并没有跨多个调用的事务上下文,因此一旦连接到 keyspacesession 就可以共享并且不需要重新已确立的。此外,驱动程序已经处理了重新连接和连接池,因此 session 不依赖于连接。

最后,针对 session 准备的语句被缓存,重新创​​建 session 效率低下并且必须不断地重新准备语句。

关于java - Cassandra Session vs Cluster 分享什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29971005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com