自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQLite這么小眾的數(shù)據(jù)庫,到底是什么人在用?

數(shù)據(jù)庫 其他數(shù)據(jù)庫
WebAssembly (WASM) 是一種低級(jí)字節(jié)碼格式,能夠在現(xiàn)代瀏覽器中高效運(yùn)行。它被設(shè)計(jì)為一個(gè)可移植的目標(biāo),可以被多種編程語言編譯成它。它有接近原生的性能,同時(shí)可以安全地運(yùn)行在瀏覽器的沙箱環(huán)境中。

前幾天在一個(gè)群里看到一位同學(xué)說:“SQLite這么小眾的數(shù)據(jù)庫,到底是什么人在用???”

首先要說的是 SQLite 可不是小眾的數(shù)據(jù)庫,相反,SQLite 是世界上裝機(jī)量最多的數(shù)據(jù)庫,遠(yuǎn)超 MySQL,只不過比較低調(diào)而已。低調(diào)到我想在官網(wǎng)上找一個(gè)好看的用來當(dāng)插圖的圖片都找不到,只能截一張官網(wǎng)首頁來撐一撐,看起來十分樸素。

圖片圖片

我最早聽說 SQLite 是剛畢業(yè)工作的時(shí)候,我們部門做微軟內(nèi)容管理產(chǎn)品的二次開發(fā),其中有一個(gè)客戶端即時(shí)溝通工具叫做 Lync,搭配上 LDAP 的組織架構(gòu),其功能就和現(xiàn)在的企業(yè)微信差不多。

Lync 支持二次擴(kuò)展,結(jié)合我們的產(chǎn)品需要在其中做一些功能拓展,負(fù)責(zé)這項(xiàng)工作的是一位厲害的 C++ 大佬。有一次我和他聊起來,我說客戶端要記住用戶自己的配置和數(shù)據(jù),是不是要在目錄下放一個(gè)配置文件啊,那數(shù)據(jù)量大了會(huì)不會(huì)很慢。他說,用配置文件也行,但是咱這個(gè)不用配置文件,用 SQLite。

也是孤陋寡聞,那是我第一次聽說 SQLite,才知道這也是個(gè)數(shù)據(jù)庫,只不過多用在客戶端而不是服務(wù)器上。

SQLite

SQLite是一個(gè)輕量級(jí)的嵌入式關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它由D. Richard Hipp在2000年開發(fā),它實(shí)現(xiàn)了一個(gè)小型、快速、獨(dú)立、高可靠性、功能齊全的SQL數(shù)據(jù)庫引擎。

SQLite 用C語言開發(fā),最開始的設(shè)計(jì)目標(biāo)是嵌入式系統(tǒng),它可以在不需要單獨(dú)的服務(wù)器進(jìn)程的情況下,直接嵌入到應(yīng)用程序中。后來正好趕上智能手機(jī)等智能設(shè)備普及,正好契合 SQLite 的使用場景,于是大量的智能設(shè)備都在使用 SQLite 。這么說吧,你用的手機(jī)上,一定有 SQLite 存在。

像 MySQL 一樣,SQLite 也是開源且免費(fèi)的,據(jù)官方統(tǒng)計(jì),目前正在使用的 SQLite 數(shù)據(jù)庫超過 1 萬億個(gè)。

SQLite 也可以通過配置像MySQL 那樣裝在服務(wù)器上,通過網(wǎng)絡(luò)連接訪問,但是,完全沒有必要。

SQLite 支持C、C++、Java、Python、Swift等大多數(shù)語言直接使用。

為什么說你的手機(jī)上肯定有 SQLite 呢?因?yàn)?SQLite 會(huì)隨著應(yīng)用程序代碼一起打包,所以這樣說來,你的手機(jī)上還不止一個(gè) SQLite ,可能有很多,例如微信有一個(gè)、美團(tuán)有一個(gè)、網(wǎng)易云音樂等等 APP ,都可能包含自己的 SQLite。

使用場景有哪些

移動(dòng)應(yīng)用

前面也一直在說手機(jī)上的SQLite。Android就默認(rèn)集成了SQLite作為應(yīng)用數(shù)據(jù)存儲(chǔ)的標(biāo)準(zhǔn)解決方案。

