Szerző: Bodnár Ádám

2014. március 28. 14:08

Közös nyílt forrású adatbázist terveznek a nagy webes cégek

Összefogott négy nagy webes cég MySQL-szakértőinek csapata és megalapították a WebScaleSQL projektet, amelynek célja, hogy a széles körben elterjedt nyílt forrású adatbázist jobban skálázhatóvá tegyék.

A MySQL skálázódási korlátainak lebontására hozott létre közös projektet a LinkedIn, a Facebook, a Google és a Twitter csapata. A cégek által életre hívott WebScaleSQL projekt célja olyan technológiák kidolgozása és megosztása a MySQL közösségével, amelyek által a szabad adatbázis még jobban skálázódik és még nagyobb teljesítményt nyújt a hatalmas méretű webes alkalmazások által jelentett terhelések alatt.

"A WebScaleSQL elindításával a célunk az, hogy a MySQL közösség skálázhatóság iránt érdeklődő tagjai számára lehetőséget teremtsünk a szoros együttműködésre annak érdekében, hogy a számunkra legfontosabb nézőpontok nagyobb szerepet kapjanak" - írja a kezdeményezést bejelentő blogposztban a Facebook. "Szeretnénk egy jobban integrált tudásmegosztási rendszert létrehozni, hogy a MySQL 5.6-ban rejlő lehetőségeket még jobban kihasználhassák a cégek, miközben olyan új elemek kerülhetnek be, amelyek a nagy elosztott környezetek számára specifikusak."

A négy említett webes szolgáltató MySQL-en dolgozó csapatai már hónapok óta közösen dolgoznak azon, hogy az adatbázis skálázhatóságát javítsák és a fejlesztéseket megosztják a MySQL közösséggel is. "Tudjuk, hogy nem mi vagyunk az egyetlenek, akik megpróbálják megoldani ezeket a feladatokat. Úgyhpgy a WebScaleSQL-t nyíltan tartjuk és arra biztatjuk azokat, akik akkora mérettel és erőforrásokkal rendelkeznek, hogy a MySQL-t feladataikhoz szabják, hogy csatlakozzanak. Persze örömmel vesszük a hozzájárulást bárkitől, függetlenül attól, min dolgozik éppen."

Min dolgoznak?

A WebScaleSQL közössége által eddig elért eredmények között van egy automatizált keretrendszer, amely minden változtatási kérelmen végigfuttatja a MySQL beépített tesztjeit (mtr) és az eredményeket publikálja is. A fejlesztők kidolgoztak új "stresszteszteket" és teljesítményteszteket is, kimondottan webes környezetekre gondolva, belenyúlva a MySQL-ben eddig is megtalálható tesztekbe is akár.

A teljesítményen is javított a WebScaleSQL csapata, például a buffer pool flashingen végzett változtatásokkal, egyes lekérdezések optimalizálásáva, illetve a NUMA memóriakezelési elvek (interleaving policy-k) finomhangolásával. Emellett új képességek is bekerültek a szoftverbe, amelyek kimondottan nagy méretű, nagy terhelésű webes feladatok futtatása esetén lehetnek hasznosak, ilyen például a másodperc alatti kliens timeout kezelése.

A jelenleg futó projektek között van egy aszinkron MySQL kliens: ez úgy tudja lekérdezni az adatbázist, hogy nem kell várnia a kapcsolat felépülésére és az adatok érkezésére. A Facebook már hónapok óta élesben használja ezt a megoldást, jelenleg a kód átfésülése zajlik, mielőtt publikálják a WebScaleSQL keretein belül. A fejlesztők azon is dolgoznak, hogy a Facebooknál bizonyos esetekben (pl. teljes táblascan) tízszeres teljesítménynövekedést eredményező Logical Read-Ahead mechanizmust is elérhetővé tegyék mindenki számára. A közösségi oldalnál a MySQL üzemeltetése során felhalmozódott, tömörítéssel kapcsolatos tapasztalatok is bekerülnek a WebScaleSQL-be hamarosan

a címlapról