【问题标题】:Multiple DB Platforms For A Single App单个应用程序的多个数据库平台
【发布时间】:2009-12-15 03:04:25
【问题描述】:

通常可以接受将关系数据存储在像 mysql 这样的 rdbms 中,并将任意关系数据放置在像 neo4j 这样的单独图形数据库系统中吗?一个数据库中引用到另一个数据库的主键呢?或者,另一个例子:当 mysql 是应用程序的主数据库平台时,使用 mongodb 记录数据?

我会考虑将 sphinx 搜索引擎用作由 mysql 填充的全文后端这样的场景,这是实践中可行的可靠示例,但我想听听其他人的想法。

一个示例实现是将与存储在 mysql 中的一段内容相关的实体,以及存储在 neo4j 中的实体之间的深度关系。

【问题讨论】:

    标签: database database-design web-applications


    【解决方案1】:

    根据我的经验,这样做的一些原因是数据仓库,因此一个数据库主要用于报告,而另一个数据库用于实时应用程序的在线处理。另一个原因是两个相关的系统可能会连接起来(比如 SQL Server 中的连接服务器)。

    如果您有两个单独的产品,则可能难以维护或链接。可能是错的,因为我对这些产品不太了解,但在我看来,mysql 中的关系更容易开发。但是,如果您有绘图等特殊需求,则可以很好地使用多个 DB。

    我想这取决于你用这些数据库做什么?

    【讨论】:

    • 感觉像是“适合工作的正确工具”之类的东西。我想我担心的是在单个 Web 视图中使用多个数据库。例如,如果我有一位录音艺术家,他与歌曲(作为贡献者、制作人、主要艺术家)以及博客文章等内容(是文章的主要焦点,被提及,与,另见等),我可以将其存储在图形数据库中并进行闪电般的快速遍历,或者我可以在 mysql 中拥有一个相当专业且非常大的表。两者都有优点和缺点,都有我需要在单个页面上显示的数据。
    • 是的,没错……我喜欢为所有人使用一个数据库,并规范化设计。不一定要那么快...但是两个用于相关内容的数据库将很难管理(尤其是当您考虑使用 ORM 时)。
    猜你喜欢
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    相关资源
    最近更新 更多