c# - 分层.Net 文件格式?

标签 c# filesystems hierarchical-data hdf5

我们公司一直在寻找一种文件格式来保存大量实验室传感器数据。每次他们运行仪器时,它都会生成一个文件,我们使用该文件并将其存储在数据库中以进行趋势分析等。首选分层格式,因为它允许我们“分组”数据。这是我们将数据放入数据库之前的中间文件格式。由于我们的开发环境,这是我们的优先列表:

1) .Net 兼容。该 API 将用于 Web 服务和客户端应用程序。我们无法控制客户的环境,因此最好使用纯 .Net 解决方案。

2) 读取速度。我们的读取是随机的,而不是顺序的。越快越好。如果我们不是 C# 开发商店,我会说速度是第一。

3) 文件大小。如果文件本身很大,则需要良好的压缩率(86% 或更高)。

4) 读取的内存占用。由于数据量大,我们不能简单地读取它。每个传感器都有一个时间/值对。这可以生成超过 400 万对。这为我们消除了 XML。

我们目前查看了HDF5并发现 .NET 领域中非常缺乏 API,无法提供 Web 服务,但具有我们正在寻找的大小/速度。我也调查了JSON它看起来很有希望,但我还没有尝试读回一段数据。我在网上搜索过,但没有找到很多可以满足我们需要的文件格式。任何帮助表示赞赏。

最佳答案

你需要一个b-tree数据库,比如: SQL Server Compact

再看看SQLite http://sqlite.phxsoftware.com/

CTree 更像是一个 ISAM,如果你可以省去 SQL 部分的话 谷歌搜索树

抱歉,我会链接更多,因为这是一个新帐户,所以不允许我访问

关于c# - 分层.Net 文件格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1159658/

相关文章:

mysql - 如何创建MySQL分层递归查询

apache-flex - 如何对具有分层数据的AdvancedDataGrid进行排序?

oracle - 是否可以使用 Oracle 获取每个级别的员工汇总计数?

c# - 是否可以编写代码来造成无法通过终止进程修复的那种损坏?

c# - Javascript JSON仅序列化第一级

在 C 中创建自己的 FILE* 指针?

python - 如何更改 Pyramid/python Web 应用程序目录的权限?

java - 在 Java 中确定文件的物理位置和设备状态

c# - 如果 gzip 文件是通过组合多个 gzip 文件创建的,Chrome 不会解压缩 gzip 文件

c# - 在 Linux 下编译的 Mono 应用程序在 Windows 中无法运行