gpt4 book ai didi

mysql - 预约系统适合Amazon DynamoDB/NoSQL吗?

转载 作者:行者123 更新时间:2023-11-29 06:32:27 26 4
gpt4 key购买 nike

我正在研究基本的餐厅预订系统,并考虑在这个项目中使用 Amazon DynamoDB。话虽如此,我什至不确定 DynamoDB 是否适合这样的事情,或者我是否应该坚持使用 MySQL RDS,因为某些查询可能非常复杂。

我需要的功能:

用户将提交包含日期、时间和聚会人数的“找 table ”表格。

  1. 检查RESTAURANT 表是否允许日期和聚会规模。
  2. 检查 BLOCKED 表中的阻止日期(节假日和其他关闭)
  3. 检查 HOURS 表,确保餐厅正常营业。
  4. 根据派对人数检查TABLEINFOANDRESERVATION 表进行比较,确保该表尚未为其他客人保留同时

关于 DynamoDB 数据库设计,尤其是 hash & range 用于类似这样的事情,有什么建议或技巧吗?

或者您认为 MySQL 数据库更适合这种应用程序?

这是一个快速的数据库设计,可以让您更好地了解我要做什么。

Reservation Schema

最佳答案

我在关系数据库方面做了很多工作,在 NoSQL 数据库方面也做了一些工作(只是让你知道我来自哪里)。恕我直言,NoSQL 数据库最适合满足一个或多个条件的场景:

  1. 数据基本上是平坦的(没有很多关系,几乎像旧的平面文件)
  2. 有一个明确的“父”类型记录与“ child ”足够小/访问频率足够高的记录 parent 证明将它们正确嵌入记录中是合理的。
  3. 你需要在合理范围内自由添加/填充字段。我喜欢这样想就像继承一样,表中的每个项目都有一些共同点traits (ID, Name),但不同的记录可能有不同的特质。例如,在线产品目录可能包含书籍、自行车和 MP3 歌曲。 “书”项的记录将具有ISBN、页数、作者等内容。“自行车”可能有车轮尺寸和颜色,“MP3”会有长度、艺术家、流派、等等。你永远不会在一个“项目”表中得到所有这些东西RDS 没有严重的重载或留空字段。 ANoSQL 数据库将允许您将所有这些信息存储在表,并且仅用于需要它的项目。

您当然可以使用 Dynamo 的索引功能来构建包含在您的问题中的架构,但您会尝试让 NoSQL 数据库像 RDS 一样工作。

就是说:我自己会先尝试使用 Dynamo 作为学习经验。 :)

关于mysql - 预约系统适合Amazon DynamoDB/NoSQL吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27095956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com