什么是SQLite?
SQLite是一款轻型的嵌入式数据库.它的数据库就是一个文件.
小型嵌入式,跟mysql差不多,但是更小,功能相对较少,它占用的资源非常低,可能只需要几百k的内存就够了.
是一个真正开源的无限制的数据库,跨平台,支持Linux, Mac , Android, iOS和 Windows 等,主要应用于嵌入式开发.
SQLite有什么特点?
SQLite的优点
- 源代码不受版权限制,真正的自由,开源和免费.
- 无服务器,不需要一个单独的服务器进程或者操作的系统
- 一个SQLite 数据库是存储在一个单一的跨平台的磁盘文件
- 零配置,因为其本身就是一个文件,不需要安装或管理,轻松携带
- 不需要任何外部的依赖,所有的操作等功能全部都在自身集成.
- 轻量级,SQLite本身是C写的,体积很小,经常被集成到各种应用程序中.
SQLite的缺点
- 缺乏用户管理和安全功能
- 只能本地嵌入,无法被远程的客户端访问,需要上层应用来处理这些事情;
- 不适合大数据
- 适合单线程访问,对多线程高并发的场景不适用;
- 各种数据库高级特性它都不支持,比如管理工具、分析工具、维护等等;
SQLite的应用场景
小型网站
SQLite适用于中小规模流量的网站.
日访问在10万以下的网站可以很好的支持,适用于读多写少的操作,如管理员在后台添加数据,其他访客多为浏览.
10万/天是一个临界值,事实上在100万的数据量之下,SQLite的表现还是可以的,在往上就不适合了.
使用它无需单独购买数据库服务,无需服务器进程,配置成本几乎为零,加上数据的导入导出都是复制文件,维护难度也几乎为零,迁移到别的服务器无需任何配置即可支持,加上其读取的速度非常快,省去了远程数据库的链接,能够极大提升网站访问速度.
嵌入式设备
SQLite适用于手机, PDA, 机顶盒, 以及其他嵌入式设备. 作为一个嵌入式数据库它也能够很好的应用于客户端程序.
因为其轻量,小巧,不怎么占用内存,数据的读写性能好,加上嵌入式设备数据量并不大,不需要频繁的维护,所以比较适合.
数据库教学
SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
其无配置,无依赖,小巧,单一文件的特性让它的安装和使用非常简单,非常适合用来讲解SQL语句.
学生可以在很短的时候使用并操作SQLite,不受系统和商业限制等影响,学习的结果可以通过邮件或者云文件等形式发送给老师进行评分.
可以通过它快速实现一个最小化应用,适合学生快速了解SQLite,以及SQL语法,从而实现数据库的触类旁通,了解其他数据库系统的设计实现原则.
本地应用程序
其单一磁盘文件的特性,并且不支持远程连接,使其适用于本地的应用程序,如PC客户端软件.
常用的应用类型为金融分析工具、CAD 包、档案管理程序等等. (手机上的通讯录也是用此开发的)
没有远程,意味着适用于内部或者临时的数据库,用来处理一些数据,让程序更加灵活.
不适用场景
很明显其适合小型网站,相对的就不适合高流量网站.,也不适合超大的数据集,在其缺点也提到,不适合高并发访问.
具体的使用场景并没有绝对的限制,要看情况,分清楚需求和业务场景,市场上也有其他同类或者其他类型的数据库,参考使用成本,性能等各种因素来决定到选择哪种数据库才是最佳选择.