Ohjelmointi

Miksi MongoDB on "pohjimmiltaan parempi" kehittäjille

Se vaatii tietyn määrän chutzpahia - ok, sen vuoret - uudenlaisen tietokannan keksimiseksi ja oletettavaksi, että se vie maailman. Tai ei ehkä oleta tarkalleen, mutta kuten MongoDB: n perustaja Eliot Horowitz sanoi haastattelussa: "Jos joku aikoi tehdä sen, meillä oli melkein parhaat mahdollisuudet kenellekään siellä."

Ei Oracle, jolla on vuosikymmenien ajan vallitseva asema relaatiotietokannoissa (RDBMS). Ei IBM, tietokantaliiketoiminta vähenee, mutta joukko lahjakkaita insinöörejä. Ei Microsoft, joka oli hengittänyt uutta elämää RDBMS-maailmaan SQL Serverin avulla. Edes avoimen lähdekoodin avulla MySQL ja yhä suositumpi PostgreSQL eivät käynnisty.

Ei, Horowitz ja Dwight Merriman, kaksi newyorkilaista, halusivat laittaa uuden pyörän palvelualustalle (PaaS), mutta jotenkin sen sijaan rakensivat tietokannan. "Tietokantamaailma on muuttunut ikuisesti sen takia, mitä teimme", sanoi Horowitz, joka saattaa kuulostaa ylimieliseltä paitsi, että se on totta. Miksi totta on kuitenkin syytä sukeltaa syvälle ymmärtämään.

Horowitz jäi eläkkeelle äskettäin MongoDB: stä, kun hän oli työskennellyt yrityksessä ja tuotteessa 13 vuoden ajan tarjoten sopivan ajan arvioida tekemänsä työn.

"Työnsimme teollisuutta"

Palataan ensin hetkeksi. On helppo tarkastella asioita, kuten DB-Engines-tietokantojen suosiosijoituksia, ja tehdä väärä johtopäätös. "MongoDB on viidenneksi suosituin tietokanta, ja edelleen kolmasosa yhtä laajalti käytetty kuin Oracle ja MySQL!" Kun otetaan huomioon, kuinka haluttomia yritykset ovat vaihtamaan taistelutestattuja tietokantoja, jopa tällainen käyttöönotto on vaikuttavaa. Tietokannat ovat "tarttuvin" tuote organisaatiossa, ja niiden todennäköisyys ei muutu. Joten MongoDB voi siirtyä vuosikymmenien ajan laajalti käyttöön otettujen tietokantojen (DB2, Ingres jne.) Ohitse ja jatkaa suosionsa kasvua suhteessa RDBMS-vakaviin Oracle-kaltaisiin…? Se on iso juttu.

Vielä voimakkaampi indikaattori MongoDB: n vaikutuksesta on kuitenkin se, kuinka paljon nämä vakiintuneet operaattorit ovat apinoineet alkupään.

"Kaikki muut perinteiset tuotteet, Postgres, MySQL, jopa Oracle ja SQL Server, ovat ottaneet paljon MongoDB-ideoita ja yrittävät tuhota ne omalla tavallaan", Horowitz sanoi. "Jopa kehittäjät, jotka sanovat:" En koskaan käyttäisi MongoDB: tä! Aion käyttää vain Postgresiä, koska siinä on JSONB ja kaikki nämä muut asiat. ”” Kuten Horowitz korosti, JSONB: n kaltaiset asiat ovat olemassa juuri siksi, että MongoDB työnsi teollisuutta kohti niiden käyttöönottoa. Niille, jotka "vihaavat MongoDB: tä vielä JSONB: sta", Horowitz sanoo yksinkertaisesti: "Olet tervetullut".

Mutta jälleen kerran hubris. Tai chutzpah. Tai mikä tahansa se sai Horowitzin ja Merrimanin eteenpäin kaikesta huolimatta -kaikki - alalla, joka on perustettu varmistamaan niiden epäonnistuminen. Mistä se tuli?

"Tietokannat ovat imeytyneitä ja joku tarvitsee korjata ne"

