Tüm Ürünler
Search
Belge Merkezi

Database Autonomy Service:SQL optimization technology

Son Güncelleme:Oct 06, 2026

Database Autonomy Service (DAS), yavaş sorguları ve verimsiz SQL ifadelerini otomatik olarak algılar, kök nedenlerini teşhis eder ve manuel müdahale gerektirmeden düzeltmeler uygular. SQL ifadelerini yeniden yazarak ve dizin kullanımını ayarlayarak sorgu gecikme sürelerini azaltır ve kaynak tüketimini düşürür.

Manuel SQL optimizasyonu neden yetersiz kalıyor?

Veritabanı yöneticileri (DBA'ler) ve geliştiriciler giderek büyüyen bir sorunla karşı karşıyadır: SQL iş yükleri statik değildir. İş süreçlerinin yinelemeleri, veri dağılımındaki değişimler, yoğun nokta değişiklikleri ve veritabanı sürüm yükseltmeleri performans profillerini sürekli olarak yeniden şekillendirir. Bu değişimlere ayak uydurmak orantısız düzeyde zaman ve personel kaynağı gerektirir.

Manuel optimizasyon, iki kritik zaman noktasına bağlı yapısal zayıflıklara sahiptir:

  • T1 — Performans istisnasının algılanması ve optimizasyonun başlaması

  • T2 — Düzeltmenin uygulanması ve örneğin normale dönmesi

sql

Geleneksel iş akışlarında T1 geç gelir; genellikle sorun kullanıcı deneyimini uzun bir süre boyunca olumsuz etkiledikten sonra fark edilir. T1 ile T2 arasındaki boşluk tamamen manuel çabaya bağlıdır ve bu sırada arıza riski birikir. Veri hacimleri arttıkça bu model çöker: daha fazla personel eklemek sorunu çözmez.

Bu döngüyü kapatan otomatik SQL optimizasyonu oluşturmak, altı boyutta zorluklar içerir:

Boyut Zorluk
Doğruluk Gürültü olmadan doğru istisnaları doğru zamanda algılama
Teşhis Eyleme geçirilebilir, yüksek güven düzeyine sahip optimizasyon önerileri oluşturma
Güvenlik Çevrimiçi değişikliklerin üretim ortamını kararsız hale getirmemesini sağlama
Kapsamlılık Optimizasyon sonuçlarını birden fazla boyutta gerçek zamanlı olarak izleme
Bağlantı Hem semptomları hem de kök nedenleri ele almak için SQL kısıtlama ve SQL optimizasyonunu koordine etme
Ölçek Yüz binlerce ila milyonlarca sunucuda otomatik optimizasyonu destekleme

Nasıl çalışır?

DAS otomatik SQL optimizasyonu, beş aşamalı kapalı bir döngü olarak çalışır. Her aşama bir sonrakini besleyerek manuel süreçlerin bıraktığı boşlukları ortadan kaldırır.

SQL优化

1. Aşama: Algılama

DAS, iş yüklerini üç tür sorun için sürekli olarak izler: yavaş sorgulara neden olan yeni SQL ifadeleri, performansı kötüleşen SQL ifadeleri ve tutarlı şekilde verimsiz kalan SQL ifadeleri. Algılama şu üç koşul altında tetiklenir:

  • Zamanlanmış analiz — Yavaş sorgular, düzenli operasyon ve bakım zaman penceresi periyotlarına göre çevrimdışı olarak analiz edilir

  • Gerçek zamanlı kötüleşme — İş yükü istisna algılama algoritması, performans düşüşlerini gerçekleştiği anda belirler; karmaşık olaylarda otomatik SQL kısıtlama ve otomatik SQL optimizasyonu birlikte devreye girer

  • İş yükü değişiklikleri — İş SQL'i yayınlandığında veya yayından kaldırıldığında, DAS veri hacminin veya sorgu dağılımının mevcut dizinlerin işleyebileceği sınırları aştığını tespit eder

2. Aşama: Teşhis

Sorunlu SQL ifadeleri teşhis motoruna gönderilir; bu motor, veritabanı optimize edicilerinin kullandığı yaklaşımla aynı olan maliyet tabanlı bir model kullanarak her olası düzeltmeyi değerlendirir. Öneriler arasında optimal dizinler oluşturma, SQL ifadelerini yeniden yazma ve motor önerme yer alır. Her öneri, yürütme maliyetine göre puanlanır; bu sayede sezgisel tahminler yerine sıralı ve nicel sonuçlar elde edilir.

SQL teşhis ve optimizasyon özelliği, Alibaba Group bünyesinde yıllardır üretim ortamında çalışmaktadır; grubun iş uygulamaları arasında günde yaklaşık 50.000 SQL ifadesini teşhis etmektedir. Teşhis başarı oranı %98'in üzerinde, yavaş sorgu öneri oranı ise %75'in üzerinde seyretmektedir.

3. Aşama: Planlama

DAS, her önerinin riskini otomatik olarak değerlendirir, kademeli dağıtım planı oluşturur ve mevcut iş yükü ile örnek profiline göre optimizasyon görevlerini zamanlar. Manuel zamanlamaya gerek yoktur.

4. Aşama: Uygulama

Değişiklikler operasyon ve bakım zaman penceresinde uygulanır. Büyük veri hacimli parçalama senaryolarında kademeli dağıtım planı değişiklikleri toplu işler halinde uygular. Yürütme sırasında DAS, birincil ve ikincil örnekler arasındaki çoğaltma gecikmesini izler. Gecikme yapılandırılmış eşiği aşarsa dizin değiştirme görevleri hemen askıya alınır; herhangi bir anda örnek başına yalnızca bir değişiklik görevi çalışır.

5. Aşama: Doğrulama ve onaylama

Değişiklikler etkili olduktan sonra karar motoru, hem optimize edilmiş SQL ifadelerini hem de ilgili SQL şablonlarını kapsayan bir izleme görevi başlatır. Karar ağacı modeli kullanarak optimizasyon öncesi ve sonrası performans ölçümlerini karşılaştırır; tam SQL ifadelerini ve yavaş sorgulara neden olanları izler.

Varsayılan izleme döngüsü 24 saattir. Herhangi bir noktada performans kötüleşirse değişiklikler otomatik olarak geri alınır. 24 saat içinde geri alma işlemi gerçekleşmezse optimizasyon başarılı olarak işaretlenir ve gerçek optimizasyon faydaları hesaplanır.

Döngü genelinde olay temelli koordinasyon

DAS Event Center bu aşamaları birbirine bağlar. Uyarı sistemi, gerçek zamanlı algılama, çevrimdışı analiz veya iş yükü izlemesinden gelen istisna olaylarının tümü Event Center'a akar. Teşhis sonrasında DAS yeni bir optimizasyon olayı oluşturur ve bunu bir sonraki aşamayı yönlendirmek üzere Event Center'a geri yönlendirir.

啊

DAS otomatik SQL optimizasyonu veri odaklı kapalı bir döngüdür. Önceki şekil tüm süreci basit bir şekilde göstermektedir.

DAS otonomi merkezinde otonomi hizmetini etkinleştirdiğinizde, optimizasyon önerilerinin otomatik olarak mı uygulanacağını yoksa devam etmeden önce onayınızı mı gerektireceğini seçebilirsiniz.

Değişiklik güvenliği

Üretim veritabanlarında yapılan otomatik değişiklikler doğası gereği risk taşır. DAS bu durumu üç katmanlı güvenlik önlemiyle ele alır:

Değişiklik öncesi kontroller

Değişiklikler ancak aşağıdaki tüm ölçümler güvenli aralıklar içinde kaldığında ilerler:

  • Birincil ve ikincil örnekler arasındaki çoğaltma gecikmesi

  • Veritabanı iş yükü

  • Tablespace kullanımı

Değişiklikler yapılandırılmış operasyon ve bakım zaman penceresiyle sınırlıdır; böylece modifikasyonlar yoğun trafik dönemlerinden uzak tutulur.

Kademeli dağıtım

Büyük veri hacimli parçalama senaryolarında DAS, değişiklikleri tek seferde değil toplu işler halinde uygulayan kademeli bir dağıtım planı otomatik olarak oluşturur. Yürütme sırasında DAS çoğaltma gecikmesini sürekli izler. Gecikme yapılandırılmış eşiği aşarsa o örnek için tüm dizin değiştirme görevleri derhal askıya alınır. Herhangi bir anda örnek başına yalnızca bir değişiklik görevi çalışır.

Otomatik geri alma

Her değişiklikten sonra karar motoru, karar ağacı modeli kullanarak optimize edilmiş SQL ifadelerinin ve ilgili SQL şablonlarının performansını izler. Tam SQL ifadeleri ve yavaş sorgu SQL'leri arasında optimizasyon öncesi ve sonrası ölçümleri karşılaştırır. 24 saatlik izleme penceresi sırasında herhangi bir noktada performans kötüleşirse değişiklikler otomatik olarak geri alınır; manuel müdahale gerekmez.

Desteklenen veritabanı motorları

Otomatik SQL optimizasyonu aşağıdaki veritabanı motorlarını destekler: ApsaraDB RDS for MySQL, PolarDB for MySQL ve ApsaraDB RDS for PostgreSQL.