01Sorun ve çözüm
Veritabanı optimizasyonu çalışmasında sistemi katman katman ele alırız: donanım ve işletim sistemi ayarları, veritabanı yapılandırması, bakım işleri, veri yaşam döngüsü ve uygulamanın veritabanını kullanma biçimi. Önce bir başlangıç ölçümü alır, en çok beklemenin hangi kaynakta oluştuğunu bulur, değişiklikleri teker teker uygulayıp her birinin etkisini aynı ölçümle doğrularız. Çalışmanın sonunda neyin neden değiştiğini ve hangi göstergede ne kadar iyileşme görüldüğünü gösteren bir rapor bırakırız.
02Kimler için
Veritabanı optimizasyonu hizmeti hangi durumlarda gerekir
Belirtiler farklı görünse de çoğu, veritabanının mevcut yüke göre ayarlanmamış olmasından kaynaklanır.
- Ay sonu, kampanya dönemi ya da vardiya başlangıcında sistemin belirgin biçimde yavaşladığı işletmeler
- Veritabanı boyutu yıllar içinde büyüyen ve yedekleme ile bakım işlerinin gece penceresine sığmadığı şirketler
- Bulut faturasında veritabanı kaleminin sürekli arttığı ama kaynakların verimli kullanılıp kullanılmadığını bilmeyen ekipler
- Raporlama sorgularının canlı işlemlerle aynı sunucuda çalışıp birbirini yavaşlattığı ERP ve sipariş sistemleri
- Zaman aşımı, kilitlenme ya da bağlantı reddi hatalarını düzensiz aralıklarla yaşayan uygulamalar
03İhtiyaçlar
Darboğazın gizlendiği katmanlar
Hangi katmanın sorunlu olduğu bekleme istatistiklerinden okunur; tahminle müdahale edilmez.
- 01
Bellek ve önbellek ayarları
Varsayılan yapılandırma çoğu motorda küçük bir sunucuya göre seçilmiştir. Arabellek havuzu, sıralama ve birleştirme belleği gibi parametreler donanıma ve iş yüküne göre yeniden ayarlanır.
- 02
Disk ve depolama gecikmesi
Veri dosyaları, işlem günlüğü ve geçici alan aynı diskte yarışıyorsa yazma yoğunluğunda her şey yavaşlar. Bulutta ise disk türü ve sağlanan IOPS değeri sık atlanan bir sınırdır.
- 03
Bağlantı yönetimi
Her isteğin yeni bağlantı açtığı uygulamalarda veritabanı, iş yapmaktan çok bağlantı kurmakla meşgul olur. Bağlantı havuzu ve doğru sınır değerleri bu yükü büyük ölçüde hafifletir.
- 04
Büyüyen tablolar ve bakım
Eski kayıtlarla şişmiş tablolar, güncel olmayan istatistikler ve parçalanmış indeksler bütün sorguları etkiler. Bakım işlerinin zamanlaması ve kapsamı yükü dağıtacak şekilde yeniden düzenlenir.
04Özellikler
Veritabanı optimizasyonunda uyguladığımız iyileştirmeler
Her iyileştirme önce test ortamında denenir, canlıya planlı bir pencerede alınır.
- 01
Yapılandırma ayarı
Bellek, paralellik, günlük yazma ve kontrol noktası parametreleri iş yükünün okuma ya da yazma ağırlıklı olmasına göre ayarlanır.
- 02
Bölümleme ve arşivleme
Tarih bazlı büyüyen hareket tabloları dönemlere bölünür; artık değişmeyen eski dönemler ayrı bir arşiv alanına taşınır. Böylece günlük işlemler ve bakım küçük bir veri kümesi üzerinde çalışır.
- 03
Okuma kopyası ve rapor ayrımı
Ağır rapor sorguları canlı işlemlerden ayrılarak bir okuma kopyasına yönlendirilir; uygulama tarafında hangi sorgunun nereye gideceği netleştirilir.
- 04
Önbellek katmanı
Sık okunan ama nadiren değişen veriler için Redis gibi bir önbellek eklenir; önbelleğin ne zaman geçersiz kılınacağı baştan kurallara bağlanır.
- 05
Kalıcı izleme ve eşikler
Bekleme türleri, disk gecikmesi, bağlantı sayısı ve replikasyon gecikmesi panolarda izlenir; eşik aşıldığında uyarı gider ve yavaşlama kullanıcı şikâyetinden önce fark edilir.
05Entegrasyonlar
Çalıştığımız motorlar ve ortamlar
Yöntem motordan bağımsızdır; ayar ve araçlar her motorun kendi yapısına göre seçilir.
- 01
PostgreSQL ve MySQL ailesi
Autovacuum, arabellek ayarları ve bağlantı havuzlama için PgBouncer ya da ProxySQL gibi araçlar ele alınır.
- 02
Microsoft SQL Server
Bekleme istatistikleri, tempdb düzeni, Query Store ve bakım planları üzerinden çalışılır.
- 03
Oracle
AWR raporları ve bellek alanı ayarları, lisans kapsamında kullanılabilen özelliklere göre değerlendirilir.
- 04
Yönetilen bulut veritabanları
Amazon RDS, Azure SQL ve Cloud SQL'de parametre grupları, örnek boyutu ve disk sınıfı maliyetle birlikte optimize edilir.
06Süreç
Veritabanı optimizasyonu hizmeti nasıl ilerler?
Adım 01
Analiz
İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.
Adım 02
Tasarım
Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.
Adım 03
Geliştirme
Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.
Adım 04
Test
İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.
Adım 05
Yayın
Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.
Adım 06
Bakım
İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.
07Teknoloji
Canlı sistemde ölçerek ilerlemek
Bir parametrenin internette önerilen değeri sizin iş yükünüze uymayabilir. Bu yüzden her değişikliği önce yoğun saatlere benzer bir yükle test ortamında deneriz; mümkün olmadığında canlıda tek değişkeni, geri alma adımı hazır olarak değiştiririz. Aynı anda birden fazla ayarı değiştirmek, hangi adımın fayda, hangisinin zarar getirdiğini belirsiz bırakır.
Devamını okuDaha az göster
Optimizasyon çoğu zaman donanım ve lisans maliyetini de etkiler. Gereğinden büyük seçilmiş bir bulut örneği küçültülebilir ya da arşive alınan veri daha ucuz bir depolama sınıfına taşınabilir. Bu tür kararları performans ölçümleriyle birlikte raporlarız; böylece kaynak küçültmenin kullanıcı deneyimine etkisi önceden görülür.
08Çalışma modelleri
Bu hizmette çalışma modelleri
- 01
Proje bazlı
Sabit kapsam, sabit fiyat ve belirli teslim tarihi
Kapsamı belli, teslim tarihi olan işler için.
- Yazılı kapsam ve kabul ölçütleri
- Sabit fiyat ve belirli teslim tarihi
- Teslim ve kabul adımları sözleşmede
- 02
Bakım ve destek
Aylık sözleşmeli, SLA'lı bakım, destek ve geliştirme saati
Yayındaki bir sistemin sürekliliği için.
- Aylık sözleşme ve SLA
- İzleme, güncelleme ve hata düzeltme
- Aylık geliştirme saati
- 03
Danışmanlık
Saatlik veya günlük teknik danışmanlık
Karar, denetim veya yön belirleme gereken durumlar için.
- Saatlik veya günlük çalışma
- Yazılı rapor ve öneriler
- Ekibinizle birlikte çalışma
09Sık sorulan sorular
Veritabanı optimizasyonu hakkında sık sorulan sorular
Veritabanı optimizasyonu fiyatları neye göre değişir?
Sunucu ve veritabanı sayısı, veri büyüklüğü, bölümleme veya arşivleme gibi yapısal değişiklik gerekip gerekmediği ve test ortamının hazır olup olmadığı belirleyicidir. İlk ölçüm sonrasında yapılacakları ve kapsamı netleştirip teklif veriyoruz.
Sorgu optimizasyonundan farkı nedir?
Sorgu optimizasyonu tek tek yavaş sorgulara odaklanır. Veritabanı optimizasyonu ise yapılandırmayı, depolamayı, bakım düzenini, veri yaşam döngüsünü ve mimariyi kapsar; yavaş sorgular da bu çalışmanın bir parçası olarak ele alınır.
Sunucuyu büyütmek daha kolay değil mi?
Kısa vadede kolay görünür ama darboğaz yapılandırma ya da veri yapısındaysa ek kaynak sorunu ancak erteler. Ölçüm, sorunun gerçekten kaynak yetersizliği olup olmadığını gösterir; öyleyse büyütmeyi biz de öneririz.
Eski verileri arşivlersek raporlarımız bozulur mu?
Arşiv planı raporlama ihtiyacına göre yapılır. Eski dönemler ayrı bir tabloya ya da veritabanına taşınsa da raporların gerektiğinde bu veriye ulaşabileceği bir görünüm sağlanır; saklama yükümlülüğü olan kayıtlar silinmez.
Bir veritabanı optimizasyonu firması çalışma sırasında sistemimizi yavaşlatır mı?
Ölçüm aşamasında kullanılan araçlar hafif yük getirir ve yoğun saatlerin dışında yapılandırılır. Yapısal değişiklikler ise iş takviminize göre seçilen bakım pencerelerinde uygulanır.
İyileştirmeden sonra performans yeniden düşerse ne olur?
Veri ve kullanıcı sayısı büyüdükçe ayarların gözden geçirilmesi gerekir. Kurduğumuz izleme bu kaymayı erken gösterir; dönemsel kontrol için bakım ve destek anlaşması yapılabilir.
10İlgili hizmetler