我的公司有一个大型PHP应用程序和一个MySQL数据库。所有通信(例如基于HTML的电子邮件,引号)都存储在MySql表的“text”列中。这些表现在变得非常大,大小为15-16GB,恢复速度慢,移动到其他服务器等。
是否有更现代的方法来存储这种性质的信息,可能是一种完全不同类型的数据库,非常适合存储文档。显然,这些数据需要从核心应用程序等中检索。
我听说过像MongoDB这样的东西,但不知道这些是否适合这种存储。
有没有人对如何摆脱“文本”列提出任何建议?我相信这一定是一种老式的技术。
此致
詹姆斯
答案 0 :(得分:0)
看来您的问题是“存储数据有哪些选项,因为我认为关系数据库中的TEXT列是老式的?”。
关于这个问题......有许多不同的工具和基板用于存储数据 - 除了处理之外,这就是计算机做什么。至于哪一个最合适,取决于你想如何访问数据,更新它并处理它:这些机制需要多强大:它们需要多快运行。
不知道这些是否是为满足这种存储而设计的。
但是你告诉我们关于存储的唯一的事情是它有很多。你当然应该熟悉CAP定理。它看起来很简单。但如果您不知道完全您正在做什么,那么在同一个应用程序中混合使用不同数据库会遇到很多问题。
并且恢复速度很慢,转移到其他服务器等。
我不知道你的意思是“等”。但是,如果您的问题是数据的大小,那么解决方案就是简单地对数据集进行分区 - 在使用统一视图的表中执行此操作可能比使用MySQL的表分区更实用。
根据数据的大小,您可能还会考虑在插入之前压缩HTML数据 - 毕竟,您无法将其编入索引。
是的,您可以重写您的应用程序以在NoSQL数据库上运行 - 如果您专门使用应该简单易懂的简单ORM。但它并没有减少数据量。