【问题标题】:SQL vs. NoSQL for medium complexity search systems [closed]中等复杂度搜索系统的 SQL 与 NoSQL [关闭]
【发布时间】:2018-11-02 14:39:20
【问题描述】:

我们即将开始开发一个调度系统,我们有动力从 PHP 迁移到后端的 Node,所以从 MySQL 迁移到 MongoDB(或类似的东西)也是有意义的,我不是非常技术人员,但我正在努力帮助我的团队在这里做出选择。该系统的所有功能似乎都可以用于任一数据库,但有一种特殊情况引起了我对性能的担忧:

假设我的基地有几位医生,每位医生都有他们的专业和诊所位置,以及他们在这个系统上工作的时间跨度。他们也已经安排了一些约会,安排在几周内的分散时间。

一位用户填写搜索表单:

  • 他们的地理定位 (x,y);
  • 搜索半径(例如:10 英里);
  • 需要专业知识(例如:皮肤科医生);
  • 所需时间(例如:上午 11 点);

对于我的老派思维,这种搜索对于关系数据库似乎没问题,但对于非关系数据库来说需要做很多工作,因为它们的可用性将在每个医生的“JSON”中,而不是在特定的外部“表”中' 用于调度。

我的担忧有意义吗?

【问题讨论】:

    标签: mysql mongodb nosql mean-stack


    【解决方案1】:

    您可以使用SQLNoSQL 数据库来实现所需的结果。但你所说的项目更多的是关系设计。示例:- 医生可以访问多个诊所。患者也与诊所和医生有关。在这种情况下,最好的解决方案是混合方法,您的主数据库应该是关系数据库,对于读取操作,如果需要,您可以插入 NoSQL 数据库,如 MongoDB

    【讨论】:

      【解决方案2】:

      @Rafael Souza

      您应该使用关系模式设计。

      如果您使用 NoSQL,那么在我们的例子中,我想传达以下几点

      1. NoSQL 不会被充分利用。
      2. 开发人员必须学习 NoSQL 及其框架。
      3. 与 NOSQL 相比,SQL 问题有一个庞大的论坛。
      4. 数据库存储大小不会很大,所以 SQL 应该会很好。
      5. 这里需要管理医生和诊所之间的关系,这在 SQL 中最适合。

      我应该说不要使用混合方法,因为它会给您的设计带来开销,任何数据库类型都可以单独处理所有功能。

      【讨论】:

        猜你喜欢
        • 2018-03-12
        • 1970-01-01
        • 2011-02-03
        • 1970-01-01
        • 1970-01-01
        • 2012-10-10
        • 2013-10-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多