Hoş Geldiniz! KablosuzForum.net

Tüm özelliklerimize erişmek için şimdi bize katılın. Kaydolup giriş yaptıktan sonra konu oluşturabilir, mevcut konulara yanıt gönderebilir, diğer üyelerinize itibar kazandırabilir, kendi özel mesajlaşma programınızı edinebilir ve çok daha fazlasını yapabileceksiniz. Aynı zamanda hızlı ve tamamen ücretsizdir, peki daha ne bekliyorsunuz?

Soru Sor

Merak ettiğiniz, kafanıza takılan sorular hakkında konu açın, diğer üyelerimiz ve moderatörlerimiz cevaplasın.

Ticaret

Ticari konular açıp güven oluşturmak ve daha fazla satış rakamlarına ulaşmak için hesabını doğrula!

Bize ulaşın

Yönetim kadrosuyla iletişime geçin

Üyeliğini Yükselt!

Üyeliğinizi yükselterek birbirinden ayrıcalıklı özelliklere sahip olun!

Veri Tabanı Mimarisi: Git Reposu ile Şema Değişikliklerini İzlemek ve Geri Alma

Resim 1 Resim 2

sherzaiahmadiqbal

Ahmad Iqbal Sherzaı
KF Kullanıcı
Katılım
17 Eki 2024
Mesajlar
2
Tepkime puanı
0
Puanları
1

Veri Tabanı Mimarisi: Git Reposu ile Şema Değişikliklerini İzlemek ve Geri Alma

Giriş

Birçok kuruluşta veri tabanı şemaları, sunucu katmanlarındaki kodla aynı hassasiyete ihtiyac duyuyor. Ancak sık sık karşılaşılan sorun: "Sürüm kontrolü yok", "Gerçek zamanlı geri dönüşüm yetersiz" ve "Tüm ekip için şema şiddeti".

Neden Git?

- **İzlenebilirlik**: Her değişiklik commit olarak saklanır.
- **Şeffaflık**: Açık geçmiş, ekip içinde bilgi aktarımını kolaylaştırır.
- **Rollback**: Yanlış değişikliği tek bir adımda geri almanıza olanak sağlar.

Workflow Örneği: Postgres + Dolt + GitHub

1. **Dolt Paneli Kurulumu**
- Dolt, veritabanı şemasını ve veriyi bir Git deposunda saklayabilen açık kaynaklı bir veri tabanıdır.
- `docker run -d -p 3306:3306 --name dolt postgres:13`

2. **Veri Tabanı Tanımlama**
- `CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100) UNIQUE);

3. **Git Deposu Senkronizasyonu**
- Dolt, tabloları `dolt add`, `dolt commit` ve `dolt push` komutları ile Git ortamına gönderir.
- Örnek: `dolt add users`, `dolt commit -m "Kullanıcı tablosuna age kolonu eklendi"`

4. **Şema Değişikliği**
- `ALTER TABLE users ADD COLUMN age INT;`
- Değişiklikleri commit edilerek repository’ye itilir.

5. **Rollback**
- `dolt checkout <commit-sha>` ile önceki hali geri getirebilirsiniz.

Katkılar ve Uygulama Önerileri

- **Kod İnceleme**: PR’ler arasındaki şema değişikliklerini gözden geçirin.
- **Rollout Stratejisi**: Çevirinin bir aşama yönetimi (feature flag) ile yapılması kritik.
- **Test Otomasyonu**: Değişiklik sonrası unit ve e2e testler çalıştırmak için CI pipeline’ına entegre edin.

Mümkün Sıkıntılar

- **Yüksek Çakışma Frekansı**: Çoklu geliştiricilerin aynı tabloyu aynı anda değiştirmesi.
- **Performans**: Devamlı commit ve push işlemi, küçük değişikliklerde geçirgenlik yaratabilir.
- **Güvenlik**: Dataların sensör olması durumunda, fonksiyonel Git erişim kontrolleri gerekebilir.

Sonuç

Şema değişikliklerini Git gibi bir sürüm kontrol sisteminde yönetmek, veri tabanı yöneticileri için bir devrim niteliğindedir. Şeffaflık, geri dönüşüm, ve ekip içi koordinasyon her zaman daha sağlıklı bir veri yaşam döngüsü sağlıyor.

Kaynaklar

photo-1675495666589-94cdafbcfcc8

 
Responsive GIF Layout

shape1
shape2
shape3
shape4
shape5
shape6
Geri
Üst