CnosDB wird die erste Zeitreihendatenbank, die sqllogictest unterstützt, und ihre Stabilität und Zuverlässigkeit werden weiter verbessert

 

Die Cloud-native Zeitreihendatenbank CnosDB führt das sqllogictest-Integrationsframework ein. Durch die Integration von sqllogictest in CnosDB können Entwickler die Korrektheit der Datenbank einfacher testen und überprüfen und potenzielle Probleme schnell finden und lösen.

Vor kurzem hat CnosDB, eine Cloud-native Zeitreihendatenbank, eine neue PR integriert und das Sqllogictest-Integrationsframework eingeführt. Durch die Integration von sqllogictest in CnosDB können Entwickler die Korrektheit der Datenbank einfacher testen und überprüfen und potenzielle Probleme schnell finden und lösen. Diese neue PR ist für CnosDB von großer Bedeutung, da sie Entwicklern effizientere und zuverlässigere Testwerkzeuge bietet. CnosDB ist auch die erste Zeitreihendatenbank, die in sqllogictest integriert wurde, und ihre Stabilität und Zuverlässigkeit wurden erneut verbessert.

Über sqllogictest:

sqllogictest ist ein integriertes Testframework, das verwendet wird, um zu überprüfen, ob die SQL-Datenbank-Engine die richtigen Ergebnisse berechnet.Es kann verschiedene SQL-Abfragen ausführen, einschließlich Testen der Unterstützung von grundlegender Syntax, Funktionen, Operatoren und Datentypen. sqllogictest kümmert sich nur um die Korrektheit der Abfrageergebnisse und achtet nicht auf die Leistung der Datenbank, Indizes, Transaktionen, Parallelität, Arbeitsspeicher und Festplatte.

Die Hauptfunktion von sqllogictest besteht darin, SQL-Abfragen auszuführen und zu vergleichen, ob die erwarteten Ergebnisse mit den tatsächlichen Ergebnissen übereinstimmen. Das Framework kann verschiedene SQL-Abfragen testen, z. B. SELECT-Anweisung, INSERT-Anweisung, UPDATE-Anweisung, DELETE-Anweisung, CREATE TABLE-Anweisung und so weiter. sqllogictest kann auch überprüfen, ob die SQL-Engine verschiedene Datentypen, Operatoren und Funktionen unterstützt, und testen, ob verschiedene Abfrageanweisungen die erwartete Wirkung haben.

Es ist erwähnenswert, dass sich sqllogictest nur auf die Korrektheit der Abfrageergebnisse konzentriert, ohne die Leistung oder andere Aspekte der Datenbank zu berücksichtigen. Dies bedeutet, dass Aspekte wie Abfrageausführungszeit, Indexnutzung, Parallelitätsleistung oder Speicherverwaltung nicht getestet werden. Daher wird sqllogictest hauptsächlich verwendet, um sicherzustellen, dass die SQL-Engine die Ergebnisse korrekt berechnen kann, und nicht, um die Gesamtleistung der Datenbank zu bewerten.

Warum CnosDB sqllogictest einführt:

Das technische Team von CnosDB war schon immer bestrebt, Benutzern Produkte mit hoher Stabilität und Zuverlässigkeit bereitzustellen. Um dieses Ziel zu erreichen, konzentrieren wir uns auf das logische Testen der Abfragemaschine, was die oberste Priorität für die Verbesserung der Stabilität und Zuverlässigkeit ist. [Erweiterte Lektüre: CnosDB wird die erste Cloud-native Zeitreihendatenbank, die SQLancer unterstützt ] Durch die Einführung von sqllogictest fand das CnosDB-Team die folgenden Vorteile:

Zunächst einmal kann sqllogictest Regressionstests unterstützen, um die Stabilität von CnosDB-Produkten sicherzustellen. Unter Regressionstests versteht man die Überprüfung, ob die ursprüngliche Funktion der Software nach einer Modifikation erhalten bleibt. Wenn Community-Entwickler den Code ändern, müssen sie sicherstellen, dass so wenig wie möglich neue Fehler eingeführt werden und behobene Fehler nicht mehr auftreten. Durch die Verwendung von sqllogictest kann das CnosDB-Team den geänderten Code schnell und effizient testen, um die Stabilität des CnosDB-Produkts sicherzustellen.

Zweitens kann sqllogictest Entwicklern helfen, die Korrektheit von SQL-Anweisungen zu überprüfen und logische Fehler in der Datenbank zu finden. Während des Entwicklungsprozesses müssen Entwickler häufig SQL-Abfrageanweisungen schreiben, um sicherzustellen, dass die Abfrageergebnisse korrekt sind. Durch die Verwendung von sqllogictest können Entwickler logische Tests an SQL-Abfragen durchführen, potenzielle Fehler und Probleme finden und diese frühzeitig beheben.

