Projelere geri dön
🗄️
Database Systems

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.

RustDatabaseB-treeSQLRDBMSEmbeddedTDD

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şturma
  • DROP TABLE - Tablo silme
  • ALTER TABLE - Tablo değiştirme
  • Schema tanımları ve constraints

DML (Data Manipulation Language)

  • SELECT - Veri sorgulama (WHERE, JOIN)
  • INSERT - Veri ekleme
  • UPDATE - Veri güncelleme
  • DELETE - 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

  • 1
    CLI Layer: Kullanıcı arayüzü, komut parsing ve formatlanmış çıktı
  • 2
    SQL Parser: SQL sorgu parsing, syntax validation ve query plan oluşturma
  • 3
    Query Executor: Query plan çalıştırma, veri manipülasyonu ve sonuç döndürme
  • 4
    Storage Engine: B-tree implementasyonu, sayfa yönetimi, buffer pool
  • 5
    File 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.