最近在根客户沟通数据库选型的时候,聊到了手机应用内置的数据库SQLite。别小看它哈,它可是世界上最小,装机量最多的数据库,只是因为它着实太低调了,低调的连官网都是那么朴素。麻雀虽小,五脏俱全,在接下来的内容中,你继续看下去,会让你大跌眼界!

世界上最小,装机量最多的数据库居然是..._数据库

SQLite这么小众的数据库,到底是哪些场景用啊?刚毕业工作的时候,有一个朋友在做微服务的开发,客户端用到大量配置文件,数据量就会很慢,他说就用 SQLite。也是孤陋寡闻,那是我第一次听说SQLite,才知道这也是个数据库,只不过多用在客户端而不是服务器上。

1.SQLite简介

SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是最广泛部署的 SQL 数据库引擎之一。SQLite 的源代码在公共领域,任何人都可以免费使用和修改。

SQLite 是一个被大家低估的数据库,但有些人认为它是一个不适合生产环境使用的玩具数据库。事实上,SQLite 是一个非常可靠的数据库,它可以处理 TB 级的数据,但它没有网络层。在每个人的手机上,可能都存在几十个SQLite,我们最熟悉的微信,客户端所有的聊天记录,就都存储在SQLite 数据库中。它非常稳定、快速,正如他们官网上所描述的:Small. Fast. Reliable. Choose any three!

世界上最小,装机量最多的数据库居然是..._数据库_02

2.应用场景

众所周知,很多小微型应用程序都需要一些数据处理和计算能力,但如果集成一个数据库就显得太沉重了,正因如此,小巧轻量的 SQLite 才会被广泛应用。智能手机、Mac电脑、浏览器、机顶盒、很多流行的桌面应用(微信、QQ、 DropBox、 Skype、iMessage、WhatsApp…)都随处可见SQLite的身影,它无处不在,而你又可能从未察觉!

1.嵌入式设备和物联网:
由于 SQLite 的轻量级和无服务器特性,
使其成为嵌入式设备和物联网设备的理想选择。

2.客户端存储:SQLite 非常适合存储客户端应用程序数据,
包括桌面应用程序和移动应用程序。

3.开发和测试:SQLite 由于其零配置和易于集成的特性,
常常被用于软件开发和测试环境。

4.单用户桌面应用:对于需要本地存储的桌面应用,
SQLite 是一个很好的选择,例如电子邮件客户端、数据分析工具等。

5.服务器端缓存和数据处理:在服务器端,SQLite 可以用作缓存服务器,
或者进行数据处理和转换。

世界上最小,装机量最多的数据库居然是..._SQL_03

3.开源选型

SQLite是一种轻量级的数据库,主要用于存储一些轻量级的数据,由于其占用的资源小,常常被用在嵌入式系统和移动设备中,嵌入式设备的资源有限,需要使用数据库时,优先选择SQLite数据库。

MySQL用一种简单的方式为数据访问(和使用)提供了可靠的保护。大多数网站和Web应用程序,可以忽视约束性地简单工作在MySQL上。如果你在开发的应用需要被多用户访问,而且这些用户都用同一个数据库,则需要选择客户 - 服务器模式数据库MySQL。

世界上最小,装机量最多的数据库居然是..._SQL_04

PostgreSQL是完全开源的,不受任何商业公司的控制,与受甲骨文控制的MySQL相比,PostgreSQL更加值得信赖。比如在国产化系统中,为了安全起见,会优先选择更加自主可控的PostgreSQL。

世界上最小,装机量最多的数据库居然是..._SQL_05

4.SQLite安装使用

前往SQLite官网下载页面找到包含configure文件的下载选项,并复制它的链接,通过wget下载即可

世界上最小,装机量最多的数据库居然是..._数据库_06

1.解压
tar -xvzf sqlite-autoconf-3460000.tar.gz

2.SQLite安装
进入解压好的sqlite-autoconf-*文件夹当中可以看见config文件
./configure --prefix=`pwd`/../install --disable-static

再通过make命令和make install命令后,
我们就安装完成了

世界上最小,装机量最多的数据库居然是..._数据库_07

5.总结

SQLite 是一个自包含的,无服务器的,零配置的,事务性的 SQL 数据库引擎。它是一个开源项目,希望本文的分享带给大家一些帮助