将多种数据库类型合并到同一个项目中的利弊

时间:2021-03-06 20:02:02

标签: database mongodb cassandra scaling

我开始从事我计划需要扩展的第一个在线项目,因此我选择了 NoSQL DB。对此进行一些阅读并对我的查询外观进行建模,并且我正在考虑使用两个数据库。 Cassandra 似乎是按关键字查找项目的正确选择,但 MongoDB 听起来像是最初输入数据的正确选择,因为它可以以文档形式保留帐户结构。

这个拆分决定让我想知道:有没有大公司使用多种数据库类型来存储不同的项目,就像同时使用 Cassandra 和 Mongo 一样?

我认为扩大规模会更困难,但额外的好处(如果有的话)值得吗?我不是这方面的专家。我希望你是。提前感谢您分享您的经验。

2 个答案:

答案 0 :(得分:1)

Cassandra 可以处理这两种用例,因此您可以将相同的数据库用于您的目的。

Stargate (https://stargate.io/) 是一个开源 API 平台,它通过 REST API、GraphQL API、文档 API 甚至原生 CQL 访问为 Cassandra 提供数据网关。

文档 API 可让您直接从应用中保存和搜索与 Cassandra 之间的无模式 JSON 文档。

您可以在 Astra 免费试用,无需信用卡。只需点击几下,您就可以启动一个预先配置了 Stargate 的 Cassandra 集群,这样您就可以直接使用 Document API 并立即构建一个概念验证应用程序,而无需担心下载/安装/配置 Cassandra 集群。

您甚至可以直接从 Astra 仪表板访问示例应用程序,以便您可以看到 Stargate 的运行情况。有关详细信息,请参阅 Using the Document API on Astra。干杯!

答案 1 :(得分:0)

在同一个项目中使用多种数据库技术现在有些普遍,它被称为“多语言持久性”。

许多人使用这种方法来利用多个系统 - 正如您提到的 Cassandra 适合某些东西,而其他东西(也许 MongoDB)最适合其他东西,因此组合使用可以带来两全其美的优势。< /p>

当您使用多种技术时,扩展、复制和支持的成本可能会更高,因为您需要这两种技术的专业知识才能提供支持。

因此,如果您确实有 Cassandra 不是一个好的选择的用例,并且您有一些 Cassandra 是最佳选择的主要用例,那么是的,如果您准备好接受麻烦,那么使用两个数据库可能是最佳选择支持两个系统。

相关问题