
Database NoSQL modern, ditenagai oleh BlueQL.
SkyTable adalah database NoSQL yang diimplementasikan menggunakan paradigma desain modern, yang berfokus pada kinerja, fleksibilitas, dan skalabilitas .
SkyTable terutama dalam memori, menggunakan I/O asinkron multithreaded dan mesin penyimpanan berbasis AOF khusus dengan transaksi daya tahan tertunda canggih untuk disk I/O yang efisien. Model data SkyTable didasarkan pada struktur berorientasi kolom dengan dukungan untuk model data tambahan (WIP) . Permintaan dilakukan dengan menggunakan BlueQL, bahasa kueri berbasis SQL yang dikeraskan terhadap serangan injeksi, ditulis khusus untuk skytable.
SkyTable paling cocok untuk aplikasi yang perlu menyimpan data skala besar, membutuhkan kinerja tinggi dan latensi rendah.
Anda dapat membaca lebih lanjut tentang arsitektur SkyTable, termasuk informasi tentang pengelompokan dan implementasi HA yang sedang kami kerjakan, dan batasan pada halaman ini.
model S untuk mendefinisikan data dengan jenis yang kompleks, koleksi dan lainnyaPelajari lebih lanjut tentang fitur Skytable di sini.
./skyd --auth-root-password <password> Dengan pilihan kata sandi Anda untuk akun root . Akun root seperti akun root pada sistem berbasis UNIX yang memiliki kendali atas segalanya../skysh dan kemudian masukkan kata sandi Anda.Untuk panduan yang lebih rinci tentang instalasi dan penyebaran, ikuti panduan di sini.
SkyTable memiliki SPACE S alih -alih DATABASE karena perbedaan operasional yang signifikan (dan karena SPACE S lebih banyak daripada data tabel).
Dengan rept dimulai, ikuti panduan ini :
Buat space dan beralih ke sana:
CREATE SPACE myspace
USE myspace Buat model :
CREATE MODEL myspace . mymodel (username: string, password: string, notes: list { type: string })Representasi kasar untuk ini dalam karat adalah:
pub struct MyModel {
username : String ,
password : String ,
notes : Vec < String > ,
} INSERT beberapa data:
INSERT INTO mymodel( ' sayan ' , ' pass123 ' , []) UPDATE beberapa data:
UPDATE mymodel SET notes + = " my first note " WHERE username = ' sayan ' SELECT beberapa data
SELECT * FROM mymodel WHERE username = ' sayan 'Ubah dan jalankan pertanyaan Anda sendiri untuk memahami cara kerja. Dan pastikan Anda membaca dokumentasi, pelajari blueQL.
Untuk panduan lengkap tentang skytable, arsitekturnya, biru, pertanyaan dan banyak lagi kami sangat menyarankan Anda untuk membaca dokumentasi di sini.
Saat Anda melihat string dan nilai -nilai lain yang digunakan di sini, ini karena klien repl dengan cerdas parameterisasi kueri di belakang layar. BlueQL memiliki parameterisasi wajib . (Lihat di bawah untuk melihat bagaimana klien karat menangani ini)
Anda memerlukan driver klien untuk menggunakan skytable di program Anda. Secara resmi, kami memelihara pengemudi klien karat yang diperbarui secara berkala yang merupakan lisensi secara bebas di bawah lisensi apache-2.0 sehingga Anda dapat menggunakannya di mana saja.
Menggunakan driver klien karat, sangat mudah untuk menjalankan kueri berkat sistem tipe dan makro yang kuat dari 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
}Anda dapat menemukan informasi lebih lanjut tentang driver klien di halaman ini. Jika Anda ingin membantu menulis driver klien untuk bahasa pilihan Anda, kami di sini untuk mendukung pekerjaan Anda . Harap hubungi: [email protected] atau tinggalkan pesan di server Discord kami.
Kami secara eksklusif menggunakan perselisihan untuk sebagian besar komunikasi real-time-Anda dapat mengobrol dengan pengembang, pengelola, dan pengguna kami yang luar biasa. Di luar itu, kami menyarankan Anda menggunakan halaman diskusi GitHub kami untuk setiap pertanyaan atau membuka masalah baru jika Anda merasa telah menemukan bug.
Harap baca panduan yang berkontribusi di sini.
Harap baca dokumen Ucapan Terima Kasih.
SkyTable didistribusikan di bawah lisensi AGPL-3.0. Anda tidak boleh menggunakan logo Skytable untuk proyek lain.