4月9日訊息,WCDB是微信團隊開源的一款基於SQLite的終端資料庫。自2017年6月開源以來,已經推出了十多個版本。
作為國內乃至全球範圍內使用最頻繁的App之一,微信內部涵蓋了各種不同業務的資料庫,儲存的訊息數可達百萬乃至千萬等級。這種龐大的資料量和日益豐富的應用場景,為WCDB 帶來了不斷更新的需求和挑戰,原有的程式碼框架逐漸難以應付。
因此,自 2019 年起,微信決定放棄介面的向後相容性,全力打造一個更強大的新版 WCDB。經過多次迭代,WCDB 的介面層和核心邏輯層已經得到了全面改進,同時也累積了許多新功能。
如今,微信宣布將該重大升級的新版本WCDB 進行開源,主要變更及更新包括:
更豐富的開發語言支援:新增支援了C ,完整支援了Java 和Kotlin 語言的ORM,涵蓋更多終端平台;
更強大的SQL 表達能力:對Winq 進行了重寫、強化等;
更安全的資料儲存能力:全新的資料備份方案、修復方案等;
ObjC 版本的 WCDB 的核心邏輯都是用 C 實作的,ObjC 只是用來實作介面層的邏輯。許多支援多種開發語言的函式庫都是使用 C 語言來實現核心邏輯,其他語言只是用來實作介面層,例如很熱門的客戶端 NoSQL 資料庫元件 realmDB 就是如此。 WCDB 也可以按照這個思路來設計,這樣 ObjC 版本的 WCDB 只需小幅調整,將核心邏輯完全改用 C 來實現,Swift 和 Java 通過橋接方法來接入 C 核心邏輯。
此外,為了充分支援微信各端不同場景的資料庫開發需求,WCDB 也擴展支援了 C 和 Kotlin,這樣就完整涵蓋了現在終端開發的主流語言。
使開發者能夠在各種語言中使用原生語法編寫任意 SQL。
在功能層面,新版 WCDB 推出了全新的資料備份和修復方案,提升了資料修復率,同時將資料備份的效能消耗降至可忽略不計。 此外,微信還重點推出了資料遷移和資料壓縮這兩個新功能,讓開發者透過簡單的配置,就能處理複雜業務中的資料過度聚集和資料過度膨脹這兩大難題。新版 WCDB 也推出了 FTS5 最佳化和可中斷事務等新特性,使開發者在特定場景下可以實現更極致的效能最佳化。新版WCDB 已在Github 開源,本站附專案位址:
https://github.com/Tencent/wcdb #
以上是微信全平台終端資料庫 WCDB 全新版本開源,新增支援 C++ 與 Kotlin的詳細內容。更多資訊請關注PHP中文網其他相關文章!