Horowitz ja Merriman olivat työskennelleet yhdessä muutamassa yrityksessä, mukaan lukien DoubleClick ja Shopwiki, ja kuten Horowitz selitti, tietokanta pysyi tiellä. Tai ollaksemme tylsempi: "Tietokantojen käyttö on imeytynyt, ja jonkun oli korjattava se, ja jos kukaan muu ei aikonut tehdä sitä, se voi myös olla minä ja Dwight. Tiesimme, että meillä oli hyvä laukaus. Se ei ollut kaukana slam dunkista, mutta ... jos joku aikoi tehdä sen, meillä oli melkein parhaat mahdollisuudet kenellekään siellä. "

Ilmeinen asia, joka tässä vaiheessa on tehtävä, olisi rakentaa parempi RDBMS; täyttämään MySQL: n ja Postgresin jättämät aukot, joiden molempien suosio oli kasvanut. Mutta tämän Horowitz teki ei haluaa tehdä. Hän halusi rakentaa täysin toisenlaisen lähestymistavan tietoihin, joka vastasi kehittäjien ohjelmointia, ei erään ERP-järjestelmän tarpeeseen siistien ja siistien rivien ja sarakkeiden suhteen.

Rivi ja sarake -lähestymistapa tietomalleihin ei yksinkertaisesti muistuta sovelluskoodissa esitettyjä tietoja, kuten Horowitz selitti. Nykyaikaisilla ohjelmointikielillä asia, jonka haluat tallentaa tietokantaan (esim. Tilaus, asiakas jne.), Esitetään kokonaisena objektina, ja kaikki siihen liittyvät attribuutit sisältyvät yhteen tietorakenteeseen. Tämä kehittäjien ja tietokannan ylläpitäjien välinen ristiriita vaatii kyseisen rikkaan sovellusrakenteen käännöksen, jotta se sopisi RDBMS: n jäykkiin sääntöihin. Tällä tavoin jopa yksinkertaisimmat sovellukset saavat Frankenstein-ominaisuudet RDBMS: ssä, mikä vaatii kymmeniä (tai jopa tuhansia) taulukoita kehittäjän kerran yksinkertaisen datamallinnuksen kaappaamiseksi.

MongoDB, sanoi Horowitz, tarjosi kehittäjille pelastuslinjan.

"Jos otat ihmisiä, jotka eivät ole koskaan käyttäneet tietokantaa aiemmin, opetat heille MongoDB: n ja opetat heille sitten relaatiotietokannan, MongoDB on heille niin paljon helpompaa ja intuitiivisempaa." Kyllä, jos työskentelet kirjanpito- tai kirjanpitojärjestelmän kanssa, RDBMS on suunniteltu tällaisiin sovelluksiin, ja ne toimivat hyvin. "Mutta kaikessa muussa tapauksessa relaatiomalli ei toimi", Horowitz julisti.

Jos käytät ohjelmointikieliä ja tietokantaa, outoa on se, että MongoDB: n kanssa [MongoDB] -sovellusliittymä tuntuu jollain tavalla paljon enemmän kuin ohjelmointikielesi kuin tietokanta. Siksi on melko yksinkertaista noutaa. Monien keskeisten käsitteiden, kuten indeksoinnin ja kyselyjen, osalta kyllä, se on eri kyselykieli ja indeksointi on hieman erilainen, mutta pohjimmiltaan indeksointi on tavallaan sama. MongoDB: n perusteet on erittäin helppo noutaa.

Viimeisten 13 vuoden aikana suuri osa hänen yrityksensä tehtävästä on Horowitzin mukaan kouluttanut uudelleen niitä, jotka varttuivat RDBMS: ssä ja joiden on opittava uusi tapa. Mutta niille, jotka ovat tietokannoissa uusia, "MongoDB on vain paljon intuitiivisempi kuin muut tietokannat. Se sopii paljon paremmin ihmisten ajattelutapaan. " Sellaisena Horowitz jatkoi: "Jos aloitat tyhjästä, sinun pitäisi melkein aina käyttää MongoDB: tä, puolueellisesta mielestäni."

"Pilvi oli aina visio"

Kun Horowitz kysyi, voisiko hän täsmällisesti tietää, milloin MongoDB-vedon kannatti, se mietti hetken ja sanoi sitten: "Huhtikuu 2010." Silloin MongoDB isännöi tapahtumaa San Franciscossa, joka myytiin alle 48 tunnissa. "Ihmiset rakastivat keskeisiä käsitteitä, ja kaikesta tuli paljon helpompaa." Siihen asti Horowitz teki selväksi, oli hetkiä, jolloin hän oli huolissaan "Toimiiko tämä asia koskaan?" Mutta huhtikuussa 2010 hän tiesi, että vastaus oli jyrkkä "kyllä".

