【问题标题】:What can be the best practise for storing the large data存储大数据的最佳实践是什么
【发布时间】:2011-12-03 20:04:30
【问题描述】:

我正在做一个项目,我需要从用户提供的 url 同步 RSS 提要。然后在用户页面上显示我们的 css 中的提要内容。涉及到移动站点,因此出于性能原因,我不想在用户打开移动站点时一次又一次地同步。我需要将内容保存在一些存储中。保存如此大数据的最佳存储方式是什么(根据 RSS 提要内容,数据可能很大)。我正在使用 MySQL DBMS。我可以将这些数据存储在数据库中还是应该采用文件系统或其他一些存储介质可用于这些类型的数据。由于用户数据库可能太大,最佳做法应该是什么。

【问题讨论】:

    标签: mysql rdbms database


    【解决方案1】:

    如果使用数据库存储文件比使用文件系统更方便满足您的需求,那么您绝对可以做到。两种解决方案都不比另一种更好,但 MySQL 提供了一些优于文件系统的优势:

    • 如果您有大量文件,如果您使用文件系统,则需要将它们拆分到单独的目录中。
    • 如果您需要负载平衡,MySQL 允许复制到多个服务器。
    • 当您可以直接从数据库中获取文件时,您不需要单独的文件检索代码,使用相同的查询获得其他结果。

    对于非常大量的文件,您可能需要研究分布式文件系统。我使用并喜欢MogileFS,但也有many others 可用。这些允许您将文件分发到任意数量的服务器上,并且比其他解决方案具有更高的容错性。

    【讨论】:

    • 如果我继续使用 mysql dbms,列类型文本,允许我存储大量数据吗?我能保证以后不会出现数据丢失的问题吗?
    • 您应该对图像等二进制文件使用列类型BLOB(Binary Large OBject)。它们专为存储文件而设计,不会导致任何数据丢失。
    • 实际上数据不包含任何图像,数据可以是网站上使用的html或css,其rss提要在那里进行解析和处理。 blob 是否仍然是解决问题的正确解决方案
    • 对,我不知道我从哪里得到您的数据是图像的想法。 :) 两者的区别在于 blob 没有字符集。为文本数据设置一个可能是个好主意,因此我建议您使用 TEXT 字段。
    猜你喜欢
    • 1970-01-01
    • 2017-07-06
    • 2019-07-21
    • 1970-01-01
    • 2018-03-31
    • 2015-10-16
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多