【发布时间】:2012-08-14 15:44:49
【问题描述】:
我需要知道数据库中的数据是如何存储在文件系统上的。我敢肯定,不同的数据库使用不同的数据存储方式,但我想知道一般规则是什么(如果有的话),以及在特定数据库的设置中可以更改什么。
- 整个数据库是如何存储的?一个大文件还是一个表一个文件?
- 如果桌子很大怎么办?会被拆分成几个文件吗?
- 在这种情况下,文件的典型大小是多少?
【问题讨论】:
标签: mysql sql sql-server database filesystems
我需要知道数据库中的数据是如何存储在文件系统上的。我敢肯定,不同的数据库使用不同的数据存储方式,但我想知道一般规则是什么(如果有的话),以及在特定数据库的设置中可以更改什么。
【问题讨论】:
标签: mysql sql sql-server database filesystems
这个问题的答案是依赖于数据库的和依赖于实现的。以下是一些如何存储数据的示例:
但是,这些是默认配置。真实数据库通常允许您在多个物理设备之间拆分数据。 SQL Server 和 MySQL 称之为分区。 Oracle 称这个表空间。这些通常由了解系统性能要求的知识渊博的 DBA 设置。
不过,最后的问题很容易回答。大多数数据库都让您可以选择在需要空间时扩展数据库,或者为数据库提供固定(或固定的最大)大小。我还没有遇到会自动将基础数据拆分为多个文件的数据库引擎,尽管新的面向列的数据库(例如 Vertica)可能会做类似的事情。
【讨论】: