概念数据建模
首先,让我们创建一个简单的域模型,它在关系世界中易于理解,然后看看如何将它从关系模型映射到 Cassandra 中的分布式哈希表模型。
让我们使用一个足够复杂的示例来展示各种数据结构和设计模式,但不会让您陷入细节。此外,一个每个人都熟悉的域将使您能够专注于如何使用 Cassandra,而不是应用程序域本身。
例如,让我们使用一个易于理解且每个人都能理解的域:预订酒店。
概念域包括酒店、入住酒店的客人、每个酒店的房间集合、这些房间的房价和可用性以及为客人预订的预订记录。酒店通常还维护一个“兴趣点”集合,这些兴趣点是公园、博物馆、购物中心、纪念碑或酒店附近的其他地方,客人可能希望在住宿期间参观。酒店和兴趣点都需要维护地理位置数据,以便它们可以在地图上找到以进行混合,并计算距离。
概念域使用 Peter Chen 推广的实体关系模型在下图中描绘。这个简单的图表用矩形表示域中的实体,用椭圆表示这些实体的属性。表示项目唯一标识符的属性带下划线。实体之间的关系用菱形表示,关系和每个实体之间的连接器显示连接的多重性。
显然,在现实世界中,会有更多考虑因素和更复杂的情况。例如,酒店房价非常动态,计算它们涉及各种因素。在这里,您定义了一些足够复杂的东西,既有趣又触及了重要点,但又足够简单,可以将重点放在学习 Cassandra 上。
资料摘自 Cassandra,权威指南。由 O’Reilly Media, Inc. 出版。版权所有 © 2020 Jeff Carpenter、Eben Hewitt。保留所有权利。经许可使用。