我想在id
和两个文本属性之间存储大型映射表。
数据集最多可达100万条记录并每日刷新。
您是希望通过该ID创建lucene
索引和索引表吗?或者创建一个id为主键的database
(postgres)表?甚至是一个不同的解决方案?
为什么人们更喜欢这两种解决方案呢?
我只想通过ID查找,没有反向查找。映射表应该很简单:输入一个id,然后返回两个字符串属性。
答案 0 :(得分:1)
您正在寻找的内容似乎是Key-value store (wikipedia article)
键值(KV)存储使用关联数组(也称为地图) 或字典)作为他们的基本数据模型。在这个模型中,数据是 表示为键值对的集合,例如每个 可能的密钥在集合中最多出现一次。
键值模型是最简单的非平凡数据模型之一, 并且通常在其上实现更丰富的数据模型。该 键值模型可以扩展到维护的有序模型 按字典顺序键。这个扩展是强大的,因为它 可以有效地处理关键范围。
键值存储可以使用最终的一致性模型 可串行性的一致性。有些支持键的排序。一些 将数据保存在内存(RAM)中,而其他人则使用固态驱动器 或旋转磁盘。
那里的文章还给出了一个相当完整的可用实现列表。不幸的是,我不能建议你实现其中一个,因为我没有在生产中使用任何这些。但我坚信谷歌充满了关键值商店的比较。
为了回答你的问题,我不会选择Lucene,因为它是一个开源信息检索软件库,旨在实现信息检索应用程序。你要做的不是打击Lucene的甜蜜点。
经典的RDBMS更接近您的要求。但如上所述,Key-value商店会指出它。