Drittens ist sqllogictest sehr praktisch zum Schreiben von Integrationstests und einfach anzuzeigen. Integrationstests beziehen sich auf das Testen, ob die einzelnen Komponenten des gesamten Systems oder der Anwendung ordnungsgemäß funktionieren. Durch die Verwendung von sqllogictest kann das CnosDB-Team problemlos Integrationstests schreiben, um sicherzustellen, dass alle Komponenten von CnosDB harmonisch zusammenarbeiten können, um die Integrität und Konsistenz des Produkts sicherzustellen.

Viertens ist sqllogictest in der Programmiersprache Rust geschrieben, die zufällig mit CnosDB identisch ist, was zur Entwicklung der Rust-Sprachökologie beiträgt. Rust ist eine schnelle, sichere und zuverlässige Programmiersprache, die zusammen mit C++ und C zum Schreiben von leistungsstarken Infrastrukturprogrammen verwendet werden kann. Der Grund, warum das CnosDB-Team CnosDB in Rust geschrieben hat, ist, dass es eine bessere Leistung, Sicherheit und Zuverlässigkeit bietet. [Erweiterte Lektüre: CnosDB Nirvana Rebirth: Go aufgeben, Rust voll umarmen ]

Schließlich ist sqllogictest ein ausgereiftes Open-Source-Projekt, das frei verwendet und modifiziert werden kann.Es sind bereits viele SQL-basierte Datenbanken oder Frameworks im Einsatz, wie beispielsweise DataFusion, und seine Stabilität und Benutzerfreundlichkeit haben sich bewährt. Durch die Verwendung von sqllogictest kann das CnosDB-Team Unterstützung und Hilfe von der Open-Source-Community erhalten, um die Produktqualität und -zuverlässigkeit zu verbessern.

Schreiben Sie SQL-Tests mit sqllogictest:

Im Folgenden wird die spezifische Methode zum Schreiben von SQL-Tests mit sqllogictest beschrieben: Die Testdatei verwendet .slt als Erweiterung.

  1. Verifizierungsanweisung erfolgreich ausgeführt
statement ok
CREATE TABLE foo(a BIGINT, b BIGINT, TAGS(c));

statement ok
INSERT INTO TABLE foo(time, a, b, c) VALUES  (1, 1, 1, '1'), (2, 2, 2, '2') ;

2. Überprüfen Sie, ob die Abfrageanweisung erfolgreich ist

query T
SELECT * FROM foo ORDER BY time;
----
1970-01-01T00:00:00.000000001 1 1 1
1970-01-01T00:00:00.000000002 2 2 2

T repräsentiert den Text des Vergleichsergebnissatzes.

3. Die Ausführung der Verifizierungsanweisung ist fehlgeschlagen

statement error Database .* forbid drop
DROP DATABASE public;

Unter ihnen folgen auf Fehler reguläre Ausdrücke, die verwendet werden, um verschiedene Fehlermeldungen abzugleichen.

Auf diese Weise können Sie durch einfache Konfiguration schnell sqllogictest verwenden, um zu überprüfen, ob SQL logische Fehler aufweist.

Weitere Verwendungsmethoden können unter https://github.com/cnosdb/cnosdb/tree/main/query_server/sqllogicaltests eingesehen werden

https://github.com/risinglightdb/sqllogictest-rs

Epilog

Das Obige ist der gesamte Inhalt von CnosDB, das sqllogictest unterstützt. Das Streben nach Stabilität und Zuverlässigkeit ist für das technische Team von CnosDB endlos. Freunde, die Datenbanken und Datenbanktests lieben, sind herzlich eingeladen, auf unser offizielles WeChat-Konto, Bilibili-Videokonto zu achten und unserer Community beizutreten. Wir werden die neuesten technischen Trends und technischen Insider-Informationen rechtzeitig aktualisieren und freuen uns auf einen intensiven Austausch mit Ihnen .

Verweise

GitHub - Risinglightdb/sqllogictest-rs: Sqllogictest-Parser und -Runner in Rust.

 

Einführung in CnosDB

CnosDB ist eine verteilte Open-Source-Zeitreihendatenbank mit hoher Leistung und hoher Benutzerfreundlichkeit, die offiziell veröffentlicht wurde und vollständig Open-Source ist.

Willkommen auf unserer Community-Website: https://www.cnosdb.com

Supongo que te gusta

Origin blog.csdn.net/CnosDB/article/details/130329804
Recomendado
Clasificación