首頁 科技週邊 IT業界 微信全平台終端資料庫 WCDB 全新版本開源,新增支援 C++ 與 Kotlin

微信全平台終端資料庫 WCDB 全新版本開源,新增支援 C++ 與 Kotlin

Apr 09, 2024 pm 04:16 PM
linux git 資料庫 c++ wcdb 微信開源 騰訊開源

4月9日訊息,WCDB是微信團隊開源的一款基於SQLite的終端資料庫。自2017年6月開源以來,已經推出了十多個版本。

作為國內乃至全球範圍內使用最頻繁的App之一,微信內部涵蓋了各種不同業務的資料庫,儲存的訊息數可達百萬乃至千萬等級。這種龐大的資料量和日益豐富的應用場景,為WCDB 帶來了不斷更新的需求和挑戰,原有的程式碼框架逐漸難以應付。

因此,自 2019 年起,微信決定放棄介面的向後相容性,全力打造一個更強大的新版 WCDB。經過多次迭代,WCDB 的介面層和核心邏輯層已經得到了全面改進,同時也累積了許多新功能。

如今,微信宣布將該重大升級的新版本WCDB 進行開源,主要變更及更新包括:

  • 更豐富的開發語言支援:新增支援了C ,完整支援了Java 和Kotlin 語言的ORM,涵蓋更多終端平台;

  • 更強大的SQL 表達能力:對Winq 進行了重寫、強化等;

  • 更安全的資料儲存能力:全新的資料備份方案、修復方案等;

  • ##更靈活的資料擴充能力:資料遷移、資料壓縮等;

  • 更細緻的效能最佳化能力:FTS5 最佳化、可中斷交易等。

WCDB 1.0版本支援Objective-C、Swift、Java三種開發語言,除了三種語言的WCDB除了共用相同版本的SQLite和共用相同套備份修復邏輯,其餘程式碼都是獨立開發的。

隨著WCDB 不斷迭代,WCDB 的許多新能力都是在ObjC 版本上開發完成和上線驗證,Swift 和Java 版本基本上處於停止迭代的狀態,他們之間的差異也越來越大。在理想的狀態下,不同語言版本的WCDB 應該擁有同樣的能力,但是如果把ObjC 版本的新邏輯重新在Swift 和Java 上實現一遍,不僅工作量大,還容易出錯,需要再次上線驗證,不太現實。

幸運的是,

ObjC 版本的 WCDB 的核心邏輯都是用 C 實作的,ObjC 只是用來實作介面層的邏輯。許多支援多種開發語言的函式庫都是使用 C 語言來實現核心邏輯,其他語言只是用來實作介面層,例如很熱門的客戶端 NoSQL 資料庫元件 realmDB 就是如此。 WCDB 也可以按照這個思路來設計,這樣 ObjC 版本的 WCDB 只需小幅調整,將核心邏輯完全改用 C 來實現,Swift 和 Java 通過橋接方法來接入 C 核心邏輯。

此外,為了充分支援微信各端不同場景的資料庫開發需求,

WCDB 也擴展支援了 C 和 Kotlin,這樣就完整涵蓋了現在終端開發的主流語言

微信全平台终端数据库 WCDB 全新版本开源,新增支持 C++ 和 Kotlin
在介面層面,新版WCDB 全面支援了C 、Java、Kotlin、Swift 和ObjC 這五種主要的終端開發語言,涵蓋了Android、iOS、Windows 和Linux 這四大終端平台。同時,微信也對 Winq 進行了重寫和強化,

使開發者能夠在各種語言中使用原生語法編寫任意 SQL

在功能層面,新版 WCDB 推出了全新的資料備份和修復方案,提升了資料修復率,同時將資料備份的效能消耗降至可忽略不計。

此外,微信還重點推出了資料遷移和資料壓縮這兩個新功能,讓開發者透過簡單的配置,就能處理複雜業務中的資料過度聚集和資料過度膨脹這兩大難題。新版 WCDB 也推出了 FTS5 最佳化和可中斷事務等新特性,使開發者在特定場景下可以實現更極致的效能最佳化。

新版WCDB 已在Github 開源,本站附專案位址:

