我正在使用单个RDBMS处理预订系统。该系统具有多个特征(属性)的单位(产品),如:位置,大小[m2],有海景,有空调...... 最重要的是,它的定价与不同时期的价格,例如1/1/2018 - 1/4/2018 - > 30美元......此外,还有自己的时间段为1/8/2017 - 1/20/2018 ...可用性与容量相同。 每个价格都有自己的类型:每人,每次入住,每件......有不同年龄段的限制,加床,... 我们正在讨论10万个潜在单位。最终用户可以要求搜索几个国家的所有单位,对于两个成人和3岁和7岁的孩子,期间为1/1/2018 - 1/8/2018,其中2个房间有一张特大号床和一个单人床+一张加床。此外,可以存在由规则引擎处理的其他规则。
在经典方法中,过滤将在几次迭代中完成,试图在每次迭代中尽可能地消除。可以使用半结果来完成几个表,当通过管理更改某些内容时,这些表必须与每个更改同步。
最近我读到了Hadoop和Storm,它们具有高度可扩展性并提供并行性。我想知道这种技术是否适合解决所描述的问题。主要思想是编写“一种方法”来验证每个单元,如果满足给定的过滤器搜索。后来这个函数很容易用额外的逻辑扩展。每个集群都可以承担自己的负载部分。如果有10个集群,则每个集群可以处理10k个单元。 在Cloudera教程中,有一个时刻,使用Sqoop,来自RDBMS的内容已经转移到HDFS。这个过程需要一些时间,因此它似乎不是解决这个问题的好方法。鉴于问题是高度确定性的,它需要立即同步并使用新数据进行操作。也许在一些流媒体服务中使用并行并写到HDFS和RDBMS?你推荐一些像Storm这样的技术吗? 什么是可能的架构,起点,以满足解决这个问题的所有要求。
如果此问题对网站不合适,请指出我正确的方向。