
ฐานข้อมูล NOSQL ที่ทันสมัยขับเคลื่อนโดย BlueQl
SkyTable เป็น ฐานข้อมูล NOSQL ที่ใช้โดยใช้กระบวนทัศน์การออกแบบที่ทันสมัยซึ่งมุ่งเน้นไปที่ ประสิทธิภาพความยืดหยุ่นและความยืดหยุ่น
SkyTable เป็นหน่วยความจำในการใช้ I/O แบบอะซิงโครนัสแบบมัลติเธรดและเครื่องมือจัดเก็บข้อมูลที่ใช้ AOF แบบกำหนดเองที่มีการทำธุรกรรมความทนทานล่าช้าขั้นสูงสำหรับดิสก์ I/O ที่มีประสิทธิภาพ แบบจำลองข้อมูลของ SkyTable นั้นขึ้นอยู่กับโครงสร้างที่เน้นคอลัมน์พร้อมรองรับโมเดลข้อมูลเพิ่มเติม (WIP) การสืบค้นทำได้โดยใช้ BlueQL ซึ่งเป็นภาษาสืบค้นที่ใช้ SQL ทำให้แข็งขึ้นจากการโจมตีการฉีดโดยเฉพาะสำหรับ Skytable
Skytable เหมาะที่สุดสำหรับแอปพลิเคชันที่จำเป็นต้องเก็บข้อมูลขนาดใหญ่ต้องการประสิทธิภาพสูงและเวลาแฝงต่ำ
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับสถาปัตยกรรมของ Skytable รวมถึงข้อมูลเกี่ยวกับการจัดกลุ่มและการใช้งาน HA ที่เรากำลังดำเนินการอยู่และข้อ จำกัด ในหน้านี้
model S เพื่อกำหนดข้อมูลที่มีประเภทที่ซับซ้อนคอลเลกชันและอื่น ๆเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติของ Skytable ที่นี่
./skyd --auth-root-password <password> ด้วยการเลือกรหัสผ่านสำหรับบัญชี root บัญชี root เป็นเหมือนบัญชี root ในระบบที่ใช้ UNIX ที่ควบคุมทุกสิ่ง./skysh จากนั้นป้อนรหัสผ่านของคุณสำหรับคู่มือรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งและการปรับใช้ให้ทำตามคำแนะนำที่นี่
Skytable มี SPACE S แทน DATABASE เนื่องจากความแตกต่างในการปฏิบัติงานที่ลงนาม (และเนื่องจาก SPACE S เก็บข้อมูลมากกว่าตาราง)
ด้วยการเริ่มต้นใหม่ให้ทำตามคู่มือนี้ :
สร้าง space และสลับไปที่:
CREATE SPACE myspace
USE myspace สร้าง model :
CREATE MODEL myspace . mymodel (username: string, password: string, notes: list { type: string })การเป็นตัวแทนคร่าวๆสำหรับเรื่องนี้ในสนิมคือ:
pub struct MyModel {
username : String ,
password : String ,
notes : Vec < String > ,
} INSERT ข้อมูลบางอย่าง:
INSERT INTO mymodel( ' sayan ' , ' pass123 ' , []) UPDATE ข้อมูลบางอย่าง:
UPDATE mymodel SET notes + = " my first note " WHERE username = ' sayan ' SELECT ข้อมูลบางอย่าง
SELECT * FROM mymodel WHERE username = ' sayan 'แก้ไขและเรียกใช้การสืบค้นของคุณเองเพื่อทำความเข้าใจว่าสิ่งต่าง ๆ ทำงานอย่างไร จากนั้นตรวจสอบให้แน่ใจว่าคุณอ่านเอกสารเรียนรู้ blueql
สำหรับคำแนะนำที่สมบูรณ์เกี่ยวกับ Skytable มันเป็นสถาปัตยกรรม, blueql, การสืบค้นและอื่น ๆ เราขอแนะนำให้คุณอ่านเอกสารที่นี่
ในขณะที่คุณเห็นสตริงและค่าอื่น ๆ ที่ใช้ที่นี่เป็นเช่นนั้นเนื่องจากไคลเอ็นต์ REPL PARINITES PARINIES อย่างชาญฉลาดอยู่เบื้องหลัง BlueQL มีการกำหนดพารามิเตอร์บังคับ (ดูด้านล่างเพื่อดูว่าไคลเอนต์สนิมจัดการกับเรื่องนี้อย่างไร)
คุณต้องใช้ไดรเวอร์ลูกค้าเพื่อใช้ SkyTable ในโปรแกรมของคุณ อย่างเป็นทางการเรารักษาไดรเวอร์ไคลเอนต์ Rust ที่ได้รับการปรับปรุงอย่างสม่ำเสมอซึ่งเป็นใบอนุญาตอย่างเสรีภายใต้ใบอนุญาต Apache-2.0 เพื่อให้คุณสามารถใช้งานได้ทุกที่
การใช้ไดรเวอร์ไคลเอ็นต์ Rust มันตรงไปตรงมามากในการใช้การสืบค้นด้วยระบบประเภทและมาโครที่ทรงพลังของ 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
}คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับไดรเวอร์ไคลเอนต์ในหน้านี้ หากคุณต้องการช่วยเขียนไดรเวอร์ลูกค้าสำหรับภาษาที่คุณเลือก เราอยู่ที่นี่เพื่อสนับสนุนงานของคุณ โปรดติดต่อ: [email protected] หรือฝากข้อความไว้ในเซิร์ฟเวอร์ Discord ของเรา
เราใช้ Discord สำหรับการสื่อสารแบบเรียลไทม์โดยเฉพาะ-คุณสามารถแชทกับนักพัฒนาผู้ดูแลและผู้ใช้ที่น่าทึ่งของเรา ข้างนอกนั้นเราขอแนะนำให้คุณใช้หน้าการอภิปราย GitHub ของเราสำหรับคำถามใด ๆ หรือเปิดปัญหาใหม่หากคุณคิดว่าคุณพบข้อผิดพลาด
โปรดอ่านคู่มือการสนับสนุนที่นี่
โปรดอ่านเอกสารกิตติกรรมประกาศ
Skytable มีการแจกจ่ายภายใต้ใบอนุญาต AGPL-3.0 คุณไม่สามารถใช้โลโก้ของ Skytable สำหรับโครงการอื่น ๆ