Kun SQL ei ole tarpeeksi: Ohjaukset massiivisille uusille tietokeskuksille

Kirjoittaja: Judy Howell
Luomispäivä: 3 Heinäkuu 2021
Päivityspäivä: 1 Heinäkuu 2024
Anonim
Kun SQL ei ole tarpeeksi: Ohjaukset massiivisille uusille tietokeskuksille - Tekniikka
Kun SQL ei ole tarpeeksi: Ohjaukset massiivisille uusille tietokeskuksille - Tekniikka

Sisältö



Ottaa mukaan:

Kehittäjien ja insinöörien on jatkuvasti työskenneltävä nopeuttaakseen ja parantaakseen palveluita sellaisilla alustoilla, jotka ovat kasvaneet huomattavasti klassisten 1990-luvun arkkityyppien ulkopuolelle.

Kaikissa suruissaan valtavista NSA-tietokeskuksista, joissa on gaziljoonaa dataa bittiä yksityiselämästämme, on yksi asia, josta ei ole puhuttu paljon, ainakin CNN: ssä. Siihen liittyy esiin noussut tekninen ongelma pilvitekniikan, ison datan ja vaikuttavien fyysisten tietojen tallennuskeskusten kanssa, joita nyt rakennetaan ympäri maailmaa. Eli mikä se on? No, riippumatta siitä, kuka ylläpitää yhtä mammutti-IT-järjestelmää, joka ylläpitää näitä palveluita, tarvitaan ohjelmistojärjestelmiä, jotka auttavat kaikkea tätä tietoa pääsemään putkilinjaan nopeasti ulos. Tämä tarve edustaa yhtä mielenkiintoisimmista IT-kysymyksistä tai arvoituksista, joita ammattilaiset kohtaavat nykyään.


Kuten monet asiantuntijat huomauttavat, nykypäivän äärimmäinen tietojenkäsittelyn kysyntä ylittää perinteiset lähestymistavat. Yksinkertaisesti sanottuna, yksinkertaisten tietokantarakenteiden ja työkalujen, kuten SQL-kyselyrajapinnan, käyttäminen ei aio tarjota tarpeeksi prosessointitehoa tai toimintoja viime vuosien aikana kehittyneiden omistusjärjestelmien kaltaisille. Nykypäivän suurten teknologiayritysten arkistot tarvitsevat erittäin skaalautuvaa tekniikkaa. He tarvitsevat tietojenkäsittelytyökaluja, jotka voivat syöttää ja tulostaa tuloksia huomattavasti enemmän kuin mitä yksi palvelin voi helpottaa. He tarvitsevat ratkaisuja, jotka voidaan nopeasti kasvattaa kasvulle, ratkaisuja, jotka sisältävät monimutkaisen tason tekoälyn, ratkaisuja, jotka on suunniteltu helppoon hallintaan tietotekniikkaosastolla.

Kysymys kuuluu, kuinka yritykset ja valtion virastot valloittavat perinteisen tietojenkäsittelypolun rajoitukset? Täällä on hyvä katsoa yhtä erittäin lupaavaa vaihtoehtoa: Ohjelmisto, joka käsittelee suurta dataa ja useiden tietokeskusten hallintaa.


Google-tiedostojärjestelmä: iso tapaustutkimus

Oma tekniikka, jota Google käyttää tietokeskuksiinsa pääsyyn, on yksi parhaista esimerkeistä yleisille malleille suurten tietojenkäsittelyssä ja useiden tietokeskusten hallinnassa. Vuonna 2003 kehitetty Google File System (GFS) on suunniteltu tukemaan valtavia määriä nopeita muutoksia tietojärjestelmiin, jotka ovat osa saamaan niin paljon uutta tietoa yhdelle alustalle ja siitä pois, kun miljoonat käyttäjät napsauttavat samaan aikaan. Asiantuntijat viittaavat tähän hajautettuun tiedostojärjestelmään ja kuvaavat termiä "tietokohteiden varastointi" kuvaamaan näitä erittäin monimutkaisia ​​tekniikoita. Todellisuudessa nämä termit eivät kuitenkaan edes naarmuta pintaa kuvaamalla mitä työskentelee.

