gpt4 book ai didi

mysql - Oracle、MySQL 等 RDBMS 中的数据压缩

转载 作者:行者123 更新时间:2023-11-29 22:20:05 25 4
gpt4 key购买 nike

我正在阅读有关内存数据库的内容,它包含数据压缩等功能。使用它,它不是存储列中的名字、姓氏、父亲的名字等值(这会导致大量数据重复和磁盘存储空间的浪费),而是为每列创建一个字典和属性向量表,这样字典中只存储唯一值,而其对应的属性向量则存储在原始表中。
这种方法的明显优点是通过消除数据重复的开销来节省大量空间。

我想知道:

  1. 像 Oracle、MySQL 等 RDBMS 在将数据存储在磁盘上时是否隐式遵循这种方法?或者,当我们使用这些 RDBMS 时,如果我们想利用相同的优势,就必须实现相同的功能?
  2. 众所周知,天下没有免费的午餐,所以我想了解如果开发人员实现上述数据压缩方法,会有哪些权衡?我能想到的是,为了从数据库中获取数据,我必须在字典表和主表之间建立连接。不是吗?

请分享您的想法和意见。

最佳答案

这个答案是基于我对您的查询的理解。您似乎混淆了两个概念:数据标准化数据存储优化

数据标准化:这是一个需要由应用程序开发人员执行的过程。这里,需要重复存储的数据片段仅存储一次,并使用它们的标识符(通常是整数)来引用。这样,数据库仅消耗存储重复数据一次所需的空间。这是将字符串和可变长度数据存储到数据库表中时的常见做法。为了检索数据,应用程序必须在相关表之间执行联接。此过程会直接影响应用程序性能,具体取决于相关表的设计方式。

数据存储优化:这是由 RDBMS 本身处理的。这涉及到各种步骤,例如维护 B 树结构来保存数据、在存储之前压缩数据、管理数据文件中的可用空间等。不同的 RDBMS 系统会以不同的方式处理它们(其中一些是专利和专有的,而另一些则是更多)一般的);然而,当我们谈论像 Oracle 和 MySQL 这样的 RDBMS 时,您可以放心,它们将遵循一流的存储算法来有效地存储这些数据。

希望这有帮助。

关于mysql - Oracle、MySQL 等 RDBMS 中的数据压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30821732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com