预订系统是否适用于Amazon DynamoDB / NoSQL?

编程入门 行业动态 更新时间:2024-10-26 10:33:41
本文介绍了预订系统是否适用于Amazon DynamoDB / NoSQL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

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

I'm working on basic restaurant reservation system and was thinking about using Amazon DynamoDB for this project. That being said, I'm not even sure if DynamoDB is suitable for something like this or if I should stick to MySQL RDS since some of the queries may be quite complex.

我需要的功能:

用户将提交 查找表表格

  • 检查 RESTAURANT 表是否有日期和聚会甚至允许大小。
  • 检查 BLOCKED 表中是否有被阻止的日期(假日和其他休馆期)
  • 检查 HOURS 表,以确保餐厅甚至营业。
  • 检查 TABLEINFO 表是否基于聚会人数和的表与 RESERVATION 的表进行比较,确保该表在同一时间未为其他客人保留时间
  • Check RESTAURANT table if date and party size is even allowed.
  • Check BLOCKED table for blocked dates (holidays and other closures)
  • Check HOURS table making sure the restaurant is even open.
  • Check TABLEINFO table for a table based on party size AND compare with RESERVATION table making sure the table is not already reserved for another guest during the same time
  • 关于 DynamoDB 数据库设计的任何建议或技巧,尤其是 hash&范围用于这样的事情?

    Any suggestions or tips on the DynamoDB database design especially hash & range use for something like this?

    还是您认为 MySQL 数据库更适合此类应用?

    Or do you think MySQL database is better suited for this kind of app?

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

    This is a quick DB design to give you better idea what I'm trying to do.

    推荐答案

    我在关系数据库方面做了很多工作,在NoSQL数据库方面也做了很多工作(只是您知道我来自哪里)。恕我直言,NoSQL数据库最适合一个或多个为真的情况:

    I've done a lot with relational databases, and a bit with NoSQL databases (just so you know where I'm coming from). IMHO, NoSQL databases are best suited to scenarios where either one or more are true:

  • 数据基本上是平坦的(关系不多) ,几乎就像个旧的平面文件)
  • 有一个明确的父类型记录,其中包含子 记录,这些记录足够小/可以通过以下方式频繁访问父母证明将它们正确地嵌入记录中是合理的。
  • 您需要个自由来在原因范围内添加/填充字段。我喜欢将其视为,就像继承一样,表中的每个项目都具有一些常见的特征(ID,名称),但是不同的记录可能具有不同的特征。例如,在线产品目录中可能包含书籍,自行车和MP3歌曲。 书籍项目的记录中包含之类的内容,例如ISBN,页数,作者等。自行车可能具有轮子尺寸和颜色,而 MP3则具有长度,艺术家,流派,等。如果没有严重的重载或将字段留空,您将永远不会在 RDS的项目表中获得所有这些内容。 NoSQL数据库将允许您将所有这些信息存储在表中,并且仅用于需要它的项目。
  • 您绝对可以使用Dynamo的索引编制功能来构建问题中包含的架构,但是您将试图使NoSQL数据库像RDS一样发挥作用。

    You can definitely build the schema you include with your question using the indexing abilities of Dynamo, but you'd be trying to make a NoSQL database act like a RDS.

    那是说:我本人将首先与Dynamo一起尝试这种学习体验。 :)

    That said: I myself would try it with Dynamo first as a learning experience. :)

    更多推荐

    预订系统是否适用于Amazon DynamoDB / NoSQL?

    本文发布于:2023-11-27 08:43:30,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1637333.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:适用于   系统   Amazon   DynamoDB   NoSQL

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!