Yksilöllisesti GFS: n kaltaisen järjestelmän muodostavat ominaisuudet ja komponentit eivät ehkä ole enää uraauurtavia, mutta ne ovat monimutkaisia. Monet heistä on katettu tällä sivustolla suhteellisen uusina innovaatioina, jotka ovat osa uuden, aina päällä olevan, aina kytketyn globaalin IT-järjestelmän perustaa. Yhdessä GFS: n kaltainen järjestelmä on paljon enemmän kuin sen osien summa: se on suurelta osin näkymätön, mutta erittäin monimutkainen verkko, joka täydentää yksittäisiä tietokappaleita heittämällä tätä tietä ja joka prosessissa, joka, jos se on visuaalisesti täysin mallinnettu, näyttää kaaosta. Ymmärtäminen, missä kaikki tiedot kulkevat, vie paljon energiaa ja sitoutumista, koska näiden järjestelmien taisteluasemia hoitavat henkilöt tunnustavat sen helposti.

"On liian monia yksityiskohtia, joilla on syvällinen vaikutus käytettävyysalueisiin - mukaan lukien ulkoinen ja sisäinen pirstoutuminen, lokiin perustuvat vs. paikalla olevat päivitykset ja tapahtumien johdonmukaisuuden tasot - jotta voidaan tiivistää sen toiminta yhdellä ytimekkäällä lauseella. ", sanoo Sanbolicin toimitusjohtaja ja perustaja Momchil Michailov.

"Hajautettu tiedostojärjestelmä on joko hajautettu aggregaattori osallistuvien solmujen paikallisista nimitiloista ja vapaista tiloista tai paikallinen tiedostojärjestelmä, joka toimii useilla solmuilla, jotka käyttävät jaettua tallennustilaa hajautetun lukonhallintakomponentin avulla", hän sanoi.

Kerry Lebel on Automicin, joka on tunnettu skaalattavista automaatiojärjestelmistä, vanhempi tuotepäällikkö. Lebel sanoo, että vaikka DFS: n on oikein kuvata järjestelmäksi, joka yksinkertaisesti osoittaa työmäärät palvelimille, jotka on kiinnitetty edullisiin laitteistokappaleisiin, se ei oikeastaan ​​kerro koko tarinaa.

Ei vikoja, ei stressiä - vaiheittaiset ohjeet elämää muuttavien ohjelmistojen luomiseen tuhoamatta elämääsi

Et voi parantaa ohjelmointitaitojasi, kun kukaan ei välitä ohjelmiston laadusta.

"Se mitä lopulta puuttuu, on hieno tekijä Miten he tekevät mitä tekevät ", Lebel sanoi.

Kun siirryt eroon teknisistä yksityiskohdista ja mietit vain hajautetun tiedostojärjestelmän perusideasta, "viileä tekijä", josta Lebel puhuu, on ilmeinen. Nämä suuret tiedonkäsittelyjärjestelmät korvaavat vanhat tiedosto- / kansiojärjestelmät rakenteilla, joihin ei sisälly vain useita jakelujärjestelmiä, vaan "oliokeskeinen" lähestymistapa, jossa valtava määrä yksiköitä ohjataan täällä siellä pullonkaulojen estämiseksi.

Ajattele esimerkiksi huipputeknistä moottoritiejärjestelmää, jossa satoja tuhansia autoja ei johdeta vain monitasoon heti, vaan ne kaadetaan siistiin pieniin apilalehtiin tai härän sivujokiin, joita kehrätetään ja lähetetään kohti määränpäätä monilla kiertotieillä. Taivaalta kaikki näyttää yhtä koreografisesti kuin sveitsiläinen kello. Se on sellainen visuaalinen malli, jota insinöörit katsovat unelmoidessaan uusia tapoja reitittää tietoa rajoitusten ympärille "potkaisemalla" sitä monitasoisen tiedonsiirtojärjestelmän tasoille. Jos jätetään tekniset tiedot sivuun, tämä on käsittelyjärjestelmän ylimmän tason tavoite: pitää nämä itsenäiset esineet upotettujen metatietojensa kanssa liikkumassa huippunopeudella sinne, missä niiden täytyy olla, saavuttaa yhdenmukaisuustavoitteet, tyydyttää loppukäyttäjä tai jopa ilmoittaakseen ylimmän tason havainnoista tai analyyseistä.

