MySQL 巨大的表,迁移到 NoSQL 后性能会提高吗?

标签 mysql mongodb database-design relational-database nosql

我们的 MySQL 数据库中很少有非常大的表(3 个表,每个 2 ~ 5 GB)。我们正在运行物流应用程序,其中我们组合了路线、时间表、容量、位置、价格规则等实体。这些巨大的表包含来自上述实体的“连接”数据。

我们必须拥有这些表,因为在运行时执行 JOINS 会完全降低性能。我们确实有索引;)、缓存机制、高效的准备好的语句、适当的事务管理设置,但性能还不够(〜数千个客户,〜数百个或 VIP 客户)。

我们的客户主要执行99% 只读操作,例如搜索连接、安排、定价,有时也会进行一些1-2% 的更新/插入操作,例如预订一些旅程、运力等...

我们的想法是使用一些 no-sql DB(可能是 MongoDB)作为第二个数据库,我们将所有预生成只读数据放入一些键值或树结构中。我们相信性能会更好,这个解决方案有哪些注意事项?您有执行此类任务的个人经验吗?

我们计划制作快速原型(prototype),但没有人拥有真正的 NoSQL 经验。

最佳答案

大家应该都熟悉memcache的k-v结构吧? 站在您的团队中,NoSQL 可以被视为带有存储的内存缓存。 您可以像使用内存缓存一样将数据重组为 NoSQL。

然后你会发现一切都变得容易了。

总而言之,忽略高级功能,迈出第一步。

关于MySQL 巨大的表,迁移到 NoSQL 后性能会提高吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12363408/

相关文章:

自定义元键 => 值查询的 MySQL 数据库设计

php - 第二次尝试限制 mySQL 和 PHP 中的搜索

php - 在php中循环执行mysql查询,参数存储在来自android的arrayList中

database - Couchdb 架构 : Views or documents?

mongodb - 如何在 Docker compose 中运行一次命令

mongodb - 使用 GridFS 和 Meteor 在 Mongodb 中存储图像

MYSql代码将两个表中的数据显示到单个表中

mySQL:从通过 ID 关联的两个表中获取数据

php - isset $_GET 多个值

node.js - 使用案例在 mongodb 中查找查询