吴忠躺衫网络科技有限公司

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 均予以完整支持,涵蓋了 AndroidiOS、Windows 和 Linux 四大終端平臺,同時微信也對 Winq 做了重寫和增強,使得開發人員可以在各類語言環境下面使用原生語法編寫任意 SQL 語句。

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

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

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

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

    關注

    1

    文章

    774

    瀏覽量

    44250
  • C++
    C++
    +關注

    關注

    22

    文章

    2114

    瀏覽量

    73855
  • 微信
    +關注

    關注

    6

    文章

    512

    瀏覽量

    26756
收藏 人收藏

    評論

    相關推薦

    Oracle數據庫的多功能集成開發環境

    Oracle數據庫的多功能集成開發環境 快捷菜單中的可視化對象編輯器 上下文感知的SQL代碼補全、智能格式化和重構 逐步執行的自動調試功能功能
    的頭像 發表于 01-14 13:52 ?116次閱讀
    Oracle<b class='flag-5'>數據庫</b>的多<b class='flag-5'>功能</b>集成開發環境

    MySQL數據庫的安裝

    MySQL是一個開源免費的關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下公司。 MySQL 最流行的關系型數據庫管理系統,在 WEB 應用方面MySQL是最好
    的頭像 發表于 01-14 11:25 ?131次閱讀
    MySQL<b class='flag-5'>數據庫</b>的安裝

    數據庫是哪種數據庫類型?

    數據庫是一種部署在虛擬計算環境中的數據庫,它融合了云計算的彈性和可擴展性,為用戶提供高效、靈活的數據庫服務。云數據庫主要分為兩大類:關系型數據庫
    的頭像 發表于 01-07 10:22 ?137次閱讀

    Linux4.0.0版發布功能再升級

    近日,備受矚目的Linux4.0.0版本終于迎來了正式發布。此次版本更新不僅帶來了多項實用
    的頭像 發表于 11-06 10:59 ?390次閱讀

    數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

    一個運行在存儲上的SQLServer數據庫,有1000多個文件,大小幾十TB。數據庫每10天生成一個NDF文件,每個NDF幾百GB大小。數據庫包含兩個LDF文件。 存儲損壞,數據庫
    的頭像 發表于 10-31 13:21 ?332次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—通過拼接<b class='flag-5'>數據庫</b>碎片恢復SQLserver<b class='flag-5'>數據庫</b>

    數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

    SQL Server數據庫故障: SQL Server附加數據庫出現錯誤823,附加數據庫失敗。數據庫沒有備份,無法通過備份恢復數據庫
    的頭像 發表于 09-20 11:46 ?408次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b>恢復案例

    基于WDS證券行業建設金融創云承載數據庫類關鍵應用

    基于WDS證券行業建設金融創云承載數據庫類關鍵應用
    的頭像 發表于 09-03 10:07 ?290次閱讀
    基于WDS證券行業建設金融<b class='flag-5'>信</b>創云承載<b class='flag-5'>數據庫</b>類關鍵應用

    軟件系統數據庫的分庫分表設計

    軟件系統數據庫的分庫分表設計 系統讀寫分離、分庫分表技術實現采用MyCat中間件,MyCat 是一款開源(遵循 Apache License 2.0 協議)的大數據庫集群中間件,用于搭建數據庫
    的頭像 發表于 08-22 11:39 ?366次閱讀
    軟件系統<b class='flag-5'>數據庫</b>的分庫分表設計

    基于分布式存儲WDS的金融創云承載數據庫類關鍵應用

    基于分布式存儲WDS的金融創云承載數據庫類關鍵應用
    的頭像 發表于 08-16 09:42 ?325次閱讀
    基于分布式存儲WDS的金融<b class='flag-5'>信</b>創云承載<b class='flag-5'>數據庫</b>類關鍵應用

    阿里云與中興通訊達成開源數據庫合作

    近日,阿里云與中興通訊宣布達成開源數據庫領域的深度合作。中興通訊正式加入PolarDB開源社區,并榮任首屆理事會成員單位,這一舉措標志著兩大科技巨頭在數據庫領域的合作邁向新的高度。
    的頭像 發表于 05-17 10:47 ?618次閱讀

    阿里云與中興通訊達成開源數據庫合作,助推國產數據庫發展

    據悉,阿里云與中興通訊于5月16日公布了開源數據庫合作事宜。中興通訊正式宣布加入PolarDB開源社區,并擔任首屆理事會成員單位。
    的頭像 發表于 05-16 16:34 ?518次閱讀

    新開源代碼證實!“鴻蒙原生版”正在積極開發中

    話不多說,直接看圖: 這是 MMKV 最新版本 v1.3.5 的發布說明。 MMKV 是團隊開源的鍵值對(Key-Value)存儲系統
    發表于 05-08 17:08

    數據庫數據恢復—raid5陣列上層Sql Server數據庫數據恢復案例

    數據庫數據恢復環境: 5塊硬盤組建一組RAID5陣列,劃分LUN供windows系統服務器使用。windows系統服務器內運行了Sql Server數據庫,存儲空間在操作系統層面劃分了三個
    的頭像 發表于 05-08 11:43 ?577次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—raid5陣列上層Sql Server<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復案例

    選擇 KV 數據庫最重要的是什么?

    經常有客戶提到 KV 數據庫,但卻偏偏“不要 Redis”。比如有個做安全威脅分析平臺的客戶,他們明確表示自己對可靠性要求非常高,需要的不是開源 Redis 這種內存緩存,而是 KV 數據庫
    的頭像 發表于 03-28 22:11 ?743次閱讀
    選擇 KV <b class='flag-5'>數據庫</b>最重要的是什么?

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

    特殊車道智能通行功能:城市和鄉村的智駕領航輔助(NCA)和車道巡航輔助(LCC)均新增功能,支持通過潮汐車道、公交車道控制桿進入NCA模式,并實現自動駛出的操作。
    的頭像 發表于 03-28 14:27 ?708次閱讀
    女优百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城老品牌值得您信赖lm0| 博九网百家乐游戏| 上海百家乐官网的玩法技巧和规则| 在线百家乐官网官方网| 阿拉善右旗| 六枝特区| 龙南县| 百家乐官网星级游戏| 至尊百家乐官网规则| 永年县| 澳门百家乐官网庄闲的玩法 | 澳门百家乐技巧经| 澳门赌百家乐能赢钱吗| 娱乐网百家乐补丁| 扑克百家乐麻将筹码防伪| 百家乐破解秘| 大发888 充值| 博乐市| 百家乐官网最新投注方法| 抚松县| 百家乐官网园鼎丰娱乐城| 联众百家乐官网的玩法技巧和规则| 伟德百家乐下载| 仕達屋百家乐的玩法技巧和规则| 国美百家乐的玩法技巧和规则 | 百家乐官网必胜打| 百家乐视频游戏网站| 威尼斯人娱乐城游戏平台| 赌球赔率| 圆梦城百家乐官网娱乐城| 百家乐真钱路怎么看| 二八杠生死门口诀| 百家乐官网游戏平台有哪些哪家的口碑最好 | 鄯善县| 百家乐官网画面方法| 百家乐3式打法微笑心法| 利高娱乐城| 网上百家乐官网指| 大发888官方6| 赌场百家乐官网的玩法技巧和规则|