İçeriğe geç
NarDBv0.2.0-dev

LexerLang ekosisteminin veritabanı

Tek kabuk, çok tane.

Tek bir .ndbc kapsayıcısında şemalar, indeksler ve dağıtım haritası; yazma günlüğüyle çökmeye dayanıklı. SQL yerine zincirleme bir dil: create_schema, from, insert_one.

NarDB Shell
cd nardb_shell && go build -o nardb . && ./nardb

SQL değil, zincir

Şema da sorgu da aynı zincirleme dille yazılır. .commit() olmadan bir şema yalnızca doğrulanır; hatalar satır ve sütunla, çoğu zaman bir çözüm önerisiyle gelir.

NarQL
create_schema('uyeler')
    .fields({
        'id':    {type: string, max_length: 32, guid: true, primary_key: true},
        'name':  {type: string, max_length: 50},
        'email': {type: string, max_length: 100, index: {unique: true}},
        'birth': {type: date, format: 'dd.mm.yyyy'}
    })
    .commit();
NarQL
from('uyeler').insert_one({name: 'Osman 🍉', email: 'osman@example.com', birth: '23.09.1981'});

from('uyeler', 'u')
    .where({'u.email': 'osman@example.com'})
    .fields({CAST('u.name', 'ad'), FORMAT('u.birth', 'dd-mm-yyyy')})
    .get();