<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

微信WCDB最新開源版本發布,優化數據庫接口及核心邏輯,新增多項功能

微云疏影 ? 來源:綜合整理 ? 作者:綜合整理 ? 2024-04-09 15:59 ? 次閱讀

4 月 9 日報道,由微信團隊研發并已開源多年的 WCDB,是一款使用 SQLite 為基礎的終端數據庫。自 2017 年 6 月啟動以來,至今已推出超過十個版本。

而后,由于微信集團內部涉及眾多業務,數據規模高達百萬甚至千萬級別的現狀,原有 WCDB 模塊表現開始顯得力不從心。

為了解決以上問題,自 2019 年起,微信團隊決定對接口的向后兼容性予以放棄,著力于開發更加完善且強大的新版本 WCDB。歷經數次改良與迭代,WCDB 的接口層和核心邏輯層均獲得了顯著提高,同時也增加了諸多新穎而實用的功能。

如今,微信已經發布此項重大技術升級的新版本 WCDB,以及其更為豐富的開發語言支持,如新增 C++以及對 Java 和 Kotlin 語言的 ORM 提供完整支援,覆蓋越發廣泛的終端平臺;更強大的 SQL 表達能力,通過對 Winq 的重新書寫和強化體現出來;全新制定的數據存儲機制,包含了為用戶提供更全面的備份和修復計劃;更加便捷靈活的數據擴展能力,包括數據遷移及數據壓縮;更加精細入微的性能優化能力,例如 FTS5 效率提升及可中斷事務功能。

另外值得關注的是,早先的 WCDB 1.0 版本底部采用 Objective-C、Swift、Java 三種語言開發,雖然三者版本的 SQLite 和數據修復邏輯相同,但各自不同的代碼皆為獨立開發完成。

然而,隨著 WCDB 版本更替與逐步發展,Objective-C 版本實際發揮更多功能,而 Swift 和 Java 版則處于相對落后的境地,兩者間的差距日益加大。

理論上,不同版本的 WCDB 應具備相同實力,但是若將 Objective-C 版本的新邏輯在 Swift 和 Java 上重新實現,工作繁重且易出錯,且需二次上線驗證,因此并不可行。

幸運的是,Objective-C 版本中 WCDB 的核心邏輯都通過 C++ 得以實現,考慮到很多支持多語言開發的系統或庫都依賴 C++ 來構建核心邏輯,其他語言則受限于接口層實現,如業內知名的客戶端NoSQL 數據庫組件 realmDB 即是類似例子。

遵循此思路來看待 WCDB,只需稍作調整,便能轉換 Core Logic 以 C++ 方式實現,利用 Swift 和 Java 的橋接功能來接入 C++ core logic。同時為了滿足微信各個終端環境對數據庫開發的需求,WCDB 現已添加對 C++和 Kotlin 的支持,從而能夠全方位適配當前終端開發的主流語言。

在此基礎上,新版本 WCDB 進一步強化了接口層支持,對多個重要的終端開發語言,包括 C++、Java、Kotlin、Swift 和 Objective-C 均予以完整支持,涵蓋了 Android、iOS、Windows 和 Linux 四大終端平臺,同時微信也對 Winq 做了重寫和增強,使得開發人員可以在各類語言環境下面使用原生語法編寫任意 SQL 語句。

新版 WCDB 功能層面的亮點則在于引入全新的數據備份和修復策略,提升了數據修復成功率,同時將數據備份的資源占用降低至幾乎忽略不計。

據悉,WCDB 全新的版本還增設數據遷移和數據壓縮兩項功能,協助使用者通過簡略的設置處理復雜業務環境中所出現的數據過度集中和膨脹問題。

最后,新版本 WCDB 還優化改進了 FTS5 以及可中斷事務等特性,使得開發者在特定場合下能實現更高效的性能優化。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SQL
    SQL
    +關注

    關注

    1

    文章

    738

    瀏覽量

    43461
  • C++
    C++
    +關注

    關注

    21

    文章

    2066

    瀏覽量

    72899
  • 微信
    +關注

    關注

    6

    文章

    508

    瀏覽量

    26079
