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

Apr 09, 2024 pm 04:16 PM
linux git Datenbank c++ wcdb WeChat Open Source Tencent Open Source

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!

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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1510
276
Prägungsvorhersage (Beweismünze) Preisprognose: 2025, 2026, 2027-2030 Prägungsvorhersage (Beweismünze) Preisprognose: 2025, 2026, 2027-2030 Aug 11, 2025 am 10:12 AM

Verzeichnis Was ist prägnant (beweisen) Welches Risikokapital unterstützt prägnant (beweisen)? Wie prägnant (beweist) Arbeitsprinzip SP1ZKVM und Prover Network Opsuccinct Technology Cross-Chain-Überprüfung beweisen Token Economics Token Details 2025, 2026, 2027-2030 prägnant

Was sind Stablecoins? Was sind die Top 10 Stablecoins im Marktwert? Was sind Stablecoins? Was sind die Top 10 Stablecoins im Marktwert? Aug 07, 2025 pm 10:57 PM

Stabile Münzen sind Kryptowährungen, deren Wert mit stabilen Vermögenswerten wie dem US -Dollar oder Gold verbunden ist. Sie wollen das Problem großer Preisschwankungen in Währungen wie Bitcoin lösen. Sie erreichen die Preisstabilität durch einen Verankerungsmechanismus und sind hauptsächlich in drei Kategorien unterteilt: 1. Stabile Münzen mit gesetzlichen Währungsbehörden wie USDT und USDC werden von US -Dollar -Reserven unterstützt, und Benutzer können 1: 1 austauschen. 2. Stabile Münzen mit Krypto-Vermögenswerten wie DAI und CRVUSD werden durch über-kollateralisierte digitale Vermögenswerte wie Ethereum erzeugt und haben dezentrale Merkmale; 3.. Zu den Top 10 Stablecoins, die derzeit in der Marktkapitalisierung eingestuft wurden, gehören: 1. USDT, die früheste und liquide Dollar Stablecoins; 2. USDC, um zu entsprechen und

Wie kann man mit einem 10.000 -Auftraggeber finanzielle Freiheit im Währungskreis erreichen? Praktische Erfahrung wird enthüllt! Wie kann man mit einem 10.000 -Auftraggeber finanzielle Freiheit im Währungskreis erreichen? Praktische Erfahrung wird enthüllt! Aug 12, 2025 pm 07:12 PM

Die Verwendung von zehntausend Kapitalfunktionen, um die Freiheit der Wohlstand auf dem großartigen Währungsmarkt zu erlangen, ist ein verlockendes Thema und eine dornige Straße. Dies ist kein einfaches Mathematikspiel, es testet die Wahrnehmung, Mentalität, Ausführung und Glück einer Person. Der folgende Inhalt ist keine Anlageberatung, sondern eine Analyse der Herausforderungen, die auf dieser Straße und der praktischen Erfahrung, die erforderlich sind, um eine Literatur zu sein, auftreten.

So erhalten Sie die Größe einer Datei in C. So erhalten Sie die Größe einer Datei in C. Aug 11, 2025 pm 12:34 PM

Verwenden Sie die SeekG- und Tellg -Methoden von STD :: IfStream, um die Dateigröße über Plattformen hinweg zu erhalten. Verwenden Sie durch Öffnen einer Binärdatei und der Positionierung bis zum Ende TellG (), um die Anzahl der Bytes zurückzugeben. 2. Es wird empfohlen, STD :: Dateisystem :: File_Size für C 17 und höher zu verwenden. Der Code ist präzise und Fehler werden durch Ausnahmen behandelt. Der C 17 -Standard muss aktiviert sein; 3. Auf POSIX-Systemen kann die Funktion stat () verwendet werden, um die Dateigröße effizient zu erhalten, die für leistungsempfindliche Szenarien geeignet ist. Die entsprechende Methode sollte basierend auf dem Compiler und der Plattform ausgewählt werden.

UK Policy Shift: Genehmigung des Einzelhandelshandels mit Kryptowährung ETN, der beabsichtigt, einen Krypto -Hub aufzubauen UK Policy Shift: Genehmigung des Einzelhandelshandels mit Kryptowährung ETN, der beabsichtigt, einen Krypto -Hub aufzubauen Aug 11, 2025 am 09:54 AM