Mikä ei tarkoita sitä, että hän osui vakionopeudensäätimeen. "Silloin tiesimme, että kesti 10 vuotta haluamiesi ominaisuuksien lisääminen ja joita yritykset tarvitsevat."

Yksi näistä ominaisuuksista oli pilvi.

Ottaen huomioon MongoDB: n mahdollisen PaaS-aloituksen, ei ehkä ole yllättävää, että Horowitz ehdottaa, että pilvi oli etenemissuunnitelmassa ensimmäisestä päivästä lähtien. "Melko pian sen jälkeen kun aloitimme MongoDB: n rakentamisen, aloitimme myös MongoDB-seurantapalvelun rakentamisen, joka tarjosi perustan Atlasille", MongoDB: n tietokanta-palveluna, jonka osuus yrityksen tuloista on nyt 42 prosenttia. "Tavoitteenamme oli aina saada täysi tietokantapalvelu."

Suuri osa tästä liittyy yrityksen visioon helpottaa kehittäjien elämää. "Kehittäjinä tiesimme, että kukaan ei halua itse hallita tietokantaa, jos hän voisi saada jonkun tekemään sen heidän puolestaan ​​yhtä turvalliseksi ja luotettavaksi." Tämän vision täydellistä toteutumista olisi kuitenkin odotettava, koska edes hyvin rahoitettu startup, kuten MongoDB, ei kyennyt tekemään kaikkea kerralla. "Meidän oli investoitava kaikki aikamme ja energiamme tietokannan saamiseen oikein, muuten sitä ei tapahtuisi. Siksi aloimme pelata valvonnalla palveluna vain varmistaaksemme, että ymmärrämme kuinka pilvipalvelua voidaan käyttää mittakaavassa. " Lisäksi yritys huokaisi reunojen ympärillä asioita, kuten luottokorttien käsittelyä ja tukijärjestelmiä, jotta "saisi käytäntöä niiden tekemisessä niin, että kun olimme valmiita käynnistämään Atlasin todella, se ei ollut alusta tyhjästä".

Viime kädessä Horowitz uskoo, että "MongoDB: tä Atlasia käyttävien ihmisten prosenttiosuus on lähes 100 prosenttia", vaikka tuskin koskaan tulee olemaan 100 prosenttia. Kun valtaosa sovelluksista siirtyy pilveen, "Ei ole mitään syytä olla käyttämättä Atlasia", Horowitz väittää.

"Et voi mitenkään väittää, ettemme onnistuisi"

Kysyttäessä, mistä seuraava MongoDB voisi tulla, Horowitz ei yksilöinyt kilpailijaa niin paljon ohjaavana periaatteena, sama joka sai hänet ja Merriman rakentamaan MongoDB: n: "Sinun on tehtävä jotain pohjimmiltaan paremmin kuin jotain muuta. Jos keksit jotain, joka teki kaiken, mitä MongoDB tai Postgres, mutta joka oli 10 kertaa halvempi tai 10 kertaa nopeampi, se olisi aika pakottavaa. " Se sanoi, hän lisäsi: "En voi kuvitella, kuinka voit voittaa MongoDB: n tietomallissa juuri nyt."

Mutta mikä voi olla mielenkiintoista, Horowitz esitti, olisivat pohjimmiltaan erilaisia ​​tietokantaarkkitehtuureja, jotka voivat hyödyntää julkista pilvi-infrastruktuuria ja tehdä asioista paljon halvempia. "Monet ihmiset työskentelevät tämän suhteen, mutta kukaan ei ole tehnyt sitä. Mikään siellä ei ole pohjimmiltaan erilainen. "

Mikä tuo meidät takaisin alkuun. "Jos ajattelet sitä, mitä aloimme tehdä, mikä oli tehdä tietokannoista pohjimmiltaan helpompaa ja paremmin kehittäjille, et voi mitenkään väittää, ettemme onnistuisi", Horowitz julisti. "MongoDB on huomattavasti parempi kuin mikään muu, mikä oli olemassa, kun aloitimme." Jotkut saattavat olla eri mieltä, mutta harvat eri mieltä hänen seuraavasta lausunnostaan: ”Tietokantamaailma on ikuisesti muuttunut tekemämme työn takia. Se on aika mahtavaa. "

$config[zx-auto] not found$config[zx-overlay] not found