哪个数据库的空间效率最高

时间:2011-11-02 08:36:22

标签: database oracle

目前我们使用Oracle来存储日志记录信息。其中一列是存储XML有效负载的blob。我们每周都会对日志架构进行归档,但我们仍然关注>每周1TB。

目标:减少数据库的空间占用

解决方案1: 在将XML有效负载放入BLOB之前压缩它。

解决方案2: 查找已经压缩默认数据的数据库(noSQL或其他关系数据库)。 JDBC驱动程序必须可用。

任何人都知道适合解决方案2的数据库吗?因此我们不需要修改应用程序,我们只需要更改数据库并更新JDBC驱动程序。

3 个答案:

答案 0 :(得分:6)

Oracle支持几种不同级别的压缩 - 只需很少的工作量即可适应解决方案2。 (表/行/高压压缩)

答案 1 :(得分:0)

我所知道的所有dbms都支持压缩和JDBC。

  • 甲骨文
  • SQL Server
  • DB2
  • Teradata的

PostgreSQL依赖底层操作系统进行存储。您可以在压缩文件系统上构建PostgreSQL表空间。

答案 2 :(得分:0)

首先,我会说如果你有企业,那么对xml表进行分区并定期备份和修剪它(如果按日期范围分区,则删除早于x的分区)。如果这不是一个选项,您可以尝试使用noSQL数据存储。

有很多noSQL选项可供使用。我曾经玩过的(尚未制作)是mongoDB。它以二进制JSON格式(BSON)存储数据,并且可以进行压缩。它似乎也在与bigger companies取得进展。我曾经在一段时间曾经使用类似的b-tree平面文件系统,速度非常快。但是,您将无法使用与RDBMS相同的功能。关于mongoDB的好处是它的商业支持10gen(再次,不能说支持有多好,但这对一些商店来说很重要)。

这是一个很好的article讨论更大的noSQL选项的优缺点。

不,我不为10gen工作;)当然做更多研究并决定什么是最适合您的需求