问题标签 [pelops]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1036 浏览

java - 使用 Pelops 客户端连接到 Cassandra 数据库的有效方法

我正在做一个我需要使用的项目Cassandra Database。我有一个示例程序,可以将数据填充到Cassandra database. 我正在使用Pelops client它。

所以现在我正在考虑创建一个Singleton classforCassandra database来建立连接Cassandra database,然后我将使用该实例从Singelton classCassandraDAO的实例插入到 Cassandra 数据库并从 Cassandra 数据库中检索数据。

下面是我迄今为止构建的 Singleton 类,它将连接到 Cassandra 数据库-

问题陈述:-

我对上面的代码几乎没有疑问。

  1. 首先,我应该setSeeds在上面的课程中使用方法做什么?任何指示或示例都会有很大帮助。
  2. 其次,我不确定在创建单例类时这是否是正确的方法?我想知道管理与 pelops 客户端的集群连接的最佳方法是什么。
  3. 而且,addPool在我上面的代码中使用方法的最佳方式是什么?我想,我也搞砸了那里的东西?当我不断看到不同addPool的方法Pelops class?所以我应该记住哪种方法,因为我将在生产环境中运行它。

在上面的 Singleton 类准备好之后,我打算在我的DAO代码中使用上面的类,就像这样-

Mutator mutator = Pelops.createMutator(CassandraConnection.getInstance().getPoolName()); mutator.writeColumns(other data inside);

然后也执行选择器以检索数据。

仅供参考,我正在与Cassandra 1.2.3and合作Scale 7 pelops client

任何帮助将不胜感激。提前致谢。

更新代码:-

下面是我更新的代码。

仅供参考,就我而言,我将有两个集群,每个集群有 12 个节点。

任何人都可以看看,让我知道我得到了正确的一切吗?谢谢您的帮助。

0 投票
1 回答
216 浏览

java - 从 Cassandra 数据库获取指定的列数据,而不是所有列数据

我正在使用 Cassandra 数据库。我创建了一个列族,其中有 10 列。

现在我有兴趣只检索我需要的列。我不需要从 Cassandra 数据库中检索所有列值。

假设我的列族中有以下列users

我只需colA and colB要从 Cassandra 数据库中获取数据。那我该怎么办?我不想从 Cassandra 获取所有列数据,然后循环获取所需的列。

就像是-

SELECT colA, colB from table1;

我正在与Pelops client.

下面是我的代码。

0 投票
1 回答
429 浏览

java - 两个集群,每个集群有 12 个节点——Cassandra 数据库

我已经开始研究我正在使用的项目Cassandra database

我们的生产 DBA 已经设置好two cluster,每个集群都有12 nodes.

我将使用Pelops client从 Cassandra 数据库中读取数据。现在我正在考虑使用创建集群时应该添加多少个节点来创建Cluster类的最佳方法是什么?Pelops clientPelops

pelops client我的理解是使用all创建集群,24 nodes因为我将有两个集群,每个集群有 12 个节点?这是正确的做法吗?

如果不是,那么我们如何决定在使用 Pelops 客户端创建集群时应该添加哪些节点(来自每个集群)?

谁能帮我解决这个问题?

任何帮助将不胜感激。

0 投票
5 回答
26368 浏览

java - Cassandra 客户端 Java API

我最近开始使用 Cassandra 数据库。现在我正在评估Cassandra client我们应该继续前进的过程。

我在 stackoverflow 上看到过各种关于 Cassandra 使用哪个客户端的帖子,但没有一个给出非常明确的答案。

我的团队要求我对此进行一些研究,并在 Java 中pros and cons为每一个提出一些建议。Cassandra Client API’s

正如我所提到的,我最近参与其中,Cassandra所以不太了解为什么某些人会选择Pelops client以及为什么某些人会与Astyanax其他一些客户一起去。

我了解每个 Cassandra 客户端的简要情况,我的意思是我能够完成这项工作并开始读取和写入 Cassandra 数据库。

以下是我目前掌握的信息。

卡桑德拉·阿皮斯

  • Hector (Production-Ready)
    最稳定的 Java API,为黄金时段做好准备。

  • Astyanax (The Up and Comer)
    来自 Netflix 的一个干净的 Java API。它不像赫克托那样广泛使用,但它很坚固。

  • Kundera (The NoSQL ORM)
    JPA 兼容,当您想通过对象与 Cassandra 交互时,这很方便。
    这在某种程度上限制了您,因为您将无法拥有动态数量的列/名称等。但它确实允许您通过 ORM 移植,或将存储集中到 Cassandra 上以用于更传统的用途。

  • Pelops
    我只简单地使用过 Pelops。这是一个直截了当的 API,但似乎没有它背后的动力。

  • PlayORM(没有约束的 ORM?)
    我刚刚听说过这个。看起来它试图通过引入 JQL 来解决传统的基于 JPA 的 ORM 和 NoSQL 之间的阻抗不匹配。看起来很有希望。

  • Thrift (Avoid Me!)
    这是“低级”API。

以下是我们在决定时的优先事项Cassandra Client-

  • 首要任务是:低延迟开销、异步 API 和生产环境的可靠性/稳定性。
    (例如,可以在包装客户端的 DAL 中拥有更加用户友好的 API)。
  • 连接池和分区感知是其他一些不错的功能。
  • 能够检测到添加的任何新节点。
  • 良好的支持(正如下面的院长所指出的)

任何人都可以提供一些想法吗?每个人的任何利弊以及Cassandra Client哪些客户可以满足我的要求也将有很大帮助。

我相信,主要是我将围绕Astyanax client or New Datastax client that uses Binary protocol我猜想基于我到目前为止的研究。但是没有特定的信息来支持我的研究并将其呈现给我的团队。

Astyanax 客户端和 New Datastax 客户端(使用新的二进制协议)之间的任何比较都会有很大帮助。

这将对我的研究有很大帮助,并且会从过去使用过不同客户的不同人那里获得很多关于这方面的知识。

0 投票
1 回答
102 浏览

java - 从 Pelops 客户端读取数据并对读取操作进行基准测试

我正在尝试从Cassandra database使用中读取数据Pelops client。我能够成功地做到这一点。

现在我已经开始做benchmarking,这意味着从 Cassandra 数据库读取需要多少时间。所以我benchmarking code在下面的代码中添加了我的。

现在我不确定我是否benchmarking code在正确的位置添加了我的来测量Cassandra database使用的读取延迟Pelops client

下面是我的代码-

任何人都可以看看,让我知道我是否做得对吗?

0 投票
1 回答
137 浏览

java - 如何使用 Pelops 客户端每个节点与 Cassandra 数据库建立 40 个连接?

默认情况下Pelops will have 20 connections per node-

我正在考虑将其修改为40 connections per node. 那么我怎么能在 Pelops 中做到这一点呢?目前,我正在创建这样的池-

谁能为此提供一个示例,以便我可以将其修改为每个节点保持 40 个连接?谢谢您的帮助。

更新代码:-

我不确定我在上面做的是否正确?让我知道它是否正确。

0 投票
1 回答
259 浏览

java - 使用 Kundera (Pelops - JPA) 检索子关系 Cassandra 的对象

在使用 JPA 注释 OneToOne/OneToMany 从 Cassandra 检索数据时,我们得到一个空对象(参见下面的示例,其中“item”为空)。

如果我们直接访问“ProductOptionValue”,它会完美加载。看到它正确加载(因此,我们认为这是加载的级别限制)。

我们使用以下注释来关联对象。