SQLite這么小眾的數(shù)據(jù)庫,到底是什么人在用
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
前幾天在一個群里看到一位同學(xué)說:“SQLite這么小眾的數(shù)據(jù)庫,到底是什么人在用???” 首先要說的是 SQLite 可不是小眾的數(shù)據(jù)庫,相反,SQLite 是世界上裝機量最多的數(shù)據(jù)庫,遠(yuǎn)超 MySQL,只不過比較低調(diào)而已。低調(diào)到我想在官網(wǎng)上找一個好看的用來當(dāng)插圖的圖片都找不到,只能截一張官網(wǎng)首頁來撐一撐,看起來十分樸素。
Lync 支持二次擴展,結(jié)合我們的產(chǎn)品需要在其中做一些功能拓展,負(fù)責(zé)這項工作的是一位厲害的 C++ 大佬。有一次我和他聊起來,我說客戶端要記住用戶自己的配置和數(shù)據(jù),是不是要在目錄下放一個配置文件啊,那數(shù)據(jù)量大了會不會很慢。他說,用配置文件也行,但是咱這個不用配置文件,用 SQLite。 也是孤陋寡聞,那是我第一次聽說 SQLite,才知道這也是個數(shù)據(jù)庫,只不過多用在客戶端而不是服務(wù)器上。 SQLite
SQLite是一個輕量級的嵌入式關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它由D. Richard Hipp在2000年開發(fā),它實現(xiàn)了一個小型、快速、獨立、高可靠性、功能齊全的SQL數(shù)據(jù)庫引擎。 SQLite 用C語言開發(fā),最開始的設(shè)計目標(biāo)是嵌入式系統(tǒng),它可以在不需要單獨的服務(wù)器進程的情況下,直接嵌入到應(yīng)用程序中。后來正好趕上智能手機等智能設(shè)備普及,正好契合 SQLite 的使用場景,于是大量的智能設(shè)備都在使用 SQLite 。這么說吧,你用的手機上,一定有 SQLite 存在。 像 MySQL 一樣,SQLite 也是開源且免費的,據(jù)官方統(tǒng)計,目前正在使用的 SQLite 數(shù)據(jù)庫超過 1 萬億個。 SQLite 也可以通過配置像MySQL 那樣裝在服務(wù)器上,通過網(wǎng)絡(luò)連接訪問,但是,完全沒有必要。 SQLite 支持C、C++、Java、Python、Swift等大多數(shù)語言直接使用。 為什么說你的手機上肯定有 SQLite 呢?因為 SQLite 會隨著應(yīng)用程序代碼一起打包,所以這樣說來,你的手機上還不止一個 SQLite ,可能有很多,例如微信有一個、美團有一個、網(wǎng)易云音樂等等 APP ,都可能包含自己的 SQLite。 使用場景有哪些移動應(yīng)用前面也一直在說手機上的SQLite。Android就默認(rèn)集成了SQLite作為應(yīng)用數(shù)據(jù)存儲的標(biāo)準(zhǔn)解決方案。 Apple 的 IOS 其實提供了自己的數(shù)據(jù)存儲方案,比如 CoreData,但是很多開發(fā)者都覺得官方提供的方案實在太難用,所以,有很多應(yīng)用開發(fā)者還是選擇 SQLite 作為本地存儲方案使用。 嵌入式系統(tǒng)SQLite 本來就是為了嵌入式系統(tǒng)設(shè)計的,所以它的特點就是輕量和高性能嗎,這也使得他在嵌入式系統(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ù)都會存在本地,這種場景正好適合SQLite 這種輕量級數(shù)據(jù)庫。 數(shù)據(jù)分析和處理SQLite還可以用于處理和分析小規(guī)模的數(shù)據(jù)集。例如,數(shù)據(jù)科學(xué)家可以使用SQLite來存儲和操作中小型數(shù)據(jù)集,以進行數(shù)據(jù)清理、轉(zhuǎn)換和分析。 網(wǎng)站加速最近看了一篇文章,介紹 Notion 技術(shù)團隊如何使用WASM SQLite在瀏覽器中加速Notion 的性能。 WebAssembly (WASM) 是一種低級字節(jié)碼格式,能夠在現(xiàn)代瀏覽器中高效運行。它被設(shè)計為一個可移植的目標(biāo),可以被多種編程語言編譯成它。 它有接近原生的性能,同時可以安全地運行在瀏覽器的沙箱環(huán)境中。 所以為了追求更好的性能,有些像 Notion 這樣的網(wǎng)站直接將 SQLite 編譯到 WebAssembly,相當(dāng)于在網(wǎng)站中加入了 SQLite。 這樣一來,更多的數(shù)據(jù)存到本地 SQLite ,減少不必要的網(wǎng)絡(luò)交互,對于網(wǎng)站的速度和性能會有很大提升。 ?轉(zhuǎn)自https://juejin.cn/post/7396563478012051495 該文章在 2025/3/7 10:18:54 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |