【问题标题】:Converting Mysql to No sql databases将 Mysql 转换为无 sql 数据库
【发布时间】:2012-01-23 05:26:32
【问题描述】:

我有一个在 MYSQL 5.1 上运行的生产数据库服务器,现在我们需要构建一个用于报告的应用程序,该应用程序将从生产数据库服务器获取数据,因为通过整个数据库的报告查询可能会变慢,因此计划切换到 nosql .整个系统正在运行 aws 堆栈,计划使用 DynamoDb。请建议我将数据从生产 nosql 服务器同步到 nosql 数据库服务器的方法。

【问题讨论】:

    标签: mysql database nosql


    【解决方案1】:

    只要记住一个简单的事实,任何 NoSQL 数据库本质上都是一个文档数据库;在 MySQL 中自动将典型的关系数据库转换为良好的文档设计确实很难。

    在 NoSQL 中,您只有一个文档集合,每个文档可能包含多个表中相关行中的数据。 NoSQL 重新设计的优势在于,大多数数据访问更简单、更快捷,无需您编写复杂的连接语句。

    如果您自动将每个 MySQL 表转换为相应的 NoSQL 集合,那么您真的不会利用 NoSQL DB。这是因为您最终会加载更多的文档,从而对数据库进行比需要更多的调用,从而失去 NoSQL DB 的简单性和快速性。

    也许更好的方法是查看您的应用程序如何使用 MySQL 数据库并从那里开始。然后您可能考虑编写一个简单的实用程序脚本完全了解您的 MySQL 数据库设计。

    【讨论】:

      【解决方案2】:

      由于来自 NoSQL 数据库(如 MongoDB、RIAK 或 CouchDB)的数据与关系数据库(如 MySQL)的结构非常不同,因此迁移/同步数据的唯一方法是实际编写一个从 MySQL 写入数据的作业使用 MongoDB 网站上所述的 SELECT 查询到 NoSQL 数据库:

      将数据从数据库迁移到 MongoDB,可能只需针对数据库编写一堆 SELECT * FROM 语句,然后使用您选择的语言将数据加载到您的 MongoDB 模型中。

      根据您的数据量,这可能需要一段时间来处理。

      如果您有任何其他问题,请不要犹豫。

      【讨论】:

        猜你喜欢
        • 2011-02-01
        • 2011-03-14
        • 2023-03-05
        • 1970-01-01
        • 2011-11-08
        • 1970-01-01
        • 2015-06-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多