什么是用于存储文本的大量的最佳实践(为DB或作为一个文件?),以及怎么样压缩呢?

StackOverflow https://stackoverflow.com/questions/504544

我建立一个网络应用程序,处理内部邮件,用户和客户之间的文本等频繁的小到中等大小的块。什么是用于存储该数据的最好方法是什么?在数据库(MySQL的)或数千个单独的文件?关于压缩它(PHP的gzcompress()或MySQL的压缩功能)?

什么

这不会是一个公共应用程序,所以用户负载将是最小的(小于20个用户在一个时间)。然而,会有很多通信的应用程式中每一天回去反复复,所以我预计的数据量增长非常大,随着时间的推移(这就是为什么我想压缩它)。

我想保持的数据,以便于访问和便携性的数据库,但有些我已经看到了这里关于图像的线程都使用文件存储建议。你觉得呢?

感谢您, 塞特

编辑澄清:我不要求任何形式的文字,这就是为什么我会朝着其压缩以节省空间的倾斜的搜索

有帮助吗?

解决方案

对于已经在一个特定的格式的图像和文件(的Excel,Word文档,PDF文件等)我更喜欢文件存储。但只是原始文本我可能宁愿使用一个数据库。这是比较容易在计算机之间复制用于故障切换,您可以在文本上做字符串搜索,虽然我不知道具体的算法,使用压缩的话,我会认为数据库会是一个更好的路要走。但是,只有当你已经只是文本,这是唯一的文字。的文件的任何其他格式我宁愿使用文件存储。

除非我失去了一些东西,我会用,而不是一个BLOB CLOB,如果只是文字。

其他提示

其中的一个主要原因保存在数据库中的文件是要保持它与要存储数据的其余部分保持一致。它会更容易进行备份,(重新)与预定义的数据集等。此外,它更容易保证事务的完整性部署。

一个存储文本作为文件可能是因为它更容易使用网络服务器来为他们服务,如果这是使用文件你可以看看缓存在Web服务器上的文件仅存互利的好处 - 它将使你多大了方便易用的备份和数据库的事务,但同时允许一些加速HTTP请求。

我会选择使用的DB。你描述的情况,你要去哪里来存储信息量大。你不提供有关系统的很多信息,但我猜你可能想排序,分组和应用等几个属性的消息。这将是更容易和可能更快,保持信息与其在DB的属性,而不是使用文件存储。

当涉及到压缩我不知道哪个的方法是最有效的。你都应该选择之前可能会尝试。

我不知道有多大这个“中等块”。如果文本只是书面信息(因此低于10 KB),然后压缩使其体积更小,就不会有对数据库的增长影响很大。这使得开发和维护也更容易有可用SINGL查询一切,不必单独获取该文件的内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top