@H_
403_0@
sqlite is an in-process library that implements a
self-contained,
serverless,
zero-configuration,
transactionalsql database engine. The code for
sqlite is in the
public domainand is thus free for use for any purpose,commercial or private.
sqlite is currently found in more applications than we can count,including several
high-profile projects.
@H_
403_0@
sqlite是一个进程内的库,实现了独立
文件,无服务器,零配置,事务性的
数据库引擎。
sqlite的源码放在公开的网站,可自由由于任何目的,商业的或者个人的。
sqlite应用广泛,
包括一些高知名度的项目。
@H_
403_0@
sqlite is an embedded
sql database engine. Unlike most other
sql databases,
sqlite does not have a separate server process.
sqlite reads and writes directly to ordinary disk files. A complete
sql database with multiple tables,indices,triggers,and views,is contained in a single disk file. The database file format is cross-platform - you can freely copy a database between 32-bit and 64-bit systems or between
big-endianand
little-endianarchitectures. These features make
sqlite a popular choice as an
Application File Format. Think of
sqlite not as a replacement for
Oraclebut as a replacement for
fopen()
@H_
403_0@
sqlite is a compact library. With all features enabled,the
library sizecan be less than 350KiB,depending on the target platform and compiler optimization settings. (64-bit code is larger. And some compiler optimizations such as aggressive function inlining and loop unrolling can cause the object code to be much larger.) If optional features are omitted,the size of the
sqlite library can be reduced below 300KiB.
sqlite can also be made to run in minimal stack space (4KiB) and very little heap (100KiB),making
sqlite a popular database engine choice on memory constrained gadgets such as cellphones,PDAs,and MP3 players. There is a tradeoff between memory usage and speed.
sqlite generally runs faster the more memory you give it. Nevertheless,performance is usually quite good even in low-memory environments.
@H_
403_0@
sqlite is
very carefully testedprior to every release and has a reputation for being very reliable. Most of the
sqlite source code is devoted purely to testing and verification. An automated test suite runs millions and millions of test cases involving hundreds of millions of individual
sql statements and achieves
100% branch test coverage.
sqlite responds gracefully to memory allocation failures and disk I/O errors. Transactions are
ACIDeven if interrupted by system crashes or power failures. All of this is verified by the automated tests using special test harnesses which simulate system failures. Of course,even with all this testing,there are still bugs. But unlike some similar projects (especially commercial competitors)
sqlite is open and honest about all bugs and provides
bugs listsincluding lists of
critical bugsand minute-by-minute
chronologiesof bug reports and code changes.
@H_
403_0@The
sqlite code base is supported by an
international teamof developers who work on
sqlite full-time. The developers continue to expand the capabilities of
sqlite and enhance its reliability and performance while maintaining backwards compatibility with the
published interface spec,
SQL syntax,and database file format. The source code is absolutely free to anybody who wants it,but
professional supportis also available.
@H_
403_0@We the developers hope that you find
sqlite useful and we charge you to use it well: to make good and beautiful products that are fast,reliable,and simple to use. Seek forgiveness for yourself as you forgive others. And just as you have received
sqlite for free,so also freely give,paying the debt forward.