数据库是如何真正保存数据的

数据库是如何真正保存数据的

💡 原文约600字/词,阅读约需3分钟。
📝

内容提要

数据库主要使用非易失性磁盘存储数据,能够在断电后保留信息。数据被分为固定大小的页面,便于访问。不同数据库采用不同的页面大小和存储方式,例如SQLite将所有信息存储在一个文件中,而PostgreSQL为每个表和索引创建单独文件。页面布局和溢出页面处理各有不同,以优化存储和访问效率。

🎯

关键要点

  • 数据库主要使用非易失性磁盘存储数据,能够在断电后保留信息。
  • 数据被分为固定大小的页面,便于访问。
  • 不同数据库采用不同的页面大小和存储方式,例如SQLite使用4KB页面,PostgreSQL使用8KB页面,MySQL使用16KB页面。
  • PostgreSQL为每个表和索引创建单独文件,而SQLite将所有信息存储在一个文件中。
  • Heap File Organization是常用的文件管理方式,数据以随机顺序存储在页面中。
  • Slotted Pages是最常用的页面布局,维护一个“slot array”来连接数据位置。
  • 当数据超出页面大小时,SQLite使用溢出页面将数据分割成多个部分,SQL Server则将较大列移动到特定页面。

延伸问答

数据库是如何存储数据的?

数据库主要使用非易失性磁盘存储数据,能够在断电后保留信息。

不同数据库的页面大小有什么区别?

SQLite使用4KB页面,PostgreSQL使用8KB页面,MySQL使用16KB页面。

什么是Slotted Pages布局?

Slotted Pages是最常用的页面布局,维护一个“slot array”来连接数据位置。

当数据超出页面大小时,数据库如何处理?

SQLite使用溢出页面将数据分割成多个部分,SQL Server则将较大列移动到特定页面。

PostgreSQL和SQLite在数据存储上有什么不同?

PostgreSQL为每个表和索引创建单独文件,而SQLite将所有信息存储在一个文件中。

Heap File Organization是什么?

Heap File Organization是常用的文件管理方式,数据以随机顺序存储在页面中。

➡️

继续阅读