Databasbaserade applikationer är nästan allestädes närvarande i vårt dagliga liv. Applikationer som gör många små åtkomster till databasen skapar två utmaningar för utvecklare: ökad latens och bortkastade resurser från många nätverks turer. En välkänd teknik för att förbättra prestandan i transaktionsdatabaser är att omvandla en del av programmet till lagrade förfaranden som utförs på databasservern. Tyvärr är denna omvandling ofta svår. I detta papper beskriver vi Pyxis, ett system som tar databas-backed program och automatiskt partitionerar sin kod i två delar, varav den ena utförs på applikationsservern och den andra på databasservern. Pyxis profilerar program och serverbelastningar, analyserar statisk kodberoenden och producerar en partitionering som minimerar antalet kontrollöverföringar samt mängden data som skickas under varje överföring. Våra experiment med TPC-C och TPC-W visar att Pyxis kan generera partitioner med upp till 3× minskning av latency och 1,7× förbättring i genomströmning jämfört med en traditionell icke-partitionerad genomförande och har jämförbar prestanda med en anpassad lagrad förfarande implementation.
Pyxis REF partitioner databasprogram i två delar, en att köras på applikationsservern och den andra på databasservern, för att minimera mängden kontroll och dataflöde för databassamtal.
Automatic Partitioning of Database Applications
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}