NoSql解决方案存储20[TB]的数据,作为矢量/数组



我需要建立一个系统来有效地存储&维护大量(20 [TB])数据(并能够以"矢量"形式访问它)。以下是我的尺寸:

(1) time (given as an integer of the form YYYYMMDDHHMMSS)

(2) field (a string of any given length, representing a name of a hospital)

(3) instrumentID (an integer representing a uniqueID for the instrument)

我需要一种能够单独存储数据的方法,意思是,像:

STORE 23789.46 as the data for instrumentID = 5 on field = 'Nhsdg' on time = 20040713113500

然而,我需要以下查询来运行FAST: give me all instruments for field 'X' on timestamp 'Y' .

为了构建这些系统,我给了60台双核机器(每台有1GB RAM, 1.5TB磁盘)

关于合适的NoSQL解决方案(理想情况下与python一起工作)的任何建议?

:系统将首先存储历史数据(大约20[TB])。每天我最多添加200[MB]。我只需要一个可以不断扩展的解决方案。我的用例将只是一个简单的查询:give me all instruments for field 'X' on timestamp 'Y'

MongoDB的可扩展性非常好,并且支持RDBMS中常见的许多索引特性,例如复合键索引。您可以对数据中的名称和时间属性使用复合索引。然后,您可以检索具有特定名称和日期范围的所有仪表读数。

[现在在简单的情况下,你只对一个基本查询感兴趣,没有其他的,你可以把名字和时间戳结合起来,调用你的键,这将在任何键值存储中工作…]

HBase是另一个很好的选择。您可以在名称和日期上使用复合行键。

正如其他人提到的,您绝对可以使用关系数据库。MySQL,PostgreSQL当然可以处理负载和表分区在这种情况下也是可取的,因为你处理的是时间范围。您可以使用批量加载(并在加载期间禁用索引)来减少插入时间。

最新更新