Database 一起使用NoSQL和RDB
是否建议在同一应用程序中使用NoSQL和RDBMS?将关系/事务数据管理到RDBMS和NoSQL中的动态数据,以及用于分析的后者 是 您可以在同一个应用程序中同时使用NoSQL和RDBMS,事实上许多项目使用相同的方法 在工作环境中,您的业务的不同实体之间有一个Database 一起使用NoSQL和RDB,database,nosql,Database,Nosql,是否建议在同一应用程序中使用NoSQL和RDBMS?将关系/事务数据管理到RDBMS和NoSQL中的动态数据,以及用于分析的后者 是 您可以在同一个应用程序中同时使用NoSQL和RDBMS,事实上许多项目使用相同的方法 在工作环境中,您的业务的不同实体之间有一个关系映射,主要是规范化的。因此,建议在那里使用RDBMS。 虽然有一些NoSQL解决方案,您可以自己处理这些问题,但您永远不会需要它,因为在NoSQL中,您可以将相关数据放在一个大表中,但在这里,您必须仔细考虑其结构, 在的情况下,RDB
关系映射
,主要是规范化的
。因此,建议在那里使用RDBMS。
虽然有一些NoSQL解决方案,您可以自己处理这些问题,但您永远不会需要它,因为在NoSQL中,您可以将相关数据放在一个大表中,但在这里,您必须仔细考虑其结构,
在的情况下,RDBMS结构是直接的(主要是标准化的)
因此,最好在这里使用RDBMS
现在,对于分析,您应该使用NoSQL
,因为内容主要是线性的,您需要一个平面结构,只有一个表包含所有必需的字段。中的这种方法可以与不同的表进行比较
,因为随着数据的增长,连接将使查询变得非常慢
,检索数据将是一件非常痛苦的事情,尽管数据库技术中的一些大公司在RDBMS中提供了很多解决方案,但我不赞成使用它们
另外,分析是指您正在分析的参数经常更改的情况。非基于模式的数据库可以在很大程度上提高您的生产率。
从个人经验来看:-我们使用MSSQL作为网站和分析的主数据库
,但随着数据的增长,我们尝试了许多方法,最终决定使用Mongo作为分析数据库
asMSSQL作为主数据库
SO the project uses MSSQL for transaction(functional) working
and Mongo for Analytics
@丁卡塔库尔。我不确定我是否完全同意。RDBMS设计用于连接,如果设计良好,将允许您运行在设计时没有预料到的查询。NoSQL解决方案可能更灵活,但如果您想要运行一种新的查询,而您的文档并不是为处理这种查询而设计的,那么您就有麻烦了。多态解决方案可能非常强大,但你需要小心。我完全同意你的观点,John,但是当你必须进行分析时,你必须进行多个连接来获取所有类型的数据。随着数据的增长,查询变得越来越慢。虽然您可以对表进行水平分区,但这并不容易,因为您必须维护插入和更新,而且使用NoSQL分片技术非常容易。您需要提供更多关于您希望完成的任务、您拥有的数据类型等的详细信息。正如目前所述,这实在太广泛了。