4 月 9 日のニュース WCDB は、WeChat チームによってオープンソース化された SQLite に基づく端末データベースです。 2017 年 6 月にオープンソース化されて以来、10 を超えるバージョンがリリースされています。
中国だけでなく世界中で最も頻繁に使用されているアプリの 1 つである WeChat は、内部的にさまざまなビジネスのデータベースをカバーしており、保存されるメッセージの数は数百万、場合によっては数千万に達することがあります。この膨大な量のデータとますます豊富になるアプリケーション シナリオにより、WCDB には常に更新されるニーズと課題がもたらされており、元のコード フレームワークでは徐々に対応することが困難になってきています。
したがって、WeChat は 2019 年からインターフェイスの下位互換性を放棄し、より強力な新しいバージョンの WCDB を作成するためにあらゆる努力を払うことにしました。複数回の反復を経て、WCDB のインターフェイス層とコア ロジック層は包括的に改善され、多くの新機能も蓄積されました。
さて、 WeChat は、大幅にアップグレードされた WCDB の新バージョンがオープン ソースになることを発表しました . 主な変更点と更新内容は次のとおりです:
より豊富な開発言語サポート: C の新規サポート、Java および Kotlin 言語 ORM の完全サポート、より多くのターミナル プラットフォームをカバー;
より強力な SQL 式機能: Winq が書き直されました。強化など;
より安全なデータストレージ機能: 新しいデータバックアップソリューション、修復ソリューションなど;
より柔軟なデータ拡張機能: データ移行、データ圧縮など;
さらに詳細なパフォーマンス最適化機能: FTS5 最適化、中断可能なトランザクションなど。
WCDB バージョン 1.0 は、Objective-C、Swift、Java の 3 つの開発言語をサポートしています。WCDB の 3 つの言語を除き、それらは同じバージョンの SQLite とバックアップと修復のロジックは同じセットで、コードはすべて独立して開発されています。
WCDB が反復を続けるにつれて、WCDB の新機能の多くは ObjC バージョンでオンラインで開発および検証されています。Swift バージョンと Java バージョンは基本的に反復を停止した状態にあり、両者の違いはさらに大きくなっていますそしてもっと大きい。理想的には、異なる言語バージョンの WCDB が同じ機能を備えているはずですが、ObjC バージョンの新しいロジックを Swift と Java で再実装すると、作業負荷が高くなるだけでなく、エラーが発生しやすくなります。再度オンラインで認証する必要がありますが、これはあまり良いことではありません。
幸いなことに、WCDB の ObjC バージョンのコア ロジックは C で実装されており、ObjC はインターフェイス層のロジックを実装するためにのみ使用されます。複数の開発言語をサポートする多くのライブラリは、コア ロジックの実装に C 言語を使用し、他の言語は、非常に人気のあるクライアント側 NoSQL データベース コンポーネント realmDB などのインターフェイス層の実装にのみ使用されます。 WCDB もこの考え方に従って設計できるため、WCDB の ObjC バージョンはわずかな調整だけで済み、コア ロジックは完全に C で実装されます。Swift と Java はブリッジ メソッドを通じて C コア ロジックにアクセスします。
さらに、WeChat のそれぞれの側でさまざまなシナリオのデータベース開発ニーズを完全にサポートするために、WCDB は C と Kotlin のサポートも拡張し、現在の主流言語を完全にカバーしています。端末開発用。
インターフェイス レベルでは、WCDB の新バージョンは、C、Java、Kotlin、Swift の 5 つの主要なターミナル開発言語を完全にサポートしています。および ObjC は、Android、iOS、Windows、Linux の 4 つの主要な端末プラットフォームをカバーします。同時に、WeChat は Winq を書き換えて強化し、 開発者がさまざまな言語のネイティブ構文を使用して任意の SQL を作成できるようにしました。
機能レベルでは、WCDB の新しいバージョンでは、新しいデータ バックアップおよび修復ソリューションが開始されました。これにより、データ修復率が向上し、データ バックアップのパフォーマンス消費が無視できるレベルに削減されます。
さらに、WeChat はデータ移行とデータ圧縮という 2 つの新機能も開始し、開発者はシンプルな構成で複雑なビジネスにおける過剰なデータ集約と過剰なデータ拡張という 2 つの大きな問題に対処できるようになりました。 WCDB の新バージョンでは、FTS5 最適化や割り込み可能なトランザクションなどの新機能も導入されており、開発者は特定のシナリオでより極端なパフォーマンスの最適化を実現できます。
WCDB の新しいバージョンは Github でオープンソース化されており、プロジェクトのアドレスはこのサイトに添付されています:
https://github.com/テンセント/wcdb#
以上がWeChat のフルプラットフォーム端末データベース WCDB の新バージョンはオープンソースであり、C++ と Kotlin を新たにサポートしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。