Apache spark NoSQL数据模型及存储系统设计
我遇到了如下问题场景: XYZ网站需要显示一个包含所有配方列表的页面,当用户单击每个配方时,他们希望显示包含其配料的配方页面。他们还希望用户进一步点击每种配料,查看所有与该配料相关的食谱 目前,配方数据以CSV的形式从遗留系统作为提要接收。CSV数据如下所示 配方id、配方名称、说明、成分、活性、更新日期、创建日期 意大利面,意大利面,番茄酱,真的,2018-01-09 10:00:572018-01-10 13:00:57Apache spark NoSQL数据模型及存储系统设计,apache-spark,cassandra,nosql,hbase,Apache Spark,Cassandra,Nosql,Hbase,我遇到了如下问题场景: XYZ网站需要显示一个包含所有配方列表的页面,当用户单击每个配方时,他们希望显示包含其配料的配方页面。他们还希望用户进一步点击每种配料,查看所有与该配料相关的食谱 目前,配方数据以CSV的形式从遗留系统作为提要接收。CSV数据如下所示 配方id、配方名称、说明、成分、活性、更新日期、创建日期 意大利面,意大利面,番茄酱,真的,2018-01-09 10:00:572018-01-10 13:00:57 1,意大利面,无,奶酪,真,2018-01-09 10:10:5720
1,意大利面,无,奶酪,真,2018-01-09 10:10:572018-01-10 13:00:57 千层面,分层千层面,奶酪,真的,2018-01-09 10:00:572018-01-10 13:00:57
千层面,分层千层面,蓝奶酪,假,2018-01-09 10:00:572018-01-10 13:00:57
Assume that this CSV is consume every 1 hour with 1TB of data You are asked to:
KaviRedis是一个内存数据库,这意味着您需要至少>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
);
创建表格配方(
id int主键,
名称文本,
说明文字,
配料表,
主动布尔,
更新日期时间戳,
创建日期时间戳
);