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

news2024/11/14 15:26:33

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

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

1.SQLite简介

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

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

2.应用场景

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

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

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

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

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

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

3.开源选型

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

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

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

4.SQLite安装使用

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

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

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

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

5.总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1982813.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

还在人工代码review?reviewdog和PMD了解一下

前言 代码reivew作为团队协同开发时确保代码质量的手段之一,在软件开发团队中非常常见。特别是对于刚入门不久的团队成员,通过代码review也可一定程度上避免一些低级错误,提升整个部分的代码健壮性。 一般来讲,通过代码review可…

LearnOpenGL-入门章节学习笔记

LearnOpenGL-入门章节学习笔记 简介一、核心模式与立即渲染模式二、扩展三、状态机四、对象 创建窗口一、Main函数——实例化窗口二、Callback Function 回调函数三、processInput 函数 创建三角形一、顶点输入二、顶点着色器三、编译着色器四、片段着色器五、着色器程序六、链…

二叉树——1.翻转二叉树

力扣题目链接 翻转一棵二叉树。 输入: 输出: 可以发现,如何翻转一个二叉树?将每个父节点下的子节点互换就行了,4下面2分支树和7分支树互换,2下面1和3互换,7下面6和9互换。在前面可以自学一下关…

55 函数嵌套定义、可调用对象与修饰器

1 函数嵌套定义 Python 允许函数的嵌套定义,在函数内部可以再定义另外一个函数。 def func(iterable, operator, value): # 自定义函数if operator not in -*/:return operator errordef nested(item): # 嵌套定义函数return eval(repr(item) operator repr(v…

陷入复杂度深渊的ModularRAG..

最近又有一篇ModularRAG的论文,虽然没有太让人汗毛竖起的惊艳,但我想文中的几张配图冷不丁的也着实让部分密集恐惧症患者又一次炸毛了一下吧;)...ps,图画的还是十分规整和可读的,逻辑也很是清晰,为作者的用心点赞&…

如何快速上手Linux操作系统

🐟作者简介:🪴 🐡🐙个人主页🥇:Aic山鱼 🐠WeChat:z7010cyy 🦈系列专栏:🏞️ 前端-JS基础专栏✨前端-Vue框架专栏✨✨前端-Vue3速学专…

OLAP知识地图思考(附地图)

OLAP知识地图思考(附地图) OLAP技术在当今数据驱动的时代具有举足轻重的地位。它的核心技术模块包括数据存储、计算引擎和查询语言等,这些模块的有效协同是实现高效数据分析的基础。然而,OLAP在运维方面面临着诸多挑战&#xff0c…

【驱动篇】龙芯LS2K0300之RTC设备驱动

实验介绍 本次实验是关于pcf8563 RTC模块的驱动移植,大致流程如下: 注册i2c设备驱动编写RTC设备驱动将device和driver驱动部署到开发板并装载,通过hwclock命令来测试 模块连接 VCC接Pin2,GND接Pin1,SCL接Pin16&…

一加Ace3 ColorOS14系统精简列表(免root)

#adb工具 https://www.123pan.com/s/Z3kujv-NHRPA.html 提取码:DZOD 使用: 1. 手机 设置 -- 关于本机 -- 版本信息 -- 版本号 ,点5次 2. 设置 -- 其他设置 -- 开发者选项 -- USB调试 -- 无线调试 3.adb工具 -- adb connect 10.0.0.156:37909&#xff…

opencv-霍夫变换

霍夫变换就是一个可以让计算机学会自己找图形的算法。是图形处理领域内从图像中检测几何形状的基本方法之一。经典霍夫变换用来检测图像中的直线,后来霍夫变换经过扩展可以进行任意型状物体的识别,例如圆和椭圆。 霍夫变换运用两个坐标空间之间的变换&a…

CSP-J复赛 模拟题3

1.匿名信: 题目描述 出于对社会现状的担忧,Alice 决定给市长写一封建议信,考虑到市长的暴脾气,Alice 最终还是决定匿名上书,为了保证自己的绝对神秘,她还会从当天的报纸上将一些单词(或字母)裁剪下来并重…

安装glibc+mysql的权限问题

安装glibc glibc mysql 俗称绿色mysql 安装之前删掉mariadb: 数据库初始化时候,会⾃动找my.cnf配置,但是原有的mariadb配 置⽂件,会失败 [rootmysql3 ~]# ls -l /etc/my.cnf -rw-r--r--. 1 root root 570 6月 8 2017 /etc/my.cnf [rootm…

Vue路由入门学习

文章目录 路由的基本使用1.目标2.作用3.说明4.官网5.VueRouter的使用(52)两个核心步骤 组件的存放目录问题1.组件分类存放目录 路由的封装抽离 Vue中的路由: 路径和组件的 映射关系 路由的基本使用 1.目标 认识插件 VueRouter&#xff0c…

Midjourney仅10分钟搞定⼀套漫画,含MJ提⽰词分享

Midjourney能帮我们画漫画了,你敢信?⼀起来和⽹易设计师学习如何只⽤10分钟,即使你是设计⿇⽠,也能轻轻松松完成⼀张属于你⾃⼰的短⽚⼩漫画!今天就⽤MJ来实战⼀套漫画,包含创作⽤的⼯ 具和提⽰词的应⽤,以前来学习吧! 漫画先看成品图: ▍ Part1你要画个啥? 画漫画当…

复现一下最近学习的漏洞(sqlab 1-10)

第一个问题:为什么不能用#来闭合单引号呢? 在进行URL地址栏传参的时候,是有一套编码规范的。他不会编码英文、数字和某些符号。但是#它会进行编码。也就是%23。(先转ascii码,然后再转十六进制,之后加上%就是…

小白暴力学习001---Vue---第一个Vue

做本文主要是采用Vue3的教程,来源于菜鸟教程, https://www.runoob.com/vue3/vue3-tutorial.html 主要记录从小白开始如何使用Vue建立一个笔记本的网站,并用于记录 基础条件: 有明确的目标有兴趣能使用电脑,会百度 视…

前端的学习-CSS(二)-弹性盒子-flex

一:子元素的属性 order:项目的排列顺序,数值越小,排列越靠前,默认为0。 flex-grow:定义项目的放大比例,默认为 0 ,即如果存在剩余空间,也不放大。 flex-shrink&#xff1…

【链表OJ】常见面试题 2

文章目录 1.[链表分割](https://www.nowcoder.com/practice/0e27e0b064de4eacac178676ef9c9d70?tpId8&&tqId11004&rp2&ru/activity/oj&qru/ta/cracking-the-coding-interview/question-ranking)1.1 题目要求1.2 哨兵位法 2.[链表的回文结构](https://www.…

Spring Boot集成liquibase快速入门Demo

1.什么是liquibase? Liquibase是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在 changelog 文件中,便于版本控制,它的目标是提供一种数据库类型无关的解决…

小厂也是厂,3000我也干

2018年6月,大三暑假 那一天,我投递了家里附近的一家公司有响应了,他线上问我什么时候可以去面试,我说什么时候都行。 HR:“要不你下午来吧?” 我:“行,我家里离面试地点不远” 我…