Die Reaktion der Katalog -Community auf die Veröffentlichung von CETN -Verschlüsselungsderivaten (Crypto Exchange Trading Notes (CETN) durch die FCA wird noch verboten. Riccardo Tordera von The Payments Association sagte gegenüber CoinTelegraph, dass das Aufheben des Verbots einzelne Anleger es ermöglicht, Entscheidungen auf eigenes Risiko zu treffen. Die britische Financial Conduct Authority (FCA) hat die Beteiligung der Einzelhandelsinvestoren an Crypto Exchange Traded Notes (CETNs) beschränkt, ein Schritt, der eine positive Reaktion von Branchenführern erhalten hat und als wichtige Schritt zur Förderung der britischen Integration in das globale digitale Vermögensökosystem und die Verbesserung der Wettbewerbsfähigkeit als Finanztechnologie-Hubs angesehen wird. Am Freitag kündigte die FCA offiziell den Rückzug früherer Investitionen in Einzelhandelskunden an.

Was soll ich tun, wenn die Anwendung nicht normal starten kann (0xC0000906)? Sehen Sie die Lösung hier Was soll ich tun, wenn die Anwendung nicht normal starten kann (0xC0000906)? Sehen Sie die Lösung hier Aug 13, 2025 pm 06:42 PM

Beim Öffnen der Software oder des Spiels erscheint plötzlich eine Eingabeaufforderung, dass "die Anwendung nicht normal starten kann (0xc0000906" ", und viele Benutzer werden verwirrt und wissen nicht, wo sie anfangen sollen. Tatsächlich werden die meisten dieser Fehler durch Beschädigung von Systemdateien oder fehlende Laufzeitbibliotheken verursacht. Beeilen Sie sich nicht, das System neu zu installieren. Dieser Artikel bietet Ihnen mehrere einfache und effektive Lösungen, mit denen Sie das Programm schnell wiederherstellen können. 1. Was ist der Fehler von 0xC0000906? Der Fehlercode 0xc0000906 ist eine häufige Start -Ausnahme in Windows -Systemen, was normalerweise bedeutet, dass das Programm die erforderlichen Systemkomponenten oder die Ausführungsumgebung beim Ausführen nicht laden kann. Dieses Problem tritt häufig beim Ausführen großer Software oder Spiele auf. Zu den Hauptgründe gehören: Die erforderliche Laufzeitbibliothek ist nicht installiert oder beschädigt. Das Software -Installationspaket ist endlos

Linux So aktivieren und deaktivieren Sie Dienste am Boot Linux So aktivieren und deaktivieren Sie Dienste am Boot Aug 08, 2025 am 10:23 AM

Verwenden Sie zum Verwalten des Starts von Linux -Diensten den Befehl systemctl. 1. Überprüfen Sie den Dienststatus: SystemCtlstatus kann überprüfen, ob der Dienst ausgeführt, aktiviert oder deaktiviert ist. 2. Aktivieren Sie das Service -Startup: Wenn es gleichzeitig gestartet wird, verwenden Sie SudosystemCTlenable-nownginx. 3.. Deaktivieren Sie das Service -Startup: Wenn es gleichzeitig gestoppt wird, verwenden Sie Sudosystemcctldisabl

C Speicherreihenfolge entspannte Beispiel C Speicherreihenfolge entspannte Beispiel Aug 08, 2025 am 01:00 AM

memory_order_relaxed is suitable for scenarios where only atomicity is required without synchronization or order guarantee, such as counters, statistics, etc. 1. When using memory_order_relaxed, operations can be rearranged by the compiler or CPU as long as the single-threaded data dependency is not destroyed. 2. Im Beispiel erhöhen mehrere Threads den Atomzähler, da sie sich nur um den Endwert kümmern und der Betrieb konsistent ist, die entspannte Speicherreihenfolge sicher und effizient. 3. Fetch_add und Load liefern keine Synchronisation oder sequentielle Einschränkungen, wenn sie entspannt werden. 4. In dem Fehlerbeispiel wird die Synchronisation der Produzentenkonsumenten unter Verwendung von Entspannung implementiert, wodurch der Verbraucher nicht updatierte Datenwerte lesen kann, da keine Bestellgarantie vorliegt. 5. Der richtige Weg ist

See all articles