Heim > Technologie-Peripheriegeräte > IT Industrie > Eine neue Version der plattformübergreifenden Terminaldatenbank WCDB von WeChat ist Open Source und bietet neue Unterstützung für C++ und Kotlin

Eine neue Version der plattformübergreifenden Terminaldatenbank WCDB von WeChat ist Open Source und bietet neue Unterstützung für C++ und Kotlin

PHPz
Freigeben: 2024-04-09 16:16:24
nach vorne
1263 Leute haben es durchsucht

Laut Nachrichten vom 9. April handelt es sich bei WCDB um eine Terminaldatenbank, die auf SQLite Open Source basiert und vom WeChat-Team bereitgestellt wird. Seit der Open-Source-Veröffentlichung im Juni 2017 wurden mehr als zehn Versionen veröffentlicht.

Als eine der am häufigsten genutzten Apps in China und sogar weltweit deckt WeChat intern Datenbanken für verschiedene Unternehmen ab und die Anzahl der gespeicherten Nachrichten kann Millionen oder sogar mehrere zehn Millionen erreichen. Diese riesige Datenmenge und die immer umfangreicheren Anwendungsszenarien haben zu ständig aktualisierten Anforderungen und Herausforderungen für WCDB geführt, und das ursprüngliche Code-Framework ist nach und nach schwer zu bewältigen.

Daher hat WeChat ab 2019 beschlossen, die Abwärtskompatibilität der Schnittstelle aufzugeben und alle Anstrengungen zu unternehmen, um eine neue und leistungsfähigere Version von WCDB zu erstellen. Nach mehreren Iterationen wurden die Schnittstellenschicht und die Kernlogikschicht von WCDB umfassend verbessert und es wurden auch viele neue Funktionen hinzugefügt.

Jetzt hat WeChat angekündigt, dass die neue Version von WCDB, ein großes Upgrade, Open Source sein wird Zu den wichtigsten Änderungen und Aktualisierungen gehören:

  • Umfangreichere Unterstützung für Entwicklungssprachen: zusätzliche Unterstützung für C++, vollständige Unterstützung für Java und Kotlin-Sprachen ORM, das mehr Terminalplattformen abdeckt;

  • Leistungsstärkere SQL-Ausdrucksfunktionen: Winq wurde neu geschrieben, gestärkt usw.;

  • Flexiblere Datenerweiterungsfunktionen: Datenmigration, Datenkomprimierung usw.;

  • Detailliertere Leistungsoptimierungsfunktionen: FTS5-Optimierung, unterbrechbare Transaktionen usw.

  • WCDB Version 1.0 unterstützt drei Entwicklungssprachen: Objective-C, Swift und Java. Mit Ausnahme der drei Sprachen von WCDB, die dieselbe Version von SQLite und denselben Satz an Sicherungs- und Reparaturlogik verwenden Der Code wird unabhängig entwickelt.

  • Während WCDB weiter iteriert, werden viele der neuen Funktionen von WCDB online in der ObjC-Version entwickelt und verifiziert. Die Swift- und Java-Versionen befinden sich im Grunde in einem Zustand, in dem die Iteration gestoppt wird, und die Unterschiede zwischen ihnen werden immer größer. Im Idealfall sollte WCDB in verschiedenen Sprachversionen über die gleichen Fähigkeiten verfügen. Wenn die neue Logik der ObjC-Version jedoch in Swift und Java erneut implementiert wird, ist dies nicht nur eine hohe Arbeitsbelastung, sondern auch fehleranfällig. Es muss noch einmal online verifiziert werden, was nicht ganz der Realität entspricht.

Glücklicherweise ist die Kernlogik der

ObjC-Version von WCDB in C++ implementiert, und ObjC wird nur zur Implementierung der Schnittstellenschichtlogik verwendet

. Viele Bibliotheken, die mehrere Entwicklungssprachen unterstützen, verwenden die Sprache C++ zur Implementierung der Kernlogik, während andere Sprachen nur zur Implementierung der Schnittstellenschicht verwendet werden, beispielsweise die sehr beliebte clientseitige NoSQL-Datenbankkomponente realmDB. WCDB kann auch nach dieser Idee entworfen werden, sodass die ObjC-Version von WCDB nur geringfügige Anpassungen erfordert und die Kernlogik vollständig in C++ implementiert ist. Swift und Java greifen über die Bridging-Methode auf die C++-Kernlogik zu.

Um die Datenbankentwicklungsanforderungen verschiedener Szenarien auf jeder Seite von WeChat vollständig zu unterstützen, hat WCDB außerdem seine Unterstützung für C++ und Kotlin erweitert und deckt damit die gängigen Sprachen für die Terminalentwicklung vollständig ab.

Auf Schnittstellenebene unterstützt die neue Version von WCDB vollständig die fünf wichtigsten Terminalentwicklungssprachen C++, Java, Kotlin, Swift und ObjC und deckt die vier wichtigsten Terminalplattformen Android und iOS ab , Windows und Linux. Gleichzeitig hat WeChat auch Winq neu geschrieben und verbessert, „um es Entwicklern zu ermöglichen, beliebiges SQL mit nativer Syntax in verschiedenen Sprachen zu schreiben“.

微信全平台终端数据库 WCDB 全新版本开源,新增支持 C++ 和 KotlinAuf funktionaler Ebene wurde mit der neuen Version von WCDB eine neue Datensicherungs- und Reparaturlösung eingeführt, die die Datenreparaturrate verbessert und den Leistungsverbrauch der Datensicherung auf ein vernachlässigbares Maß reduziert.
Darüber hinaus hat WeChat zwei neue Funktionen eingeführt: Datenmigration und Datenkomprimierung, die es Entwicklern ermöglichen, durch einfache Konfiguration die beiden Hauptprobleme übermäßiger Datenaggregation und übermäßiger Datenerweiterung in komplexen Unternehmen zu bewältigen. Die neue Version von WCDB führt außerdem neue Funktionen wie FTS5-Optimierung und unterbrechbare Transaktionen ein, sodass Entwickler in bestimmten Szenarien eine extremere Leistungsoptimierung erreichen können.

Die neue Version von WCDB ist Open Source auf Github

. Die Projektadresse ist dieser Website beigefügt:

https://github.com/Tencent/wcdb

Das obige ist der detaillierte Inhalt vonEine neue Version der plattformübergreifenden Terminaldatenbank WCDB von WeChat ist Open Source und bietet neue Unterstützung für C++ und Kotlin. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:ithome.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage