如何存储映射表 - lucene或DB?

时间:2015-01-16 12:35:04

标签: java database indexing lucene

我想在id和两个文本属性之间存储大型映射表。 数据集最多可达100万条记录并每日刷新。

您是希望通过该ID创建lucene索引和索引表吗?或者创建一个id为主键的database(postgres)表?甚至是一个不同的解决方案?

为什么人们更喜欢这两种解决方案呢?

我只想通过ID查找,没有反向查找。映射表应该很简单:输入一个id,然后返回两个字符串属性。

1 个答案:

答案 0 :(得分:1)

您正在寻找的内容似乎是Key-value store (wikipedia article)

  

键值(KV)存储使用关联数组(也称为地图)   或字典)作为他们的基本数据模型。在这个模型中,数据是   表示为键值对的集合,例如每个   可能的密钥在集合中最多出现一次。

     

键值模型是最简单的非平凡数据模型之一,   并且通常在其上实现更丰富的数据模型。该   键值模型可以扩展到维护的有序模型   按字典顺序键。这个扩展是强大的,因为它   可以有效地处理关键范围。

     

键值存储可以使用最终的一致性模型   可串行性的一致性。有些支持键的排序。一些   将数据保存在内存(RAM)中,而其他人则使用固态驱动器   或旋转磁盘。

那里的文章还给出了一个相当完整的可用实现列表。不幸的是,我不能建议你实现其中一个,因为我没有在生产中使用任何这些。但我坚信谷歌充满了关键值商店的比较。

为了回答你的问题,我不会选择Lucene,因为它是一个开源信息检索软件库,旨在实现信息检索应用程序。你要做的不是打击Lucene的甜蜜点。

经典的RDBMS更接近您的要求。但如上所述,Key-value商店会指出它。