【发布时间】:2012-01-30 00:20:15
【问题描述】:
我有一些大型(200 GB 是正常的)平面数据文件,我想将它们存储在某种数据库中,以便可以快速、直观地访问这些数据,从而使数据按逻辑组织。可以将其视为大量非常长的录音,其中每个录音的长度(样本)相同,并且可以被视为一行。其中一个文件通常包含大约 100,000 条记录,每个记录长度为 2,000,000 个样本。
将这些记录作为 BLOB 数据行存储在关系数据库中很容易,但在许多情况下,我只想将整个数据集的某些列(例如,样本 1,000-2,000)加载到内存中.最节省内存和时间的方法是什么?
请不要犹豫,询问您是否需要对我的数据细节进行更多说明以便提出建议。
编辑:澄清数据维度...一个文件包括:100,000 行(记录)乘 2,000,000 列(样本)。我研究过的大多数关系数据库在一个表中最多允许几百到几千行。再说一次,我对面向对象的数据库知之甚少,所以我有点想知道这样的东西在这里是否有帮助。当然,任何好的解决方案都是非常受欢迎的。谢谢。
编辑:澄清数据的使用...数据只能由我将编写的自定义桌面/分布式服务器应用程序访问。每个数据“集”(到目前为止我称之为 200 GB 文件)都有元数据(收集日期、过滤器、采样率、所有者等)。还有与每个记录相关的元数据(我希望它是表格中的一行,所以我可以为每条记录元数据添加列)。所有元数据都是一致的。 IE。如果某个记录存在特定的元数据,则该文件中的所有记录也都存在该元数据。样本本身没有元数据。每个样本都是 8 位的 plain-ol' 二进制数据。
【问题讨论】:
-
不确定这应该是评论还是答案,但相关问题stackoverflow.com/questions/7963656/…和stackoverflow.com/questions/8952/…可能会提供一些启示。
-
以什么方式访问数据?您是否正在编写桌面应用程序、网站,并计划使用 Excel?关于文件和样本存在哪些元数据?架构是否一致 - 即每个文件和样本是否具有相似的字段?
-
@MarkBannister - 这些问题的答案对于在数据库中存储 BLOB 数据的一般情况有些帮助,但是,我希望按列访问数据可能会使我的情况有所不同。也许不是。
标签: sql database rdbms large-files object-oriented-database