Katso ydinteknologiaa

Sean Gallagherin artikkeli, joka ilmestyi Ars Technicassa, hajottaa GFS-mallin osittain hallittavimpiin osiin ja viittaa siihen, mitä Google-arkin alla on.

GFS alkaa redundanssilla ja vikasietoisella mallilla tietojen lukemiseen ja kirjoittamiseen. Ideana on, että sen sijaan, että kirjoitettaisiin tiettyä päivitystä yhdelle asemalle, uudet järjestelmät kirjoittavat paloina tietoja useisiin kohteisiin. Tällä tavoin, jos yksi kirjoitus epäonnistuu, muut jäävät. Tämän huomioon ottamiseksi yksi pääverkkokomponentti ylläpitää tiedonkäsittelyä muille alaisille yksiköille yhdistämällä tiedot uudelleen, kun asiakas "vaatii" sitä. Kaiken tämän tekee mahdolliseksi metatietoprotokolla, joka auttaa tunnistamaan, missä tietyt päivitykset ja lähetystulokset ovat suuremmassa järjestelmässä.

Toinen erittäin tärkeä näkökohta tässä on se, kuinka nämä monimutkaiset järjestelmät varmistavat tietojen yhdenmukaisuuden. Kuten Gallagher toteaa, GFS-muotoilu uhraa jonkin verran johdonmukaisuutta samalla kun "pakottaa atomitason" tai suojata periaatetta, kuinka data päivitetään useille tallennusyksiköille vastaamaan ajan myötä. Googlen "rento johdonmukaisuusmalli" näyttää noudattavan BASE-mallin olennaista teoriaa, joka tarjoaa enemmän joustavuutta vastineeksi pidemmälle aikataululle johdonmukaisuuden täytäntöönpanolle.

Kuinka muut suuret järjestelmät saavuttavat tämän?

"Kun riittävän suuri mittakaava saavutetaan, epäjohdonmukaisuudet tai tietojen vioittuminen muuttuvat väistämättömiksi", Michailov sanoo. "Siksi hajautettujen tiedostojärjestelmien ensisijaisena tavoitteena tulisi olla kyky suorittaa mahdollisimman monta toimintaa korruption esiintyessä, samalla kun tarjotaan tehokkaita menetelmiä korruption käsittelemiseksi samanaikaisesti." Michailov mainitsee myös tarpeen säilyttää suorituskyky huolehtimalla irtisanomisista.

"Esimerkiksi metatietojen (tietoja tiedoista) luominen jokaiselle levylle antaa levylle mahdollisuuden rakentaa uudelleen asianmukainen tietorakenne, jos sen peilikopio on vioittunut", Michailov sanoi. "Lisäksi RAID-tasoja voidaan käyttää torjumaan tallennusvirheitä joko tiedostojärjestelmän aggregaattorilla tai jaetulla taltionhallinnan tasolla."

Keskustellessaan toisesta johdonmukaisuusmallista Lebel keskittyy Hadoopin hajautettuun tiedostojärjestelmään (HDFS), jota hän kutsuu "teollisuuden tosiasialliseksi standardiksi".

Lebelin mukaan HDFS: ssä jokainen datalohko toistetaan kolme kertaa eri solmuilla ja kahdella eri telineellä. Tiedot tarkistetaan päästä päähän. Viat ilmoitetaan NameNodelle, tietojenkäsittelyohjelmalle, joka pääsee eroon vioittuneista lohkoista ja luo uusia.

