KaK*_*aKa 5 key-value cassandra nosql redis riak
我们有key-multipleValues的数据.每个密钥可以有大约500个值(每个值大约为200-300个字符),这些密钥的数量将大约为1000万.主要操作是检查给定键的值.
我一直在使用mysql,我有两个选项:每个键值一行,每个键一行,文本字段中包含所有值.但这些对我来说似乎并不高效,因为第一个模型有很多行,冗余和第二个模型文本字段将变得非常大.
我正在考虑使用nosql数据库为此目的,我以前使用mongodb,我不认为它适合我目前的情况.基于keyvalue或基于列系列的nosql db会更好.它不需要分发.使用riak,redis,cassandra等的人分享你的想法.
谢谢
从您的描述来看,某种键值存储似乎更适合您比较关系数据库。
数据本身看起来是非关系型的,为什么要存储在关系型存储中呢?使用像 Cassandra 这样的东西似乎是有效的。
我认为要存储的数据的典型数据结构是列族,其中键作为行键,列作为值。
MyDATA: (ColumnFamily)
RowKey=>Key
Column1=>val1
Column2=>val2
...
...
ColumnN=valN
Run Code Online (Sandbox Code Playgroud)
数据看起来像(JSON 表示法):
MyDATA (CF){
[
{key1:[{val1-1:'', timestamp}, {val1-2:'', timestamp}, .., {val1-500:'', timestamp}]},
{key2:[{val2-1:'', timestamp}, {val2-2:'', timestamp}, .., {val2-500:'', timestamp}]},
...
...
]
}
Run Code Online (Sandbox Code Playgroud)
希望这有帮助。