在同一个应用程序中使用NoSQL和关系数据库管理系统是可取的吗?将关系/事务数据管理为关系数据库管理系统和动态数据ito NoSQL,而后者将用于分析?
发布于 2014-08-07 08:07:56
是
您可以在同一个应用程序中同时使用NoSQL和关系数据库管理系统,实际上许多项目都使用相同的方法。
在工作环境中,您在不同的业务实体之间有一个Relation-Mapping,并且大部分是规范化的。因此,在那里使用RDBMS是明智的。虽然有一些NoSQL解决方案,您可以自己处理这些问题,但是您永远不会需要它,就像在NoSQL中一样,您可以将相关数据放在一个大表中,但是在这里,您必须考虑它的结构。在RDBMS的情况下,结构是直接的(主要是规范化的)。
因此,最好在这里使用RDBMS。
现在,在分析的情况下,您应该使用NoSQL,因为内容大多是线性的,您将需要一个“平面结构”。只有一个表具有所有必需的字段。与不同的表相比,这种方法是很好的,因为随着数据的增长,连接会使查询变得非常慢,因此检索数据会很痛苦。虽然在RDBMS中有许多解决方案是由数据库技术中的一些大牌提供的,但我不赞成使用它们。
另外,Analytics是指您正在分析的参数经常发生更改,一个非基于模式的DB可以在很大程度上提高您的生产力。
从个人经验来看:我们使用MSSQL作为站点和分析的主数据库,但随着数据的增长,我们尝试了许多方法,最终决定使用Mongo作为分析数据库,MSSQL作为主数据库。
因此,该项目使用MSSQL进行事务(功能)工作,使用Mongo进行分析。
https://stackoverflow.com/questions/25176600
复制相似问题