İçeriğe geç
Balkan Tecnologia

Gerçek yüke göre tasarlanmış veritabanı

Veri modelini tasarlıyor, gereken indeksleri ekliyor, yavaş sorguları sistemin gerçekte yaptığı işe göre yeniden yazıyoruz; her değişiklikten önce ve sonra ölçüm alıyoruz.

Üç ahşap makaraya sarılı, birinden ötekine geçen nane yeşili iplik.

Kimin için

Verisi büyüdükçe sistemi yavaşlayan ya da sıfırdan bir ürüne başlayan şirketler için.

Neyi çözer

  • Eskiden hemen açılan ekranlar ve raporlar artık bekletiyor; hangi sorgunun yavaşlattığını kimse bilmiyor.
  • Tablolar plansız büyüdü, aynı veri farklı yerlerde duruyor.
  • Canlıda bir sütunu değiştirmek korkutuyor, çünkü veritabanındaki değişikliklerin geçmişi tutulmuyor.
  • CNPJ sayı olarak saklanıyor; harf de içeren yeni CNPJ'ler alana sığmıyor.
  • Her yoğun saatte veritabanı sınıra dayanıyor, sistem herkes için yavaşlıyor.

Ne yapıyoruz

Veri modeli
Tablolar, ilişkiler ve kısıtlar tek tek ekranlara göre değil, iş kurallarına göre tasarlanır.
Yavaş sorguların tespiti
En çok süre ve kaynak harcayan sorguları ölçer, işe onlardan başlarız.
İndeksler ve yeniden yazılan sorgular
Gerçek sorgular için indeks eklenir, sorgular yeniden yazılır; her değişikliğin kazancı ölçülür.
Sürümlenen şema değişiklikleri
Veritabanındaki her değişiklik gözden geçirilmiş, test edilmiş bir betiğe dönüşür ve her ortamda aynı biçimde uygulanır.
Brezilya'ya özgü alanlar
CPF, alfanümerik CNPJ, CEP ve real cinsinden tutarların tipi ve doğrulaması baştan tanımlanır.
Önbellek ve okuma kopyaları
Ölçümler gerekli gösterirse sık yapılan okumalar ana veritabanından önbelleğe ya da bir okuma kopyasına alınır.

Neler teslim edilir

  • Diyagramı ve alan sözlüğüyle belgelenmiş veri modeli
  • Önce ve sonra ölçümleriyle yavaş sorgu raporu
  • Canlıda çalışan, iyileştirilmiş indeksler ve sorgular
  • Deponuzda sürümlenen şema değişiklikleri
  • Bir sorgu yavaşladığında alarm veren veritabanı performans panosu

Nasıl ilerliyoruz

  1. Ölçüm

    Gerçek sorguları, veri hacmini ve yoğun saatleri toplarız.

  2. Teşhis

    Darboğaz bulunur: model, indeks, sorgu ya da veritabanı ayarı.

  3. Test ortamında ayar

    Her değişiklik canlıdakine yakın bir veri hacmiyle denenir.

  4. Yayın

    Değişiklikler sürümlü betiklerle, anlaşılan saatte ve geri dönüş planıyla uygulanır.

  5. İzleme

    Yeni ölçümler başlangıçtakilerle karşılaştırılır; hâlâ yavaş kalan kısım elden geçer.

Teknoloji örnekleri

  • PostgreSQL
  • MySQL
  • SQL Server
  • Redis
  • Flyway
  • pg_stat_statements

İlgili hizmetler

Sık sorulan sorular

Veritabanını değiştirmemiz gerekir mi?

Genellikle ilk adım bu değildir. Mevcut veritabanında modeli, indeksleri ve sorguları iyileştirmek çoğu zaman daha ucuza gelir. Ölçüm bunun çözemeyeceği bir sınır gösterirse değişim gündeme gelir; o zaman iş bir veri taşıma projesine dönüşür.

SQL mi, NoSQL mi?

Verinin yapısına ve nasıl sorgulandığına bağlı. İlişkileri ve işlemleri olan sipariş, ödeme ve müşteri kayıtlarında ilişkisel bir veritabanı genellikle yeter; başka bir tür ancak ölçülmüş bir gerekçe varsa devreye girer.

Bu ayarlar sistemi durdurmadan yapılabilir mi?

İndeks eklemek gibi birçok değişiklik sistem çalışırken yapılabilir. Bakım penceresi gerektirenler önceden konuşulur; saati ve geri dönüş planı birlikte belirlenir.

Sorun veritabanında değil de koddaysa?

Olur; örneğin aynı sorguyu defalarca çalıştıran bir ekran. Bu durumda veritabanına erişen kodu düzeltir ya da sorunlu yeri ekibinize tam olarak gösteririz.

Balkan'a yazın

Projeniz için yazın