轻巧的本地数据库 - sqlite

x
用微信扫描二维码
分享至好友和朋友圈

  前言

  SQLite,是一款轻型的数据库,它的设计目标是嵌入式的,而且现在很多嵌入式产品中使用它,它占资源非常低,在嵌入设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,无需独立的数据库引擎,直接嵌入到应用程序进程中,因此,通过API,应用程序可以直接操作它,无需配置。

  

  特点

  不需要一个单独的服务器进程或操作的系统(无服务器的)。

  SQLite 不需要配置,这意味着不需要安装或管理。

  一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。

  SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。

  SQLite 是自给自足的,这意味着不需要任何外部的依赖。

  SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。

  SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。

  SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。

  SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows中运行。

  SQLite的数据库权限只依赖于文件系统,没有用户帐户的概念。

  

  应用场合

  SQLite不同于其他大部分的SQL数据库引擎,因为它的首要设计目标就是简单化:易于管理;易于使用;易于嵌入其他大型程序;易于维护和配置。

  许多人喜欢SQLite就是因为它的小巧和快速。但是这些特性只是它的部分优点,使用者还会发现SQLite是非常稳定的。出色的稳定性源于它的简单,越简单就越不容易出错。除了上述的简单、小巧和稳定性外,最重要的在于SQLite力争做到简单化。

  以下几种场景经常用到sqlite:

  1、嵌入式设备: 例如:手机、机顶盒、电视等等。这些嵌入式设备不可能自启动一个网络服务来存储信息,存在文件里面又不方便查询,sqlite是很好的选择。

  2、 应用程序文件格式:SQLite作为桌面应用程序的本地磁盘文件格式取得了巨大成功。即一些配置信息或者数据可以直接存储到sqlite文件中,方便查询,也无需增加系统服务。

  3、小型网站甚至中型网站:如果一个网站的点击率少于100000次/天的话,SQLite是可以正常运行的。100000次/天是一个保守的估计,不是一个准确的上限。事实证明,即使是10倍的上述流量的情况下SQLite依然可以正常运行。

  4、数据分析工具:可以将csv的文件导入到sqlite中,然后使用SQL进行统计查询。

  5、临时数据库:有些客户端由于网络原因,无法即时将数据发送到服务端,这时候缓存存储在本地的数据库,等网络恢复后再进行传输。

  不适合的场景

  1、通过网络服务共享数据库数据的服务:sqlite是一个本地数据库,如果是集群或者多台主机服务需要共享数据,这时候sqlite就不适用了。

  2、高流量网站:网站的访问量大到你开始考虑采取分布式的数据库部署,那么你应当毫不犹豫的考虑用一个企业级的客户端/服务器数据库来替代SQLite。

  3、超大的数据集:虽然sqlite可以直接到2T,但是对于超大的数据集来说,这完全是不够用的,而且如果文件大了,备份、转移都不方便。

  4、高并发访问:SQLite对于整个数据库文件进行读取/写入锁定。高并发会引起锁,导致服务失败。

  

  总结

  sqlite:本机存储,低并发,低数据量,零配置,零管理

特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。

跟贴 跟贴 6 参与 6
© 1997-2019 网易公司版权所有 About NetEase | 公司简介 | 联系方法 | 招聘信息 | 客户服务 | 隐私政策 | 广告服务 | 网站地图 | 意见反馈 | 不良信息举报

linux运维菜

喜欢使用Linux!

头像

linux运维菜

喜欢使用Linux!

379

篇文章

3720

人关注

列表加载中...
请登录后再关注
x

用户登录

网易通行证/邮箱用户可以直接登录:
忘记密码