Advent of Code 2024'ü Saf SQL ile Çözmek
(databasearchitects.blogspot.com)-
Advent of Code 2024'ü Saf SQL ile Çözmek
-
Özet
- Yazar bu yıl Advent of Code'u tamamen saf SQL ile çözmeye karar vermiş.
- Bu deneyim, problemleri farklı düşünmeye zorladığı için ilginçti ve tüm günleri SQL ile çözülebildi.
- SQL, beklenmedik şekilde çoğu zaman kullanımı oldukça rahat bir seçenekti.
-
11. Gün örneği
- Sorunun tüm çözümü, girdi dahil olmak üzere sunuluyor.
- SQL'de girdinin ayrıştırılması biraz zahmetli olsa da, imkânsız değil.
- Algoritma nispeten kısaydı ve özyinelemeli alan dolaşımı yapıyordu.
- SQL, küçük ölçekli arama görevleri için oldukça uygundu.
-
Diğer Günlerin Zorlukları
-
- günde, alanın minimum arama mesafesini hesaplamaya benzer bir görev vardı.
- SQL ile ifade etmek kolaydı ancak değerlendirme verimsizdi.
- Büyük girdilerde çok fazla durumu saklamak gerekir ve 200 GB'tan fazla bellek gereklidir.
- Bazı DBMS'ler bu sorunu çözmek için gereken yetenekleri sunmaz.
-
-
Özyinelemeli SQL'in Sınırları
-
- günde, seyrek bir grafikte maksimum clique bulunmalıydı.
- Bron-Kerbosch algoritmasını kullanarak çözülebilir ama özyinelemeli SQL ile ifade etmek zordu.
- Özyinelemeli SQL yalnızca tek bir küme aktarabildiği için, birden fazla kümeyi koruyan algoritmalarla çatışıyordu.
-
-
Sonuç
- Karmaşık algoritmaları SQL ile kodlamak mümkün ve SQL kodu beklenenden daha rahat olabilir.
- Durumu güncelleyebilen bir mekanizma varsa, özyinelemeli SQL daha verimli ve kullanımı daha rahat olurdu.
- Karmaşık durum manipülasyonu mekanizmaları eklendiğinde, SQL veritabanı içinde karmaşık algoritmalar çalıştırmak için güçlü bir seçenek haline gelebilir.
1 yorum
Hacker News Yorumu