Mysql 针对中等复杂度搜索系统的SQL与NoSQL
我们即将开始开发一个调度系统,我们有动力从PHP迁移到后端的Node,所以从MySQL迁移到MongoDB(或类似的东西)也是有意义的,我不是一个非常技术的人,但我试图帮助我的团队在这里做出选择。该系统的所有功能似乎都适用于任一数据库,但有一种特殊情况引起了我对性能的担忧: 让我们假设我有几个医生在我的基地,每个人都有他们的专业和诊所的位置,还有他们在这个系统上工作的时间跨度。他们也已经有一些预约安排在几周内的分散时间 一个用户在搜索表单中填写以下内容:Mysql 针对中等复杂度搜索系统的SQL与NoSQL,mysql,mongodb,nosql,mean-stack,Mysql,Mongodb,Nosql,Mean Stack,我们即将开始开发一个调度系统,我们有动力从PHP迁移到后端的Node,所以从MySQL迁移到MongoDB(或类似的东西)也是有意义的,我不是一个非常技术的人,但我试图帮助我的团队在这里做出选择。该系统的所有功能似乎都适用于任一数据库,但有一种特殊情况引起了我对性能的担忧: 让我们假设我有几个医生在我的基地,每个人都有他们的专业和诊所的位置,还有他们在这个系统上工作的时间跨度。他们也已经有一些预约安排在几周内的分散时间 一个用户在搜索表单中填写以下内容: 它们的地理定位(x,y) 搜索半径(例
- 它们的地理定位(x,y)李>
- 搜索半径(例如:10英里)李>
- 需要专业化(例如:皮肤科医生)李>
- 所需时间(例如:上午11点)李>
我的担心有什么意义吗?您可以使用
SQL
和NoSQL
数据库实现所需的结果。但是你所说的项目更多的是关系设计。示例:-医生可以访问多个诊所。一名患者不仅与医生有关,还与诊所有关。在这种情况下,最好的解决方案是混合方法,其中主数据库应该是关系型的,对于读取操作,如果需要,您可以插入NoSQL
数据库,如MongoDB
。您可以使用SQL
和NoSQL
数据库实现所需的结果。但是你所说的项目更多的是关系设计。示例:-医生可以访问多个诊所。一名患者不仅与医生有关,还与诊所有关。在这种情况下,最好的解决方案是混合方法,其中主数据库应该是关系数据库,对于读取操作,如果需要,可以插入NoSQL
数据库,如MongoDB
。@Rafael Souza
您应该使用关系模式设计
如果您使用NoSQL,那么在我们的例子中,下面是我想要传达的要点