|
参考... |
SQLite 是一个实现了
自包含,
无服务器,
零配置,
事务处理
的进程内的SQL 数据库引擎库.
SQLite 的代码位于
公有领域 并且可以自由运用于商业,私有等任何目的。
SQLite 被普遍的应用于众多的软件当中,包括一些 备受瞩目的项目
SQLite is an in-process library that implements a
self-contained,
serverless,
zero-configuration,
transactional
SQL database engine.
The code for SQLite is in the
public domain and 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.
SQLite 是一个嵌入式 SQL 数据库引擎。
于大多数的SQL数据库不同的是SQLite不需要独立的服务进程。SQLite直接读写普通的磁盘文件。
一个包含多个表、索引、触发器、视图的SQL数据库被存储在了一个唯一的磁盘文件中。
数据库文件使用了跨平台的文件格式——你可以自由的在32位系统和64系统之间或者大端 和
小端架构之间复制数据库文件。
这些特性使得SQLite成为了一种备受欢迎的应用程序文件格式
SQLite可以作为fopen()的替代者,但是不建议作为
Oracle的替代者。
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-endian and
little-endian
architectures. These features make SQLite a popular choice as
an Application File Format.
Think of SQLite not as a replacement for
Oracle but
as a replacement for fopen()
SQLite 是一个微型的库。
当所有特性全打开时 库大小 依然小于 500KiB,
这也依赖于目标平台和编译优化选项的不同(64位会稍大一些。同时aggressive function inlining 和 loop unrolling等一些优化选项也会导致目标文件变大。)如果取消可选的特性,SQLite库的大小能减少到300KiB以下。
SQLite可以在级小的栈空间(4KiB)和很小的堆空间上运行,这使得SQLite数据库引擎在内存敏感设备上大受欢迎,例如手机、PDA和MP3播放器。
SQLite通常可用内存越多运行速度就越快,当然这也是需要在内存和速度之间做权衡的。
不过在小内存环境下速度通常也是一样优秀的。
SQLite is a compact library.
With all features enabled, the library size can be less than 500KiB,
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.
SQLite 在发布前会进行
非常详细的测试,因此SQLite一直一来都非常的可靠。
SQLite中绝大多数的源代码都经过了完整的测试和验证。
通过自动化测试,数百万的SQL语句在测试用例中执行,以达到100% 分支覆盖测试。
当内存不足或者磁盘错误时SQLite的响应都非常的友好。
即使系统崩溃或者断电,事务一样能保证ACID。
这些情况都在自动化测试中都通过可以模拟系统崩溃等情况的测试工具一一验证通过。
当然即使通过了所有的测试,依然会有漏洞存在。不过与其它类似的项目(特别是商业对手)不同,SQLite对于所有的漏洞都是非常开放和诚实的,并且提供了漏洞列表来罗列
危险的漏洞和一个时刻变化的的漏洞报告和代码改动时间表
SQLite is
very carefully tested prior 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
ACID
even 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 lists
including lists of
critical bugs and
minute-by-minute
chronologies of bug reports and code changes.
SQLite由专职的国际团队开发者提供基础的支持。
这些开发者持续不断的扩展SQLite的特性,提高SQLite的性能和稳定性,并且一直能够依照已发布接口说明,
SQL 语法和数据库文件格式提供向后兼容性。
源代码对于任何人都是完全自由获取的,除了专业支持。
The SQLite code base is supported by an
international team of 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 support is also available.
我们的开发者希望你能发现SQLite是有用的,并且由我们来支援你更好的使用它:开发更美好的,并且能快速、可靠、简单的使用的产品。 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. 正如你自由的获取了SQLite一样,自由的提供给他人。 And just as you have received SQLite for free, so also freely give, paying the debt forward.