AI-ügynök segít optimalizálni a SingleStore leglassabb lekérdezéseit

A SingleStore Query Tuning Agent nevű AI-ügynöke a lassú SQL-lekérdezések okait vizsgálja, majd bizonyítékokkal alátámasztott, rangsorolt optimalizálási javaslatokat ad. Az eszköz a vállalat szerint előzetes hozzáférésben érhető el, és alapértelmezés szerint nem hajtja végre a módosításokat.
- A Query Tuning Agent lassú lekérdezések és debug profile-ok alapján ad javaslatokat.
- SingleStore-specifikus elosztási, join-, shard- és rendezési problémákat keres.
- Az eszköz a Visual Explainből, az SQL Editorból és az előzményekből is elindítható.
- A generált DDL- és DML-utasításokat a felhasználónak kell ellenőriznie és alkalmaznia.
- A profilozott műveleteket tranzakcióban futtatja, majd visszagörgeti.
Egyetlen folyamatba rendezi a lekérdezés-hangolást
A SingleStore szeptember 30-i közleménye szerint egy lassú lekérdezés többféle okból is kialakulhat. A megoldás függhet például az adatok elosztásától, a shard kulcsoktól, a rendezési kulcsoktól vagy az alternatív hozzáférési útvonalakat biztosító projectionöktől. Ezek megfelelő kiválasztása jelentős adatbázis-tapasztalatot igényel.
A vállalat szerint eddig a fejlesztők gyakran több lépésben vizsgálták ki a problémát: profilt készítettek az adatbázisban, parancssori eszközzel tisztították, majd egy tudásbázissal kiegészítve betöltötték egy csevegőeszközbe. A kapott választ ezután SQL-re kellett átültetniük. A Query Tuning Agent ezt egy irányított folyamatban egyesíti. A felhasználó egy lassú lekérdezésből vagy debug profile-ból indulhat, az ügynök pedig átnézi a profilt és a sémát, majd rangsorolt megállapításokat ad.
SingleStore-specifikus okokat keres
Az ügynök a SingleStore elosztott végrehajtási motorjára jellemző problémák felismerésére készült. Vizsgálhatja a broadcast és repartition műveletekre épülő joinokat, a partíciók és szálak közötti adategyenetlenséget, valamint azokat a shardkulcs-választásokat, amelyek akadályozzák a collocated joinokat vagy a helyi csoportosítást.
A rendszer a rendezési kulcsok és a szegmensszűrés összhangját, a kardinális becslések pontosságát, az elavult statisztikákat, a memória túlcsordulását, a hash-építés helyét, a fordítási többletet és a plan cache kihagyásait is figyelembe veszi. A javaslatokat operátoronkénti futási idő, szegmensolvasások és kihagyások, ferdeségi arányok, valamint a becsült és tényleges sorszámok alapján készíti, így a SingleStore szerint nem általános adatbázis-tanácsokat ad.
A háttérben rögzített folyamat fut: a rendszer beolvassa és megtisztítja a profilt, elemzi a végrehajtási tervet, azonosítja a szűk keresztmetszetet, majd egy válogatott hangolási tudásbázisban keres releváns mintákat. Ezután magyarázattal ellátott javítást javasol, a létrehozott DDL-t pedig megjelenítés előtt szintaktikai és szemantikai szempontból is ellenőrzi.
A javaslatokat a felhasználó ellenőrzi és alkalmazza
A Query Tuning Agent a SingleStore portálján oldalsávos asszisztensként jelenik meg. A Visual Explain felületén az Optimize művelet a lekérdezést és a nyers profilt is átadja neki. Az SQL Editorban kijelölt lekérdezésből szintén elindítható a profilozás és a hangolás, a korábbi futások pedig a lekérdezési előzményekből vizsgálhatók újra. A rendszer debug profile JSON-fájlt is fogad, így élő kapcsolat nélkül, önállóan üzemeltetett rendszerek profiljai is elemezhetők.
A SingleStore szerint az ügynök alapértelmezés szerint magyaráz és javasol, de nem hajt végre módosításokat. A DDL- és DML-utasításokat szövegként adja vissza, amelyeket a felhasználó ellenőrizhet és nem éles környezetben alkalmazhat. A profilozás tényleges végrehajtási profilon alapul. Írási műveleteknél is tranzakciós burkolást használ, amelyet mindig visszagörget, így a Query Tuning által futtatott változtatások nem kerülnek véglegesítésre. A rendszer azt is ellenőrzi, hogy nincs-e már folyamatban saját tranzakció, és a felhasználó meglévő munkájába nem avatkozik be.
A vállalat előzetes programot indított, és tervezési partnerekkel dolgozik a lefedettség bővítésén. A visszajelzések, köztük a negatív értékelések, bekerülhetnek az értékelési folyamatba. A SingleStore hangsúlyozza, hogy az eszköz a szakértői döntést nem váltja ki a különösen összetett, új helyzetekben, viszont a gyakori hangolási vizsgálatok első körét egységesebbé teheti.
SingleStore: Introducing the Query Tuning Agent: Optimize Your Most Complex Workloads


