首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

轻巧的数据库-sqlite

前言

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:本机存储,低并发,低数据量,零配置,零管理

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181102A22JNK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券