gpt4 book ai didi

orm - 战略问题: Mixing relational and non-relational db?

转载 作者:太空狗 更新时间:2023-10-30 01:42:19 26 4
gpt4 key购买 nike

关于像Cassandra 这样的反革命NoSQL 数据库的讨论很多。 , CouchDB , Hypertable , MongoDB , Project Voldemort , BigTable ,还有更多。就我而言,最强的优点是可扩展性、性能和简单性。

我正在认真考虑建议为我们的下一个项目使用一些非关系数据库。然而,一些团队包含一些 RDBMS 狂热分子,因此在某些情况下,仅仅出于情感原因,说服硬切换可能是不可能的。此外,当谈到复杂的数据模型时,我个人仍然相信 RDBMS 及其低级一致性执行机制的强大功能。

现在我的问题来了:我想知道,是否有人可以认真考虑在新项目中同时使用 RDBMS 非关系数据库:复杂但不是性能关键的数据模型仍然会使用关系模型和数据库来实现,虽然所有性能都至关重要,但简单的模型将使用非关系数据库来实现。此外,这种软性范式转变比硬性范式转变更容易向一些高度情绪化的团队成员推销。

有人会推荐这种方法吗?或者您宁愿推荐黑色或白色,即关系或非关系方法?非常欢迎所有评论!


P.S.:知道这样的混合是否适用于 Spring 和 Hibernate/JPA 吗?

最佳答案

Rob Conery recently wrote关于他构建流行 Web 应用程序的经验 TekPub同时使用 MongoDB 和 MySQL,突出两者的优势:

The high-read stuff (account info, productions and episode info) is perfect for a "right now" kind of thing like MongoDb. The "what happened yesterday" stuff is perfect for a relational system.

在高层次上,Rob 将他们的应用程序数据分为两个范围:运行时数据和历史数据。例如,用户购物车的当前状态非常适合保存在 MongoDB 中。它是一个不断变化的对象 blob。保留进出购物车的历史记录;发生的那一刻;结帐状态非常适合 MySQL 中的关系表格数据。

他总结道:

It works perfectly. I could not be happier with our setup. It's incredibly low maintenance, we can back it up like any other solution, and we have the data we need when we need it.

2016 年 5 月更新(6 年后)

这在过去 6 年里变得更加真实。现在,NoSQL 数据库为事务性存储提供支持,而传统关系数据库为分析数据库提供支持,这种情况很常见。

关于orm - 战略问题: Mixing relational and non-relational db?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3208821/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com