
Eine moderne NoSQL -Datenbank, die von Blueql betrieben wird.
SkyTable ist eine NOSQL -Datenbank , die mit modernen Designparadigmen implementiert ist und sich auf Leistung, Flexibilität und Skalierbarkeit konzentriert.
SkyTable ist in erster Linie in Memory und verwendet Multithread-Asynchronen-E/A und eine benutzerdefinierte AOF-basierte Speicher-Engine mit fortgeschrittenen Verzögerungsdauer-Dauertransaktionen für effiziente Festplatten-E/A. Das Datenmodell von SkyTable basiert auf einer spaltenorientierten Struktur mit Unterstützung für zusätzliche Datenmodelle (WIP) . Die Abfrage erfolgt mit BlueQL, einer SQL-basierten Abfragesprache, die gegen Injektionsangriffe gehärtet wurde und speziell für SkyTable geschrieben wurde.
SkyTable ist für Anwendungen am besten geeignet, die groß angelegte Daten speichern müssen, benötigen Hochleistungs- und niedrige Latenzen.
Sie können mehr über die Architektur von Skytable erfahren, einschließlich Informationen zu Clustering und HA -Implementierung, an denen wir derzeit arbeiten, sowie Einschränkungen auf dieser Seite.
model S, um Daten mit komplexen Typen, Sammlungen und mehr zu definierenErfahren Sie hier mehr über Skytables Funktionen.
./skyd --auth-root-password <password> mit Ihrer Wahl eines Kennworts für das root Konto. Das root -Konto ist wie ein root auf UNIX -basierten Systemen, das die Kontrolle über alles hat../skysh und geben Sie dann Ihr Passwort ein.Eine detailliertere Anleitung zur Installation und Bereitstellung finden Sie hier dem Handbuch.
SkyTable verfügt über SPACE S anstelle von DATABASE aufgrund von signifikanten operativen Unterschieden (und weil SPACE S viel mehr als tabellarische Daten speichert).
Folgen Sie mit der Wiedergabed Repl: Folgen Sie diesem Leitfaden :
Erstellen Sie einen space und wechseln Sie dazu:
CREATE SPACE myspace
USE myspace Erstellen Sie ein model :
CREATE MODEL myspace . mymodel (username: string, password: string, notes: list { type: string })Die grobe Darstellung dafür in Rost wäre:
pub struct MyModel {
username : String ,
password : String ,
notes : Vec < String > ,
} INSERT einige Daten ein:
INSERT INTO mymodel( ' sayan ' , ' pass123 ' , []) UPDATE einige Daten:
UPDATE mymodel SET notes + = " my first note " WHERE username = ' sayan ' SELECT einige Daten aus
SELECT * FROM mymodel WHERE username = ' sayan 'Ändern und führen Sie Ihre eigenen Fragen aus, um zu verstehen, wie die Dinge funktionieren. Und dann stellen Sie sicher, dass Sie die Dokumentation lesen. Lernen Sie Blueql.
Für eine vollständige Anleitung zu Skytable ist die Architektur, Blueql, Abfragen und mehr, und wir empfehlen Ihnen dringend, die Dokumentation hier zu lesen.
Während Sie hier Saiten und andere Werte sehen, die hier verwendet werden, liegt dies daran, dass die Repl -Client -Abfragen hinter den Kulissen intelligent parameterisiert. BlueQL hat eine obligatorische Parametrisierung . (Siehe unten, um zu sehen, wie der Rust -Kunde damit umgeht.)
Sie benötigen einen Client -Treiber, um Skytable in Ihren Programmen zu verwenden. Offiziell führen wir einen regelmäßig aktualisierten Rust-Kundenfahrer bei, der im Rahmen der Lizenz von Apache-2.0 großzügig lizenziert, damit Sie ihn überall verwenden können.
Mit dem Rust -Client -Treiber ist es sehr einfach, Anfragen auszuführen, dank des leistungsstarken Typs und Makros von Rust:
use skytable :: { Config , query } ;
fn main ( ) {
let mut db = Config :: new_default ( "username" , "password" ) . connect ( ) . unwrap ( ) ;
let query = query ! ( "select username, password from myspace.mymodel where username = ?" , "sayan" ) ;
let ( username , password ) : ( String , Vec < u8 > ) = db . query_parse ( & query ) . unwrap ( ) ;
// do something with it
}Weitere Informationen zu Kundentreibern finden Sie auf dieser Seite. Wenn Sie helfen möchten, einem Kundenfahrer für Ihre Wahlsprache zu schreiben, sind wir hier, um Ihre Arbeit zu unterstützen . Bitte wenden Sie sich an: [email protected] oder hinterlassen Sie eine Nachricht auf unserem Discord -Server.
Wir nutzen ausschließlich Discord für die meisten Echtzeitkommunikation-Sie können mit Entwicklern, Betreuern und unseren erstaunlichen Benutzern chatten. Außerdem empfehlen wir Ihnen, unsere GitHub -Diskussionsseite für Fragen zu verwenden oder ein neues Problem zu öffnen, wenn Sie der Meinung sind, dass Sie einen Fehler gefunden haben.
Bitte lesen Sie hier den leitenden Leitfaden.
Bitte lesen Sie das Dokument für Bestätigungen.
SkyTable wird unter der AGPL-3.0-Lizenz verteilt. Möglicherweise verwenden Sie das Logo von Skytable für andere Projekte nicht.