以下几节概括介绍组成数据库的文件的类型,其中包括数据库文件、事务文件和临时文件。此外还将介绍这些文件在 SQL Anywhere 和 UltraLite 中的实现有哪些差异。
SQL Anywhere 数据库中的所有信息通常存储在一个数据库文件中,该文件可以在计算机之间复制。数据库也可能由几个文件组成,但通常只有非常大的数据库才需要这样。
除了数据库文件外,SQL Anywhere 在运行数据库时还使用另外两种文件:事务日志和临时文件。
数据库文件 就内部而言,数据库文件是由页(固定大小的磁盘区)组成的。数据访问层一次读取和写入一页上的数据。许多页保存数据库表中的数据,而其它一些页则保存索引信息、与数据库内数据的分发有关的信息等。
事务日志 事务日志是一个单独的文件,用以记录在数据库上执行的所有操作。通常,事务日志与数据库文件同名,只是它以后缀 .log 结尾,而不是以 .db 结尾。事务日志具有三个重要功能:
记录对数据执行的操作以支持恢复 如果数据库文件损坏,您可以根据备份以及事务日志重新创建数据库。
提高性能 通过将信息写入事务日志,数据库服务器可以安全地处理您的语句,而不必频繁写入数据库文件。
支持数据库复制 SQL Remote 和 MobiLink 同步功能使用事务日志来将所做更改同步到其它数据库。
临时文件 临时文件在数据库服务器启动时创建,在数据库服务器停止时清除。顾名思义,临时文件是在数据库服务器运行时用来保存临时信息的。临时文件不保存需要在两个会话之间保留的信息。
UltraLite 的临时文件存储在与数据库文件相同的目录中。
UltraLite 数据库也包含上述功能,但不同的是:
UltraLite 数据库文件不包含有关数据库中数据分布情况的信息。
UltraLite 是在内部跟踪事务,而不是在单独的日志文件中。
UltraLite 的临时文件存储在与数据库文件相同的目录中。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |