Storage engine

Android ships with SQLite, a fully transactional database engine based on the SQL-92 standard.

First, SQLite doesn't require a client-server architecture. SQLite can be embedded directly with the application that uses it, communicating with it via simple function calls instead of complex IPC mechanisms.

(IPC——typically via sockets)

SQLite将一个数据库的所有东西都存进一个跨平台可移植的文件中。这样备份就太简单了。

SQLite doesn't require configuration files or installation procedures.

supports ACID compliant transactions, and supports B-tree indexing for fast data access.

It also has its limitations though, Writing to a database table will lock the entire database, resulting in reduced throughput where high concurrency is desired. That's typically not the case in a mobile application.

Much worse is SQLite's limited support for ALTER TABLE statements, making schema migrations painful

to handle. This can be a serious problem when deploying updates to your application.

相关推荐