0

我对一些 NoSQL 数据库有疑问。例如,在 Ehcache 中有 JCache API,在 MapDB 中有 Map Interface,在 Riak KV 中我们有自己的集群进程。如何准确找出适合哪种实现类型的数据库?例如对于 RocksDB(我假设它是一个进程),对于 LevelDB 也是如此。

4

1 回答 1

0

作为参考,RocksDB 和 LevelDB 执行非常相似的功能,并且在某些情况下可以互换。

鉴于您的问题Is RocksDB and LevelDB just like Riak?,我可以说它们与 Riak 提供的可扩展分布式平台不同,该平台可以同时连接到一个或多个后端数据库(当前支持的后端是 Bitcask、LevelDB、Leveled 和内存)。RocksDB 和 LevelDB 本质上是独立的数据库平台,可以单独使用,也可以被 Riak 等其他软件用作后端。虽然您可以在技术上将 RocksDB 实现为 Riak KV 的后端,而无需大量自定义代码,但您可能不想这样做,因为 RocksDB 不能很好地扩展。

How do I exactly find out which database fits to which implementation type?是一个相当广泛的问题。我认为您可能需要重新措辞,Which databases offer me {my list of desired implementations/functions}?以便社区成员更容易回答。请注意,一些 NoSQL 数据库有多种用途,例如您提到的 Riak KV,我们有 Maps、Sets、GSets、Flags、Registers、Solr Search、2i 和标准 CRDT 选项,但其中一些可能与其他要求相关联例如,2i 仅适用于 LevelDB/Leveled 后端,Solr Search 需要 Riak KV 3.0.0 及更高版本的 Yokozuna 包版本,但内置于所有 Riak 2.xx 版本等。

您可能还想尝试将一些不同的选项下载到虚拟机或裸机设备,试一试,看看效果如何。通常情况下,两种竞争产品在纸面上做的事情非常相似,但在您的特定用例中,一个明显优于另一个。

为了帮助您入门,这里有指向Riak 2.9.8(2.xx 系列的最新版本)和Riak 2.2.6 文档(2.9.x 文档应该在本月晚些时候发布)的链接。

我不确定这是否直接回答了您的问题,但希望它能给您一些关于下一步该去哪里的指示。

于 2021-07-14T07:35:20.733 回答