收藏 人收藏

    評論

    相關推薦

    阿維塔12發布3.2.0版本更新,新增多項功能優化細節

    特殊車道智能通行功能:城市和鄉村的智駕領航輔助(NCA)和車道巡航輔助(LCC)均新增功能,支持通過潮汐車道、公交車道控制桿進入NCA模式,并實現自動駛出的操作。
    的頭像 發表于 03-28 14:27 ?227次閱讀

    ?通過Modbus讀寫數據庫中的數據

    本文是將數據庫數據轉為Modbus服務端/從站,實現數據庫內的數據也可以走Modbus協議通過網口或串口讀寫的案例,下圖是通過智能網關的參數軟件(在附件中)配置的參數: 上圖中的配置
    發表于 03-14 13:44

    鴻蒙原生應用/元服務開發-新版本端云一體化模板體驗反饋

    Ability模板即可。 三、體驗 新增: 最新端云一體化新增“云數據庫端云一體組件”, 版本對比(舊版本未加入云
    發表于 12-05 14:57

    元件數據庫

    軟件可以識別設備的元件數據庫就好了,我們公司的機器數據都是用物料編碼建立的
    發表于 11-16 14:39

    OpenHarmony 4.0 Release版本發布,新增4000+ API

    近日,OpenHarmony 4.0 Release版本如期發布,開發套件同步升級到API 10。相比3.2 Release版本,OpenHarmony 4.0 Release版本
    的頭像 發表于 11-13 11:31 ?498次閱讀

    如何在HarmonyOS對數據庫進行備份,恢復與加密

    backup接口實現數據庫備份,通過restore接口實現數據庫恢復,通過deletebackup接口刪除
    發表于 11-07 08:57

    關于PLC設備對接ORACLE數據庫上傳查詢數據

    ;在斷網、服務器維護上報數據有異常時,網關主動將數據緩存,待故障解除后自動重新上報到數據庫;網關也支持多服務器冗余、異常未提交數據本地保存等功能
    發表于 10-12 15:34

    數據庫SQL的優化

    數據庫執行SQL都會先進行語義解析,然后將SQL分成一步一步可執行的計劃,然后逐步執行。通過分析執行計劃,我們可以清晰的看到數據庫執行的操作,這對于數據庫SQL的優化具有重大意義。 1
    的頭像 發表于 10-09 15:43 ?772次閱讀
    <b class='flag-5'>數據庫</b>SQL的<b class='flag-5'>優化</b>

    數據庫優化那些事

    我們出去面試經常會被問到數據庫這一塊,而涉及數據庫這一塊問的最多的就是數據庫優化。那么我們怎么做才能做好優化問題呢?今天我們就來聊聊
    的頭像 發表于 10-08 11:49 ?305次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>優化</b>那些事

    Evatronix R8051XC/R8051XC2 CPU核心的配置功能

    CPU 2 核心的配置功能。 此應用程序說明描述了 Evatronix R8051X 的配置功能。 KOVIC 如何在 NEVIC 內部組織新的 CVIC 數據庫 的 CLVI
    發表于 09-04 06:13

    開源數據庫迎來拐點|2023開放原子全球開源峰會數據庫分論壇成功召開

    6 月 12 日,2023 開放原子全球開源峰會數據庫分論壇在北京成功召開。論壇以?“以開源開放生態推動數據庫技術創新”?為主題,圍繞開源
    的頭像 發表于 06-15 14:26 ?447次閱讀
    <b class='flag-5'>開源</b><b class='flag-5'>數據庫</b>迎來拐點|2023開放原子全球<b class='flag-5'>開源</b>峰會<b class='flag-5'>數據庫</b>分論壇成功召開

    開源數據庫迎來拐點|2023開放原子全球開源峰會數據庫分論壇成功召開

    6 月12 日,2023 開放原子全球開源峰會數據庫分論壇在北京成功召開。 論壇以?“以開源開放生態推動數據庫技術創新”?為主題,圍繞開源
    的頭像 發表于 06-14 20:55 ?416次閱讀
    <b class='flag-5'>開源</b><b class='flag-5'>數據庫</b>迎來拐點|2023開放原子全球<b class='flag-5'>開源</b>峰會<b class='flag-5'>數據庫</b>分論壇成功召開

    開源數據庫迎來技術創新拐點|2023 開放原子全球開源峰會開源數據庫分論壇即將啟幕

    作為數字化轉型的核心基礎軟件,數據庫正在與開源技術結合,走向自主創新的新征程。開源模式已成為全球數據庫創新發展的主導模式,
    的頭像 發表于 06-01 16:28 ?291次閱讀
    <b class='flag-5'>開源</b><b class='flag-5'>數據庫</b>迎來技術創新拐點|2023 開放原子全球<b class='flag-5'>開源</b>峰會<b class='flag-5'>開源</b><b class='flag-5'>數據庫</b>分論壇即將啟幕

    開源數據庫迎來技術創新拐點|2023開放原子全球開源峰會開源數據庫分論壇即將啟幕

    作為數字化轉型的核心基礎軟件,數據庫正在與開源技術結合,走向自主創新的新征程。開源模式已成為全球數據庫創新發展的主導模式,
    的頭像 發表于 05-31 08:25 ?363次閱讀
    <b class='flag-5'>開源</b><b class='flag-5'>數據庫</b>迎來技術創新拐點|2023開放原子全球<b class='flag-5'>開源</b>峰會<b class='flag-5'>開源</b><b class='flag-5'>數據庫</b>分論壇即將啟幕

    KiCad EDA 版本說明

    KiCad EDA 的版本也遵循語義化版本規則,版本號通常以 x.y.z 組成。 x 為主版本號,當有重大升級更新時會升級主版本號,比如
    發表于 05-20 16:27
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>