我遇到了如下问题:
XYZ网站需要显示一个包含所有食谱列表的页面,并且当用户单击每个食谱时,他们希望显示包含其成分的“食谱”页面。他们还希望用户进一步单击每种成分,并查看链接到该成分的所有食谱。
当前,配方数据以CSV形式从旧系统作为提要接收。 CSV数据看起来像这样
食谱ID,食谱名称,描述,成分,有效日期,更新日期,创建日期
1,意大利面,意大利面,番茄酱,正确,2018-01-09 10:00:57,2018-01-10 13:00:57
1,意大利面,空,奶酪,正确,2018-01-09 10:10:57,2018-01-10 13:00:57
2,千层面,分层千层面,奶酪,真实,2018-01-09 10:00:57,2018-01-10 13:00:57
2,千层面,分层千层面,蓝纹奶酪,假,2018-01-09 10:00:57、2018-01-10 13:00:57…。
Assume that this CSV is consume every 1 hour with 1TB of data You are asked to:
我的问题是 哪种存储系统(HBASE,Cassandra,Redis等)最适合这种情况? 任何数据模型的帮助将不胜感激。
非常感谢, 卡维
答案 0 :(得分:0)
Redis是一个内存数据库,这意味着您至少需要1TB以上的RAM才能存储数据集。这并不便宜,对于您的用例来说可能算是过高了。
Cassandra是简单键值的理想选择,可以读取您描述的繁重工作量。
CREATE TABLE recipe (
id int PRIMARY KEY,
name text,
description text,
ingredients list <text>,
active boolean,
updated_date timestamp,
created_date timestamp
);