Kaikki tämä tukee sellaisia ​​"puhtaita tietoja", jotka ovat niin tärkeitä yhden näiden joukkotietojärjestelmien eheydestä.

DFS: n ylläpito

Toinen hyvin erilainen katsaus GFS: ään tulee Wired-kirjailijan Steven Levyn lokakuun 2012 artikkelista. Se on paljon lyhyempi kuvaamaan Googlen kollektiivisen ylhäältä alas suuntautuvan verkonkäsittelyn ohjelmistolähestymistapaa.

"Vuosien kuluessa", kirjoittaa Levy, "Google on myös rakentanut ohjelmistojärjestelmän, jonka avulla se voi hallita lukemattomia palvelimiaan kuin ne olisivat yksi jättiläinen kokonaisuus. Sen sisäiset kehittäjät voivat toimia kuin nukketeatterit, lähettämällä tuhansia tietokoneita suorittamaan tehtävät yhtä helposti kuin yhden koneen käyttäminen. "

Tämän tekeminen edellyttää myös tonnia kyberpohjaista ja ympäristön ylläpitoa, omistautuneista testausryhmistä, jotka yrittävät "rikkoa" palvelinjärjestelmiä, huolellisesti valvottuihin lämpötiloihin data kryptin hallien yli.

Levy mainitsee myös GFS: n täydentävät tekniikat, kuten MapReduce, pilvisovellustyökalu, ja Hadoop, analytiikkamoottori, joka jakaa joitain suunnittelun periaatteita GFS: n kanssa. Näillä työkaluilla on oma vaikutus siihen, kuinka suuret tietokeskusten käsittelyjärjestelmät suunnitellaan, ja mitä todennäköisesti ilmenee tulevaisuudessa. (Lisätietoja näistä tekniikoista artikkelissa The Big Data Evolution.)

Michailov uskoo, että MapReduce pystyy tukemaan entistä suurempia tietokeskusjärjestelmiä, ja puhuu jaettujen ja yhdistettyjen tiedostojärjestelmien "yhdestä toteutuksesta", jotka voisivat "pitää kootun tiedostojärjestelmän nimisolmut jaetussa klusterissa, jossa on SSD-tiedostoja varastointia varten ."

Lebel puolestaan ​​näkee siirtymisen eräkäsittelystä (Hadoop-tuettu menetelmä) stream-prosessointiin, joka tuo nämä dataoperaatiot lähemmäksi reaaliaikaista.

"Mitä nopeammin pystymme käsittelemään tietoja ja asettamaan ne liiketoiminnan päättäjien tai asiakkaidemme saataville, sitä enemmän kilpailuetua syntyy", sanoo Lebel, joka ehdottaa myös edellä mainitun käsittelyterminologian korvaamista termillä, jotka keskittyvät loppukäyttäjä. Ajattelemalla "synkronisia" tai loppukäyttäjien toimien kanssa synkronoituja toimia ja "asynkronisia" toimintoja, jotka ovat joustavampia toteutuksen suhteen, Lebelin mukaan yritykset voivat käyttää SLA-sopimuksia ja muita resursseja määritelläkseen, kuinka tietty palvelujärjestelmä toimii .

Kaikki tämä johtuu tietyssä mielessä siitä, että kehittäjien ja insinöörien on jatkuvasti työskenneltävä nopeuttaakseen ja parantaakseen palveluita sellaisilla alustoilla, jotka ovat kasvaneet huomattavasti klassisten 1990-luvun arkkitehtonien ulkopuolelle. Tämä tarkoittaa sitä, että tarkastellaan kriittisesti tietojen koneistoa ja muutetaan pullonkauloja tavoilla, jotka tukevat paitsi kasvavaa väestöä, myös sitä räjähdysmäistä muutosta, joka tapahtuu murtosuunnan nopeudella ja jota pundit kutsuvat "seuraavaksi teolliseen vallankumoukseen". On todennäköistä, että ne, jotka rikkovat eniten maata näillä rintamilla, hallitsevat tulevaisuuden markkinoilla ja talouksissa.