【问题标题】:The most effective way how to store separated data in to database如何将分离的数据存储到数据库中的最有效方法
【发布时间】:2015-03-05 17:40:27
【问题描述】:

情况是这样的:

  • 我们有多个网站,每个网站都包含随机数量的文本块。
  • 我们希望将整个页面内容(所有文本块)存储到数据库中的一列中。在 html 页面的显示过程中,我们处理来自数据库的内容并将其分成文本块

存储这些数据的最佳方式是什么? 关键点是尽可能快地读取和处理它们。存储和预处理不是重点。

在我看来有一些可能的方法:

  • 将数据存储为 XML
  • 存储由特殊字符分隔的数据
  • 将所有文本块作为一对多关系存储到数据库中

有更好的建议吗?

【问题讨论】:

  • 或者使用 NoSQL 存储...
  • @MatíasFidemraizer 你的意思是直接存储到文件中?
  • 这是更快的“存储由特殊字符分隔的数据”,或者使用类似protobuf-net的库
  • 查看 Nadav 的回答:D
  • @DavidHorák 我猜他的意思是 MongoDB 或 Redis,具体取决于您的平台。

标签: asp.net xml database text web


【解决方案1】:

关键点被读取并尽可能快地处理它们

听起来像是我会使用 NoSQL 的东西。 像redis这样的数据库。

XML - 当你的 xml 文件变大时,你会失去速度,这是你的关键。

【讨论】:

    【解决方案2】:

    这似乎是 NoSQL 文档数据库的一个很好的用例。要问的关键问题是您是否需要处理这些文档之间的关系连接。

    文档数据库方法是存储文档,最有可能是 JSON(或者 XML 或 HTML)。您将拥有一个可用于快速访问文档内容的密钥,并且它已准备好用于您的处理器(如果它是基于 JavaScript 的处理器,您可能希望将其存储在 JSON 中;如果几乎没有——不处理,将其存储为 HTML/XML)。

    在这种情况下,您有一组有关电视节目的文档,并且您只能按节目获取它们(您永远不需要处理某个演员是否参加了多个节目并告诉我们哪些节目)。

    另一方面,如果您在某些情况下需要规范化数据,或者将来这样做会有所帮助,请使用关系数据库。您可以在那里通过以 XML 或 JSON 格式存储文档来模拟 NoSQL,但您也可以拥有具有外键约束的列(NoSQL 对此比较困难)。

    在这种情况下,您将拥有一组包含相关信息的文档,因此,如果您有朝一日需要告诉我们某个演员参加了哪些电视节目,您可以更轻松地做到这一点。

    如果您仍然不确定,请使用关系方法。它不会那么快或那么时髦,但它会为未来的增长提供支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多