Apple 的 IOS 其實(shí)提供了自己的數(shù)據(jù)存儲(chǔ)方案,比如 CoreData,但是很多開發(fā)者都覺得官方提供的方案實(shí)在太難用,所以,有很多應(yīng)用開發(fā)者還是選擇 SQLite 作為本地存儲(chǔ)方案使用。

嵌入式系統(tǒng)

SQLite 本來就是為了嵌入式系統(tǒng)設(shè)計(jì)的,所以它的特點(diǎn)就是輕量和高性能嘛,這也使得他在嵌入式系統(tǒng)中被廣泛使用。包括嵌入式Linux設(shè)備、物聯(lián)網(wǎng)(IoT)設(shè)備、路由器,以及汽車電子系統(tǒng)等等。

桌面應(yīng)用

許多桌面應(yīng)用程序使用SQLite作為其內(nèi)部數(shù)據(jù)庫,我第一次聽說 SQLite 就是那位同事大佬為了拓展桌面客戶端。

尤其是一些純的本地應(yīng)用,不需要聯(lián)網(wǎng)的,所有的配置和數(shù)據(jù)都會(huì)存在本地,這種場景正好適合SQLite 這種輕量級(jí)數(shù)據(jù)庫。

數(shù)據(jù)分析和處理

SQLite還可以用于處理和分析小規(guī)模的數(shù)據(jù)集。例如,數(shù)據(jù)科學(xué)家可以使用SQLite來存儲(chǔ)和操作中小型數(shù)據(jù)集,以進(jìn)行數(shù)據(jù)清理、轉(zhuǎn)換和分析。

網(wǎng)站加速

最近看了一篇文章,介紹 Notion 技術(shù)團(tuán)隊(duì)如何使用WASM SQLite在瀏覽器中加速Notion 的性能。

WebAssembly (WASM) 是一種低級(jí)字節(jié)碼格式,能夠在現(xiàn)代瀏覽器中高效運(yùn)行。它被設(shè)計(jì)為一個(gè)可移植的目標(biāo),可以被多種編程語言編譯成它。它有接近原生的性能,同時(shí)可以安全地運(yùn)行在瀏覽器的沙箱環(huán)境中。

所以為了追求更好的性能,有些像 Notion 這樣的網(wǎng)站直接將 SQLite 編譯到 WebAssembly,相當(dāng)于在網(wǎng)站中加入了 SQLite。

這樣一來,更多的數(shù)據(jù)存到本地 SQLite ,減少不必要的網(wǎng)絡(luò)交互,對(duì)于網(wǎng)站的速度和性能會(huì)有很大提升。

責(zé)任編輯:武曉燕 來源: 古時(shí)的風(fēng)箏
相關(guān)推薦

2018-08-26 15:39:03

數(shù)據(jù)庫MySQL索引

2021-07-12 11:32:36

數(shù)據(jù)庫悲觀模式

2014-10-10 13:46:33

Docker

2024-10-28 13:07:35

MVP分析法產(chǎn)品

2020-08-04 14:20:20

數(shù)據(jù)湖Hadoop數(shù)據(jù)倉庫

2021-03-26 08:47:01

SD-WAN網(wǎng)絡(luò)5G

2025-03-28 01:33:00

2020-03-05 10:28:19

MySQLMRR磁盤讀

2022-10-08 00:00:00

Spring數(shù)據(jù)庫項(xiàng)目

2020-10-14 06:22:14

UWB技術(shù)感知

2010-11-01 01:25:36

Windows NT

2020-09-22 08:22:28

快充

2020-09-27 06:53:57

MavenCDNwrapper

2011-04-27 09:30:48

企業(yè)架構(gòu)

2021-02-03 21:48:17

設(shè)計(jì)App設(shè)計(jì)師

2023-10-11 08:29:54

volatileJava原子性

2009-06-09 22:11:44

JavaScriptObject

2021-01-21 21:24:34

DevOps開發(fā)工具

2023-07-12 15:32:49

人工智能AI

2021-07-07 05:07:15

JDKIterator迭代器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)