我们的 MySQL 数据库中有几个非常大的表(3 个表,每个 2 ~ 5 GB)。我们正在运行物流应用程序,其中我们结合了路线、时间表、容量、位置、价格规则等实体,这些巨大的表格包含来自上述实体的“连接”数据。
我们必须拥有这些表,因为在运行时执行 JOINS 会完全破坏性能。我们确实有索引 ;)、缓存机制、高效的准备好的语句、适当的事务管理设置,但性能不够(〜数千名客户,〜数百名或 VIP 客户)。
我们的客户主要进行99% 的只读操作,例如搜索连接、时间表、定价,然后有时会有1-2% 的 UPDATE/INSERT 操作,例如预订一些旅程、容量等。
我们的想法是使用一些无 SQL 数据库(可能是 MongoDB)作为第二个数据库,我们会将所有预生成的只读数据放入一些键值或树结构中。我们相信性能会更好,这个解决方案的注意事项是什么?您对此类任务有亲身经历吗?
我们计划制作快速原型,但没有人真正拥有 NoSQL 的实际经验。