0

我正在开发一个数据存储应用程序。所有复制、路由和数据检索类型的业务都在我的应用程序中处理。到目前为止,数据都存储在内存中。现在,我想使用 Cassandra 存储引擎将数据从内存刷新到硬盘。我不确定这是否是正确的方法。

我的问题:我可以只使用 Cassandra 数据存储引擎吗?我不想将 Cassandra 用作整个系统(在这种情况下,我应该为每个节点运行一个独立的 Cassandra,并且我的应用程序就像是clientCassandra 一样。这个想法会在节点上放置很多,因为它在我的应用程序和存储引擎)。

我有自己的复制、环和路由代码。我只需要 Cassandra 的节点上存储设施。

4

1 回答 1

1

Cassandra 开发人员并没有竭尽全力让 Cassandra 作为嵌入式库而不是独立产品使用变得容易。与非常容易嵌入的 Apache Derby 相比。但有可能做到;我已经这样做了,这不是一项艰巨的任务。

您必须研究源代码才能找到所需的位。我不知道您感兴趣的具体位,但要找到它们,您必须了解使用这些位但您不直接感兴趣的代码的某些部分。

为了提供方便的 API 并提供配置接口,您可能必须用修改后的版本替换一些 Cassandra 类。如果没有良好的构建和版本控制系统,这是不切实际的。我使用 Maven 进行构建,发现它的 Shade 插件有助于创建一个 JAR,该 JAR 包含大多数但不是全部的 Cassandra 类,并选择性地替换了一些类。

于 2013-10-23T06:58:20.753 回答