我是NoSQL的新手,正在努力寻找最适合我正在构建的应用程序的NoSQL实现方式。
我的Java应用程序需要一个内存中的哈希表,其中包含数百万到数十亿个条目,因为它模拟了一个单层神经网络。现在我们正在使用Trove,以便能够使用基元作为键和值来减小映射的大小并增加访问速度。该映射是一个映射的映射,其中外部映射的键是长整型,而内部映射具有长整型/浮点型键/值。
我们需要能够在应用程序启动时从磁盘读取保存的状态到映射的映射中。对映射的更改也需要连续或按照某个预定间隔保存到磁盘。
我最初被OrientDB的文档和对象数据库所吸引,但目前我仍不确定哪个更好。然后我发现了Redis,它是一个键值存储,并使用可转储到磁盘的内存数据集,包括主从复制。然而,它似乎不能将映射的值设置为非字符串类型。
我正在寻找解决方案,是否在正确的地方?目前,我喜欢Redis的内存和主从复制方面,但我喜欢OrientDB的对象/文档功能,因为我的数据结构比简单字符串复杂,并且使用Trove与基本键/值类型非常有优势。如果读取便宜而写入昂贵,则会更好。
你有什么想法?
我的Java应用程序需要一个内存中的哈希表,其中包含数百万到数十亿个条目,因为它模拟了一个单层神经网络。现在我们正在使用Trove,以便能够使用基元作为键和值来减小映射的大小并增加访问速度。该映射是一个映射的映射,其中外部映射的键是长整型,而内部映射具有长整型/浮点型键/值。
我们需要能够在应用程序启动时从磁盘读取保存的状态到映射的映射中。对映射的更改也需要连续或按照某个预定间隔保存到磁盘。
我最初被OrientDB的文档和对象数据库所吸引,但目前我仍不确定哪个更好。然后我发现了Redis,它是一个键值存储,并使用可转储到磁盘的内存数据集,包括主从复制。然而,它似乎不能将映射的值设置为非字符串类型。
我正在寻找解决方案,是否在正确的地方?目前,我喜欢Redis的内存和主从复制方面,但我喜欢OrientDB的对象/文档功能,因为我的数据结构比简单字符串复杂,并且使用Trove与基本键/值类型非常有优势。如果读取便宜而写入昂贵,则会更好。
你有什么想法?