我需要建立一个系统来有效地存储&维护大量(20 [TB])数据(并能够以“矢量”形式访问它).这是我的尺寸:
(1)时间(以YYYYMMDDHHMMSS形式的整数)
(2)栏位(任何给定长度的字串,代表医院名称)
(3)instrumentID(代表仪器唯一ID的整数)
我将需要一种能够单独存储数据的方法,这意味着:
将23789.46存储为字段上的instrumentID = 5的数据=时间上的’Nhsdg’= 20040713113500
但是,我需要以下查询来运行FAST:为我提供时间戳“ Y”上字段“ X”的所有工具.
为了构建这些系统,我给了60台双核计算机(每台都有1GB RAM,1.5TB磁盘)
对合适的NoSQL解决方案有什么建议(理想情况下可与python一起使用)?
注意:系统将首先存储历史数据(大约20 [TB]).每天最多只能添加大约200 [MB].我只需要一个可以扩展和扩展的解决方案.我的用例只是一个简单的查询:给我时间戳“ Y”上字段“ X”的所有工具
解决方法:
MongoDB可以很好地缩放并支持许多通常在RDBMS中发现的索引功能,例如compound key indexes.您可以在数据的名称和时间属性上使用复合索引.然后,您可以检索具有特定名称和日期范围的所有乐器读数.
[现在,在最简单的情况下,您只对一个基本查询非常感兴趣,而对其他查询一无所知,则只需组合名称和时间戳并调用您的键,该键就可以在任何键值存储中使用…]
HBase是另一个出色的选择.您可以在名称和日期上使用composite row key.
正如其他人提到的,您绝对可以使用关系数据库. MySQL和PostgreSQL当然可以处理负载,在这种情况下,由于您需要处理时间范围,因此table partitioning也可能是理想的选择.您可以使用批量加载(并在加载期间禁用索引)来减少插入时间.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!