【问题标题】:How to store write-once, read-rarely data如何存储一次写入、很少读取的数据
【发布时间】:2013-11-18 00:11:06
【问题描述】:

我有一个生成大量数据的应用程序,这些数据全部写入一次,然后就不可更改(根据法律),并且很少被读取。读取时,始终会完整读取,例如,一次性读取 2012 年的所有数据,并进行处理以用于报告或以不同格式输出以供导出(或 gasp打印)。访问数据的唯一方法是访问一整天或一天以上的数据。

这些数据很容易表示为两个或三个关系表,或一长串自包含文档。

在文件系统中存储此类数据最节省存储空间的方法是什么?具体来说,我们正在考虑使用 Amazon S3(文件存储)进行存储,尽管我们可以使用诸如 RDS(他们的 MySQL 版本)之类的东西。

我目前最好的选择是一个 gzip 压缩文件,其中包含一整天的 JSON 数据,每天一个文件。

【问题讨论】:

  • 这是一个架构问题。
  • SO 适用于特定的编程问题。也许聘请解决方案架构师?
  • @MitchWheat:我有一个具体的编程问题。当数据自然地分割成可管理的块时,存储数据最节省存储空间的方式是什么。

标签: database data-structures architecture storage write-once


【解决方案1】:

除非我的数据是纯 ASCII(即使是),我可能会选择一种二​​进制存储方法,例如

【讨论】:

  • 你说得很好,我的数据主要是数字,没有理由将其存储为文本。
  • 我个人的偏好可能是协议缓冲区。
  • 我可能会选择具有字段名称的东西,例如 BSON。否则版本控制非常困难 - 而且这些数据要保存
  • 我的意思是空间效率。
【解决方案2】:

我会使用 Windows Azure 的 Table Storage,因为它允许将异构结构化数据存储在单个表中。拥有类似数据库的存储将允许您根据需要附加数据。您可以轻松地为每年创建新表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 2016-04-23
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多