软件研究之SQLite
1.前言
因为要用到了 mbtiles ,我不得不去看了看 SQLite 数据库。
优点:
- 不需要配置,不需要安装和管理
- 不需要一个单独的服务器进程或操作的系统(无服务器的)
- 一个完整的SQLite数据库存储在一个单一的跨平台的磁盘文件上
- SQLite是非常小的,轻量级的数据库,完全配置时小于400KiB,省略可选功能配置时小于250KiB
- SQLite是一个自给自足的数据库,这也就意味着不需要任何外部的依赖
- SQLite事务是完全兼容ACID的,允许从多个进程或线程安全访问
- SQLite支持SQL92(SQL2)标准的大多数查询语言的功能
- SQLite使用ANSI-C编写的,并提供了简单和易于使用的API
- SQLite可在UINX(Linux,Max OS-X,Android,iOS)和Windows(Win32,WinCE,WinRT)中运行
缺点:
- 在SQLite中,SQL92不支持的特性如下所示:
- RIGHT OUTER JOIN: 只实现了LEFT OUTER JOIN
- FULL OUTER JOIN: 只实现了LEFT OUTER JOIN
- ALTER TABLE: 支持RENAME TABLE和ALTER TABLE的ADD COLUMN variants命令,
- 不支持DROP COLUMN、ALTER COLUMN、ADD CONSTRAINT
- Trigger支持:支持FOR EACH ROW触发器,但不支持FOR EACH STATEMENT触发器
- VIEWS: 在SQLite中,视图是只读的,不能在视图中执行DELETE、INSERT或UPDATE语句
- GRANT 和 REVOKE:可以应用的唯一的访问权限是底层操作系统的正常文件访问权限
参考文章:
【1】.SQLite 简介
【2】.SQLite简介 SQLite是一个进程内的轻量级嵌入式数据库,它的数据库就是一个文件,实现了自给自足、无服务器、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,这就体现出来SQLite与其他数据库的最大的区别:SQLite不需要在系统中配置,直接可以使用。且SQLite不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite可直接访问其存储文件。
【3】.浅谈利用SQLite存储离散瓦片的思路和实现方法 Sqlite的优点:a. 轻量级,b. 单一文件,c. 跨平台/可移植性,d.内存数据库。
【4】.SQLite和MySQL数据库的区别与应用
【1】.SQLite 简介
【2】.SQLite简介 SQLite是一个进程内的轻量级嵌入式数据库,它的数据库就是一个文件,实现了自给自足、无服务器、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,这就体现出来SQLite与其他数据库的最大的区别:SQLite不需要在系统中配置,直接可以使用。且SQLite不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite可直接访问其存储文件。
【3】.浅谈利用SQLite存储离散瓦片的思路和实现方法 Sqlite的优点:a. 轻量级,b. 单一文件,c. 跨平台/可移植性,d.内存数据库。
【4】.SQLite和MySQL数据库的区别与应用
2.SpatiaLite
参考文章:
【1】.SpatiaLite SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.
【2】.地理空间数据库盘点
【1】.SpatiaLite SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.
【2】.地理空间数据库盘点