A Docker konténerizáció és Kubernetes felforgatta a világot
A YouTube mérnökei olyan szoftvercsomagot fejlesztenek ki, a Vitess nevű programot, amely segíteni fogja a nyílt forráskódú MySQL adatbázisok hatékonyabb működését a nagyon nagy méretű termelési környezetekben. A kód megírásához a Google programozási nyelvét használja Go.
A YouTube már egy Vitus-komponenst (a Vtocc-ot) használ, amely segítséget nyújt a videók teljesítéséhez 800 millió havi felhasználó számára. A Google 2006-ban szerezte meg a YouTube-ot.
A Vtocc "nagyon stabil volt, és rendelkezik minden olyan eszközzel, amelyet felhasználhat egy termelési környezetben" - mondta Sugu Sougoumarane, a YouTube-szerkesztő, aki a YouTube mérnöke, Mike Solomon a Usenix LISA (Large Installation System Administration) konferencián, amely ezen a héten San Diegón tartott.
A Go-ban írt Vitess segíthet érvényesíteni azt az elképzelést, hogy ez a viszonylag új programnyelv használható nagyszabású termelési környezetekben. A Google bevezette a March 1-es verzióját.
A YouTube havonta több mint 4 milliárd órányi videót jelenít meg. Kb. 72 óra videó kerül feltöltésre a szolgáltatásra percenként. Bár a YouTube minden fájlját közvetlenül a fájlrendszerben tárolja, a MySQL segítségével tárolja az összes videóhoz szükséges összes metaadatot, például a felhasználói preferenciákat, a hirdetési információkat, az országbeli testreszabásokat és egyéb szükséges adatokat.
A YouTube a MySQL használatával szereti megbízhatóságáról, mondta Salamon, az egyik olyan mérnök, aki eredetileg felépítette a szolgáltatást. Elképesztő, de ezek a mókák jól ismertek és könnyedén enyhíthetők, mondta. Ugyanakkor a MySQL-nek is problémái vannak a méretezéssel kapcsolatban - legalábbis méretezéssel, hogy olyan szolgáltatást nyújtson, amely olyan nagy, mint a YouTube.
"A MySQL legfontosabb problémája az, hogy ha egyszer elér egy bizonyos [használati] pontot, a hardverkezelés ideje és hány példány van "- mondta Salamon. "Azt akarjuk, hogy automatizáljuk azt a darabot, hogy minden bonyolult és hibás cselekvést meghozzunk, és meggyógyuljunk."
A MySQL szintén nem nagyon hatékony, ha nagy telepítéskor használják. Általában minden kapcsolat a MySQL-hez saját szálat igényel a kiszolgálón. Ez a megközelítés azonban nem megvalósítható a YouTube műveleteinek léptékében. "A több tízezer kapcsolat nem igazán életképes" - mondta Solomon.
A cég mérnökei azonban nem szívesen próbálnák magukban megváltoztatni a magi MySQL kódot, megjegyezve, hogy változtatásokat hajtanak végre a komplexumban és némiképp nehézkessé tenni - a kód megérzése gyakran nem várt hatásokat eredményez. "Nem egyszerű: csak akkor, amikor úgy gondolja, hogy tudja, mit csinál, akkor kezd bajba kerülni" - mondta Solomon.
Tehát a Vitess azért jött létre, hogy a MySQL-szel együttműködve további menedzsment képességeket kínáljon. Például a Vtocc összetevő több ezer beérkező SQL lekérdezést tömörít egy kisebb számú tételre, így a MySQL kevesebb erőforrást igényelhet ezeknek a kéréseknek a kielégítésére. A Vtocc a lekérdezéseket is elemzi, hogy azok hatékonyabban végrehajthatók legyenek, és csökkentsék az ismétlődő lekérdezések által okozott munkát azáltal, hogy az eredményeket egy lekérdezésből újra felhasználják a többi azonos kérés kielégítésére.
A Go használatával a YouTube fejlesztői produktívabbak lennének, mint amit egy hagyományosabb nyelvet használtak, mondta Sougoumarane.
A kód gyorsan összeállt, mondta. A Vitess 30 000 sorának kódja kb. 30 másodpercen belül összeállítható bináris fájlba. És a gazdag könyvtáraknak köszönhetően sok feladat nem igényel sok programot. Például Sougoumarane egy 105 soros rutint írt, amely időnként kijavítja a naplófájlokat, olyan funkcionalitást, amellyel a C vagy a C ++ használatával nem lehetett néhány sorba írni.
"Így fejeződik ki a kifejező Go" - mondta Sougoumarane. "A nyelvi jellemzők jól átgondolt, segítenek abban, hogy a dolgokat sokkal elegánsabban formázzuk, mint a hagyományos nyelveket." A Sougoumarane dicsérte a Go-féle konkurencia-támogatást is, ami létfontosságú a többmagos processzorokban való használathoz. "Nem kell aggódnod a szálak kezeléséért, és menni fogod őket neked" - mondtaA nyelvnek van néhány hátránya is, elismerte Sougoumarane. A hibaelhárítás például javítható. Az ütemezés és a szemétgyűjtés is alkalmazhat néhány munkát.
Solomon elmondta, hogy idővel a Vitess további feladatokat, például adatbázis-replikációt és automatikus sharding-ot is igénybe vehet, így egy adatbázis több szerveren keresztül bővíthető, a beavatkozók beavatkozása nélkül.
Joab Jackson vállalati szoftvert és általános technológiai híreket közöl az
Az IDG News Service számára. Kövesse Joabot a Twitteren a @Joab_Jackson-on. Joab e-mail címe [email protected]
Viacom International a New York-i Dél-kerületi Kerületi Bíróságon 2007-ben benyújtotta keresetét a Google és a YouTube videómegosztó leányvállalata ellen. A vádlott a Viacomhoz tartozó szerzői jogi tartalmak illegális terjesztését végző vállalatok és a Google keresési algoritmusait használva indokolatlan hangsúlyt helyezett a szerzői jogi tartalom. Az ügy felfedezésének részeként a Viacom tájékoztatást kért a YouTube keresési algoritmusairól - a bíró megtagadta a kérést - és a felhasználói adatb
De a bírósági döntés "téves" és "visszaáll az adatvédelmi jogokhoz "- mondta Kurt Opsahl, az Electronic Frontier Foundation Senior Staff Attorney, aki a megrendeléssel kapcsolatos blogbejegyzést írt.
Oldalán: több promóciós kóddal
Az olvasók segítséget kérnek egy olyan vállalattól, amely több promóciós kód kedvezményt nem fogad el egyetlen és még egy csata a visszatérítéshez.
Botnet szerzők Crash WordPress helyek Buggy kóddal
A Gumblar botnet által használt webkódban található hiba a WordPress és más PHP-alapú webhelyek összeomlásával jár.