https://github.com/Tencent/wcdb #

以上是微信全平台終端資料庫 WCDB 全新版本開源,新增支援 C++ 與 Kotlin的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

apache80端口被佔用怎麼辦 apache80端口被佔用怎麼辦 Apr 13, 2025 pm 01:24 PM

當 Apache 80 端口被佔用時,解決方法如下:找出佔用該端口的進程並關閉它。檢查防火牆設置以確保 Apache 未被阻止。如果以上方法無效,請重新配置 Apache 使用不同的端口。重啟 Apache 服務。

apache怎麼啟動 apache怎麼啟動 Apr 13, 2025 pm 01:06 PM

啟動 Apache 的步驟如下:安裝 Apache(命令:sudo apt-get install apache2 或從官網下載)啟動 Apache(Linux:sudo systemctl start apache2;Windows:右鍵“Apache2.4”服務並選擇“啟動”)檢查是否已啟動(Linux:sudo systemctl status apache2;Windows:查看服務管理器中“Apache2.4”服務的狀態)啟用開機自動啟動(可選,Linux:sudo systemctl

apache服務器怎麼重啟 apache服務器怎麼重啟 Apr 13, 2025 pm 01:12 PM

要重啟 Apache 服務器,請按照以下步驟操作:Linux/macOS:運行 sudo systemctl restart apache2。 Windows:運行 net stop Apache2.4 然後 net start Apache2.4。運行 netstat -a | findstr 80 檢查服務器狀態。

Debian syslog如何學習 Debian syslog如何學習 Apr 13, 2025 am 11:51 AM

本指南將指導您學習如何在Debian系統中使用Syslog。 Syslog是Linux系統中用於記錄系統和應用程序日誌消息的關鍵服務,它幫助管理員監控和分析系統活動,從而快速識別並解決問題。一、Syslog基礎知識Syslog的核心功能包括:集中收集和管理日誌消息;支持多種日誌輸出格式和目標位置(例如文件或網絡);提供實時日誌查看和過濾功能。二、安裝和配置Syslog(使用Rsyslog)Debian系統默認使用Rsyslog。您可以通過以下命令安裝:sudoaptupdatesud

apache不能啟動怎麼解決 apache不能啟動怎麼解決 Apr 13, 2025 pm 01:21 PM

Apache 無法啟動,原因可能有以下幾點:配置文件語法錯誤。與其他應用程序端口衝突。權限問題。內存不足。進程死鎖。守護進程故障。 SELinux 權限問題。防火牆問題。軟件衝突。

如何在Debian上升級Zookeeper版本 如何在Debian上升級Zookeeper版本 Apr 13, 2025 am 10:42 AM

在Debian系統上升級Zookeeper版本,可以按照以下步驟進行:1.備份現有配置和數據在進行任何升級之前,強烈建議備份現有的Zookeeper配置文件和數據目錄。 sudocp-r/var/lib/zookeeper/var/lib/zookeeper_backupsudocp/etc/zookeeper/conf/zoo.cfg/etc/zookeeper/conf/z

Debian系統中GitLab的資源佔用情況 Debian系統中GitLab的資源佔用情況 Apr 13, 2025 am 10:48 AM

在Debian系統中,GitLab的資源佔用情況是一個重要的考量因素,特別是在進行高負載操作如CI/CD時。以下是對GitLab資源佔用情況的詳細分析和建議:資源佔用概況CPU使用率:GitLab運行後,CPU的平均使用率可能保持在30%左右,但在高負載情況下,如頻繁的CI/CD操作,CPU使用率可能會飆升。內存使用率:內存使用率通常保持在75%左右,一旦有人開始訪問GitLab頁面進行操作

GitLab在Debian中的安裝步驟是什麼 GitLab在Debian中的安裝步驟是什麼 Apr 13, 2025 am 10:33 AM

在Debian系統中安裝GitLab的步驟如下:更新系統包:sudoapt-getupdate安裝依賴項:sudoapt-getinstall-ycurlopenssh-serverca-certificatestzdataperl添加GitLab官方倉庫:curlhttps://packages.gitlab.com/install/reposit

See all articles