Bir veritabanı motorunun nasıl çalıştığını öğrenmekle ilgileniyorum. CS'de öğretilen temel veri yapılarının çoğunu (ağaçlar, hash tabloları, listeler, vb.) Ve derleyici teorisini oldukça iyi anlıyorum (ve çok basit bir tercüman uyguladım) biliyorum ama nasıl gideceğimi anlamıyorum bir veritabanı motoru yazma hakkında. Konuyla ilgili dersleri aradım ve bulamadım, bu yüzden başka birinin beni doğru yönde gösterebileceğini umuyorum. Temel olarak, aşağıdakiler hakkında bilgi istiyorum:
- Verilerin dahili olarak nasıl saklandığı (yani tabloların nasıl temsil edildiği vb.)
- Motor ihtiyaç duyduğu verileri nasıl bulur (örneğin bir SELECT sorgusu çalıştırın)
- Veriler hızlı ve verimli bir şekilde nasıl eklenir?
Ve bununla ilgili olabilecek diğer konular. Disk üzerinde bir veritabanı olması gerekmez - hatta bir bellek içi veritabanı bile iyidir (eğer daha kolaysa) çünkü sadece arkasındaki prensipleri öğrenmek istiyorum.
Yardımın için çok teşekkürler.