我有一种感觉,大多数数据库系统起源于 80 年代,并且刻板地实现表、ACID 事务和约束。它们的构建考虑到了内存、磁盘和处理能力的匮乏。
我想知道是否有任何存储系统(不需要通过 SQL 访问)能够处理以下内容:
- 图(查询 la SPARQL)。
- 矩阵(n 维)也很稀疏。支持简单的矩阵算法,如 SVD、聚类。
- 对不连续变化的大(TB 大小)数据进行有效管理;这种变化每天都在发生。
- 使用大型磁盘系统(14TB 的 RAID5 现在不到 1500 美元)。这意味着,更多空间用于索引、预先计算的结果等。
- 利用 GPU/多核/处理器/节点,进行大型查询和索引。
我知道大部分项目都在某个地方实现(Apache Cassandra、SPARQL、Netezza、Exadata),但我不知道任何可以实现所有项目的产品。
我认为其中很多项目都非常接近(或更远)。
例如,SPARQL 是我认为不会很快纳入数据库的东西。我见过的最接近的是SDB,它是一个处理 SPARQL 并将其发送到标准数据库的接口。
此外,将 GPU 用作通用处理器仍然是一种革命性的事情。它在数据库世界中还没有完全流行起来。现阶段还停留在学术界和理论界。
只有一个小组(我能找到)正在开发一个数据库以利用 GPU。 Alenka是一个开源项目,但仍处于开发阶段。
此外,即将出现一种名为GPUTeraSort的新排序算法。但是(作为一种算法),我不知道目前有任何特定的数据库使用它。
最后,还有一个站点GPGPU,用于在 GPU 上进行通用计算,您可能需要关注该站点。随着使用 GPU 的数据库出现,这将是报告它的站点。
综上所述,使用多核或多处理器几乎是现状。SQL Server、MySQL、Oracle——所有主要数据库都使用多线程。
最终,您所要求的项目是目前远远超出数据库世界的东西。
您也可以尝试在 StackOverflow 上交叉发布此内容,因为他们可能对如何使用图形、SPARQL、GPU 增强功能等处理 TB 级数据有一些想法。但是,他们的回答可能是这样的,“是的,你可以做到,但这将是一个巨大的定制系统。”