精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

微信WCDB最新開源版本發(fā)布,優(yōu)化數(shù)據(jù)庫接口及核心邏輯,新增多項功能

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

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

而后,由于微信集團內(nèi)部涉及眾多業(yè)務(wù),數(shù)據(jù)規(guī)模高達百萬甚至千萬級別的現(xiàn)狀,原有 WCDB 模塊表現(xiàn)開始顯得力不從心。

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

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

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

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

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

幸運的是,Objective-C 版本中 WCDB 的核心邏輯都通過 C++ 得以實現(xiàn),考慮到很多支持多語言開發(fā)的系統(tǒng)或庫都依賴 C++ 來構(gòu)建核心邏輯,其他語言則受限于接口層實現(xiàn),如業(yè)內(nèi)知名的客戶端NoSQL 數(shù)據(jù)庫組件 realmDB 即是類似例子。

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

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

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

據(jù)悉,WCDB 全新的版本還增設(shè)數(shù)據(jù)遷移和數(shù)據(jù)壓縮兩項功能,協(xié)助使用者通過簡略的設(shè)置處理復(fù)雜業(yè)務(wù)環(huán)境中所出現(xiàn)的數(shù)據(jù)過度集中和膨脹問題。

最后,新版本 WCDB 還優(yōu)化改進了 FTS5 以及可中斷事務(wù)等特性,使得開發(fā)者在特定場合下能實現(xiàn)更高效的性能優(yōu)化。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    759

    瀏覽量

    44069
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2104

    瀏覽量

    73487
  • 微信
    +關(guān)注

    關(guān)注

    6

    文章

    509

    瀏覽量

    26522
收藏 人收藏

    評論

    相關(guān)推薦

    Linux4.0.0版發(fā)布功能再升級

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

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

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

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復(fù)案例

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

    阿里云與中興通訊達成開源數(shù)據(jù)庫合作

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

    阿里云與中興通訊達成開源數(shù)據(jù)庫合作,助推國產(chǎn)數(shù)據(jù)庫發(fā)展

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

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

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

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—raid5陣列上層Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

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

    選擇 KV 數(shù)據(jù)庫最重要的是什么?

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

    阿維塔12發(fā)布3.2.0版本更新,新增多項功能優(yōu)化細節(jié)

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

    深耕文檔型數(shù)據(jù)庫12載,SequoiaDB再開源

    1月15日,巨杉數(shù)據(jù)庫舉行SequoiaDB新特性及開源項目發(fā)布活動。本次活動回顧了巨杉數(shù)據(jù)庫深耕JSON文檔型數(shù)據(jù)庫12年的發(fā)展歷程與技術(shù)
    的頭像 發(fā)表于 01-16 13:06 ?272次閱讀

    oracle數(shù)據(jù)庫的基本操作

    Oracle數(shù)據(jù)庫是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),廣泛應(yīng)用于企業(yè)級應(yīng)用中。它具有強大的功能和靈活的配置選項,可以滿足復(fù)雜的數(shù)據(jù)處理需求。本文將介紹Oracle
    的頭像 發(fā)表于 12-06 10:14 ?661次閱讀

    oracle數(shù)據(jù)庫的使用方法

    數(shù)據(jù)庫的使用方法,包括安裝和配置、基本操作、高級功能等方面。 一、安裝和配置 安裝Oracle數(shù)據(jù)庫前,您需要先下載合適的安裝包,根據(jù)操作系統(tǒng)的要求選擇相應(yīng)的版本。安裝Oracle
    的頭像 發(fā)表于 12-06 10:10 ?1180次閱讀

    oracle數(shù)據(jù)庫alert日志作用

    Oracle數(shù)據(jù)庫的alert日志是數(shù)據(jù)庫引擎和實例的核心組件之一,它記錄著數(shù)據(jù)庫的運行狀況和事件。該日志對于數(shù)據(jù)庫的性能調(diào)優(yōu)、問題排查和安
    的頭像 發(fā)表于 12-06 10:08 ?1194次閱讀

    什么是JSON數(shù)據(jù)庫

    數(shù)據(jù)庫的顯著優(yōu)勢關(guān)于JSON數(shù)據(jù)庫的Q&A一、什么是JSON?首先,我們得明確“JSON”的含義。開發(fā)人員在創(chuàng)建業(yè)務(wù)邏輯、用戶界面、數(shù)據(jù)庫或后端系統(tǒng)時,需要一種描述
    的頭像 發(fā)表于 12-02 08:04 ?824次閱讀
    什么是JSON<b class='flag-5'>數(shù)據(jù)庫</b>

    NoSQL 數(shù)據(jù)庫如何選型

    什么是NoSQL數(shù)據(jù)庫?為什么要使用NoSQL數(shù)據(jù)庫?鍵值數(shù)據(jù)庫內(nèi)存鍵值數(shù)據(jù)庫文檔數(shù)據(jù)庫列式數(shù)據(jù)庫
    的頭像 發(fā)表于 11-26 08:05 ?445次閱讀
    NoSQL <b class='flag-5'>數(shù)據(jù)庫</b>如何選型