AeroDB
Rust ile yazılmış tek dosyalı, gömülü ilişkisel veritabanı motoru. B-tree tabanlı depolama yapısı, SQL desteği ve CLI arayüzü ile tam özellikli bir RDBMS implementasyonu.
Proje Hakkında
AeroDB, Rust programlama dili ile sıfırdan yazılmış gömülü bir ilişkisel veritabanı yönetim sistemidir (RDBMS). SQLite benzeri tek dosyalı yapısı sayesinde kolay entegrasyon sağlar. B-tree veri yapısı ile verimli veri depolama ve erişim, SQL sorgu desteği, ACID özellikleri ve komut satırı arayüzü (CLI) ile tam kapsamlı bir veritabanı çözümü sunar. Test-Driven Development (TDD) yaklaşımı ile geliştirilmiştir.
Öne Çıkan Özellikler
Tek Dosyalı Yapı
Tüm veritabanı tek bir dosyada saklanır. Kolay taşıma, yedekleme ve dağıtım. Embedded sistemler için ideal.
B-tree Depolama
Self-balancing B-tree veri yapısı ile verimli veri depolama. O(log n) okuma/yazma performansı.
SQL Desteği
DDL (CREATE, DROP) ve DML (SELECT, INSERT, UPDATE, DELETE) SQL sorguları. Standart SQL syntax.
CLI Arayüz
İnteraktif komut satırı arayüzü. Sorgu çalıştırma, tablo yönetimi ve veritabanı operasyonları.
SQL Özellikleri
DDL (Data Definition Language)
CREATE TABLE- Tablo oluşturmaDROP TABLE- Tablo silmeALTER TABLE- Tablo değiştirme- Schema tanımları ve constraints
DML (Data Manipulation Language)
SELECT- Veri sorgulama (WHERE, JOIN)INSERT- Veri eklemeUPDATE- Veri güncellemeDELETE- Veri silme
Teknik Detaylar
- Programlama Dili
- Rust
- Veri Yapısı
- B-tree (Self-balancing)
- Depolama Formatı
- Single-file Database
- Sorgu Dili
- SQL (DDL + DML)
- İşlem Desteği
- ACID Transactions
- Test Yaklaşımı
- Test-Driven Development
Mimari Katmanlar
- 1CLI Layer: Kullanıcı arayüzü, komut parsing ve formatlanmış çıktı
- 2SQL Parser: SQL sorgu parsing, syntax validation ve query plan oluşturma
- 3Query Executor: Query plan çalıştırma, veri manipülasyonu ve sonuç döndürme
- 4Storage Engine: B-tree implementasyonu, sayfa yönetimi, buffer pool
- 5File I/O: Disk operasyonları, transaction log, crash recovery
Geliştirme Yaklaşımı
Test-Driven Development (TDD)
Her özellik önce test yazılarak geliştirildi. Kapsamlı unit testler ve integration testler ile %90+ kod coverage. Rust'ın type safety özellikleri ile birlikte yüksek kalite ve güvenilirlik.
Kaynak Kodunu İncele
Veritabanı motor implementasyonunun tüm detayları, B-tree algoritmaları ve SQL parser kodları GitHub üzerinde açık kaynak olarak mevcut.