SQLite简介及其应用场景解析

发表时间: 2019-09-22 22:22

什么是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 包、档案管理程序等等. (手机上的通讯录也是用此开发的)

没有远程,意味着适用于内部或者临时的数据库,用来处理一些数据,让程序更加灵活.

不适用场景

很明显其适合小型网站,相对的就不适合高流量网站.,也不适合超大的数据集,在其缺点也提到,不适合高并发访问.

具体的使用场景并没有绝对的限制,要看情况,分清楚需求和业务场景,市场上也有其他同类或者其他类型的数据库,参考使用成本,性能等各种因素来决定到选择哪种数据库才是最佳选择.