Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 11 - 简介 » SQL Anywhere 11 概述 » 数据管理技术概述 » SQL Anywhere 内部结构

 

数据库文件

以下几节概括介绍组成数据库的文件的类型,其中包括数据库文件、事务文件和临时文件。此外还将介绍这些文件在 SQL Anywhere 和 UltraLite 中的实现有哪些差异。

SQL Anywhere 数据库文件

SQL Anywhere 数据库中的所有信息通常存储在一个数据库文件中,该文件可以在计算机之间复制。数据库也可能由几个文件组成,但通常只有非常大的数据库才需要这样。

除了数据库文件外,SQL Anywhere 在运行数据库时还使用另外两种文件:事务日志和临时文件。

  • 数据库文件   就内部而言,数据库文件是由页(固定大小的磁盘区)组成的。数据访问层一次读取和写入一页上的数据。许多页保存数据库表中的数据,而其它一些页则保存索引信息、与数据库内数据的分发有关的信息等。

  • 事务日志   事务日志是一个单独的文件,用以记录在数据库上执行的所有操作。通常,事务日志与数据库文件同名,只是它以后缀 .log 结尾,而不是以 .db 结尾。事务日志具有三个重要功能:

    • 记录对数据执行的操作以支持恢复   如果数据库文件损坏,您可以根据备份以及事务日志重新创建数据库。

    • 提高性能   通过将信息写入事务日志,数据库服务器可以安全地处理您的语句,而不必频繁写入数据库文件。

    • 支持数据库复制   SQL Remote 和 MobiLink 同步功能使用事务日志来将所做更改同步到其它数据库。

  • 临时文件   临时文件在数据库服务器启动时创建,在数据库服务器停止时清除。顾名思义,临时文件是在数据库服务器运行时用来保存临时信息的。临时文件不保存需要在两个会话之间保留的信息。

    UltraLite 的临时文件存储在与数据库文件相同的目录中。

    请参见TMP、TEMPDIR 和 TEMP 环境变量

UltraLite 数据库内部结构

UltraLite 数据库也包含上述功能,但不同的是:

  • UltraLite 数据库文件不包含有关数据库中数据分布情况的信息。

  • UltraLite 是在内部跟踪事务,而不是在单独的日志文件中。

  • UltraLite 的临时文件存储在与数据库文件相同的目录中。

请参见UltraLite 事务和状态管理