Anpassning av buffertstorleken på lämpligt sätt är avgörande för prestandan hos en molndatabas, eftersom minnet vanligtvis är resursen flaskhals. För storskaliga databaser som stöder heterogena tillämpningar innebär det en utmaning att anpassa de individuella buffertstorlekarna för ett betydande antal databasinstanser. Manuell optimering är varken effektiv eller effektiv, och inte ens möjlig för stora molnkluster, särskilt när arbetsbelastningen kan förändras dynamiskt på varje instans. Svårigheten ligger i det faktum att varje databasinstans kräver en annan buffertstorlek som är mycket individualiserad, med förbehåll för begränsningen av det totala buffertminnet. Det är absolut nödvändigt att ta till algoritmer som automatiskt iscensätter buffertpool tuning för hela databasen instanser. Därför designar vi iBTune som har använts för mer än 10 000 OLTP-databaser i vårt produktionssystem. Specifikt utnyttjar det informationen från liknande arbetsbelastningar för att ta reda på det tolerabla missförhållandet för varje instans. Sedan använder det förhållandet mellan miss ratios och tilldelade minnesstorlekar för att individuellt optimera mål buffert pool storlekar. För att tillhandahålla en garanterad nivå av servicenivåavtal (SLA) designar vi ett parvis djupt neuralt nätverk som använder funktioner från mätningar på par av instanser för att förutsäga de övre gränserna för begäran svarstider. En buffertpools storlek kan justeras endast när den förväntade svarstiden övre gräns är i en säker gräns. Den framgångsrika utbyggnaden av en produktionsmiljö, som säkert minskar minnesavtrycket med mer än 17 % jämfört med det ursprungliga systemet som bygger på manuella konfigurationer, visar hur effektiv vår lösning är. Referensformat för PVLDB:
Arbetet i REF använder DNN för att optimera buffertstorleken på databassystemet.
iBTune: Individualized Buffer Tuning for Large-scale Cloud Databases
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}