
BlueQL로 구동되는 최신 NOSQL 데이터베이스.
Skytable은 성능, 유연성 및 확장성에 중점을 둔 최신 설계 패러다임을 사용하여 구현 된 NOSQL 데이터베이스 입니다.
Skytable은 주로 메모리 내이며, 효율적인 디스크 I/O를위한 고급 지연 내구성 트랜잭션을 갖춘 멀티 스레드 비동기 I/O 및 사용자 정의 AOF 기반 스토리지 엔진을 사용합니다. Skytable의 데이터 모델은 추가 데이터 모델 (WIP) 을 지원하는 열 지향 구조를 기반으로합니다. 쿼리는 Skytable을 위해 특별히 작성된 주입 공격에 대한 SQL 기반 쿼리 언어 인 BlueQL을 사용하여 수행됩니다.
Skytable은 대규모 데이터를 저장하고 고성능 및 낮은 대기 시간이 필요한 애플리케이션에 가장 적합합니다.
현재 진행중인 클러스터링 및 HA 구현에 대한 정보 와이 페이지의 제한을 포함하여 Skytable의 아키텍처에 대한 자세한 내용을 읽을 수 있습니다.
model S를 사용하여 복잡한 유형, 컬렉션 등으로 데이터를 정의합니다.Skytable의 기능에 대해 자세히 알아보십시오.
./skyd --auth-root-password <password> root 계정에 대한 비밀번호를 선택한 상태에서 시작하십시오. root 계정은 모든 것을 제어하는 UNIX 기반 시스템의 root 계정과 같습니다../skysh 를 시작한 다음 비밀번호를 입력하십시오.설치 및 배포에 대한 자세한 내용을 보려면 여기를 참조하십시오.
Skytable은 Signficant Operational Differences (및 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 '일이 어떻게 작동하는지 이해하기 위해 자신의 쿼리를 수정하고 실행하십시오. 그런 다음 문서를 읽으십시오.
Skytable에 대한 완전한 가이드, Architecture, BlueQL, Queries 등은 여기에서 문서를 읽는 것이 좋습니다.
여기서 사용되는 문자열 및 기타 값이 보이지만 REPL 클라이언트가 무대 뒤에서 쿼리를 매개 변수화하기 때문입니다. BlueQL에는 필수 매개 변수화가 있습니다 . (Rust 클라이언트가 이것을 처리하는 방법을 보려면 아래를 참조하십시오)
프로그램에서 Skytable을 사용하려면 클라이언트 드라이버가 필요합니다. 공식적으로, 우리는 Apache-2.0 라이센스에 따라 자유롭게 라이센스 인 정기적으로 업데이트 된 Rust Client Driver를 유지하므로 어디서나 사용할 수 있습니다.
Rust Client Driver를 사용하면 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의 로고를 사용할 수 없습니다.