Programování

Proč je MongoDB pro vývojáře „zásadně lepší“

Vymyslet nový druh databáze a předpokládat, že převezme kontrolu nad světem, vyžaduje určité množství chutzpah - OK, hory. Nebo možná přesně nepředpokládejme, ale jak to v rozhovoru uvedl spoluzakladatel MongoDB Eliot Horowitz: „Pokud to někdo udělal, měli jsme téměř tu největší šanci.“

Ne Oracle, s jeho desetiletími dominance v relačních databázích (RDBMS). Ne IBM, s ubývající databází, ale horda talentovaných inženýrů. Ne Microsoft, který vdechl světu RDBMS nový život se serverem SQL Server. Ani open source nestartuje MySQL a stále populárnější PostgreSQL.

Ne, byli to Horowitz a Dwight Merriman, dva Newyorčané, kteří chtěli dát nový směr platformě jako službě (PaaS), ale místo toho místo toho vytvořili databázi. "Svět databáze je navždy změněn kvůli tomu, co jsme udělali," řekl Horowitz, což může znít arogantně, až na to, že je to pravda. Proč je pravda, že stojí za to se ponořit hluboko k pochopení.

Horowitz nedávno odešel z MongoDB po 13 letech se společností a produktem, což mu poskytlo vhodný čas na vyhodnocení jeho práce.

„Posunuli jsme průmysl“

Pojďme si ale nejprve chvíli zálohovat. Je snadné se podívat na věci jako žebříčky popularity databáze DB-Engines a dojít ke špatnému závěru. "MongoDB je pátá nejoblíbenější databáze a stále je třetina široce používaná jako Oracle a MySQL!" Vzhledem k tomu, jak se zdráhají podniky přepnout na databáze prověřené bitvou, je dokonce i tato úroveň přijetí působivá. Databáze jsou „nejlepším“ produktem v organizaci a je nejméně pravděpodobné, že se změní. Takže pro MongoDB se pohybovat kolem databází, které byly široce přijímány (DB2, Ingres atd.) Po celá desetiletí, a nadále růst v popularitě ve srovnání s oddanými RDBMS, jako je Oracle…? To je velký problém.

Ještě silnějším ukazatelem vlivu MongoDB je však to, jak moc se tito zavedení na počátku postavili.

"Každý další tradiční produkt, Postgres, MySQL, dokonce i Oracle a SQL Server, přijaly spoustu nápadů MongoDB a snaží se je bastardizovat svým vlastním způsobem," řekl Horowitz. "Dokonce i vývojáři, kteří říkají:" MongoDB bych nikdy nepoužil! Prostě použiji Postgres, protože má JSONB a všechny tyto další věci. ““ Jak zdůraznil Horowitz, takové věci jako JSONB existují právě proto, že MongoDB tlačil průmysl k jejich přijetí. Pro ty, kteří „nenávidí MongoDB, ale přesto se nadávají JSONB“, Horowitz jednoduše říká: „Jste vítáni.“

Ale opět arogance. Nebo chutzpah. Nebo ať už to bylo cokoli, co přimělo Horowitze a Merrimana, aby se navzdory všemu posunuli vpřed -všechno - v průmyslovém odvětví, aby bylo zajištěno jejich selhání. Odkud to pochází?

„Databáze naštvaná a někdo to potřeboval opravit“

Horowitz a Merriman spolupracovali v několika společnostech, včetně společností DoubleClick a Shopwiki, a jak vysvětlil Horowitz, databáze stále bránila. Nebo, abych byl otevřenější, „Používání databází naštvalo a někdo to potřeboval opravit, a pokud to nikdo jiný neudělal, mohl bych to být já a Dwight. Věděli jsme, že máme dobrý zásah. Nebylo to daleko od slam dunk, ale ... pokud to někdo udělal, měli jsme téměř tu největší šanci pro kohokoli. “

V tomto okamžiku by bylo zřejmé, že je třeba vytvořit lepší RDBMS; k vyplnění mezer, které zanechaly MySQL a Postgres, které si obě získaly popularitu. Ale to udělal Horowitz ne chci dělat. Chtěl vybudovat úplně jiný přístup k datům, který by mapoval to, jak vývojáři programovali, ne to, že nějaký systém ERP potřebuje čisté a uklizené řádky a sloupce.

Přístup řádků a sloupců k datovým schématům jednoduše nepodobá datům, jak jsou znázorněna v kódu aplikace, jak vysvětlil Horowitz. V moderních programovacích jazycích je věc, kterou chcete uložit do databáze (např. Objednávka, zákazník atd.), Reprezentována jako kompletní objekt se všemi souvisejícími atributy obsaženými v jediné datové struktuře. Tento nesoulad mezi vývojáři a správci databází vyžaduje překlad této bohaté aplikační struktury, aby odpovídala přísným pravidlům RDBMS. Tímto způsobem i ty nejjednodušší aplikace získávají v RDBMS kvality Frankenstein, které vyžadují desítky (nebo dokonce tisíce) tabulek k zachycení kdysi jednoduchého datového modelování vývojáře.

MongoDB, řekl Horowitz, nabídl vývojářům záchranné lano.

"Pokud vezmete lidi, kteří nikdy předtím nepoužívali databázi, a naučíte je MongoDB a poté je naučíte relační databázi, MongoDB je pro ně mnohem jednodušší a intuitivnější." Ano, pokud pracujete s účetním nebo účetním systémem, RDBMS byl navržen pro takové aplikace a fungují dobře. "Ale na všechno ostatní relační model nefunguje," prohlásil Horowitz.

Pokud používáte programovací jazyk a databázi, je divné, že u MongoDB se rozhraní [MongoDB] API v některých ohledech mnohem více podobá vašemu programovacímu jazyku než databázi. Proto je docela jednoduché to vyzvednout. U mnoha základních konceptů, jako je indexování a dotazy, ano, je to jiný dotazovací jazyk a indexování se mírně liší, ale v zásadě je indexování stejné. Základy MongoDB jsou velmi snadné.

Horowitz řekl, že za posledních 13 let hodně z toho, co jeho společnost musela udělat, převychovat ty, kteří vyrostli na RDBMS a potřebují se učit novým způsobem. Ale pro ty, kdo začínají s databázemi, „MongoDB je mnohem intuitivnější než jiné databáze. Hodí se mnohem lépe do toho, jak si lidé myslí. “ Horowitz jako takový pokračoval: „Pokud začínáte od nuly, měli byste podle mého zaujatého názoru téměř vždy používat MongoDB.“

„Cloud byl vždy vizí“

Na otázku, zda by mohl určit, kdy věděl, že sázka na MongoDB se vyplatí, na chvíli Horowitz o tom přemýšlel a pak řekl: „Duben 2010.“ Tehdy MongoDB uspořádal akci v San Francisku, která se vyprodala za méně než 48 hodin. "Lidé milovali základní koncepty a všechno se stalo mnohem jednodušším." Až do té chvíle Horowitz jasně řekl, že byly chvíle, kdy se obával: „Bude tato věc někdy fungovat?“ Ale v dubnu 2010 věděl, že odpověď byla hlasitá „Ano“.

Což neznamená, že narazil na tempomat. "I tehdy jsme věděli, že přidání funkcí, které jsme chtěli a které budou podniky potřebovat, bude trvat 10 let."

Jednou z těchto funkcí byl cloud.

Vzhledem k tomu, že MongoDB začíná jako potenciální PaaS, není divu, že Horowitz naznačuje, že mrak byl v plánu od prvního dne. „Docela krátce poté, co jsme začali budovat MongoDB, jsme také začali budovat monitorovací službu MongoDB, která poskytla podporu společnosti Atlas,“ databáze jako služba MongoDB, která nyní představuje 42 procent příjmů společnosti. "Naším cílem bylo vždy mít kompletní databázovou službu."

Velká část z toho souvisí s vizí společnosti usnadnit vývojářům život. "Jako vývojáři jsme věděli, že nikdo by nechtěl spravovat databázi sám, kdyby mohl někoho přimět, aby to udělal za ně, stejně bezpečného a spolehlivého." Plná realizace této vize by však musela počkat, protože ani dobře financovaný startup jako MongoDB nemohl udělat všechno najednou. "Museli jsme investovat veškerý náš čas a energii do správné databáze, jinak by se to nestalo." Proto jsme začali hrát s monitorováním jako službou, abychom se ujistili, že rozumíme tomu, jak provozovat cloudovou službu ve velkém. “ Kromě toho si společnost pohrávala s hranicemi s věcmi, jako je manipulace s kreditními kartami a podpůrné systémy, „aby si je vyzkoušela dělat, aby když jsme byli připraveni skutečně spustit Atlas, nezačalo to od nuly.“

Horowitz nakonec věří, že „procento lidí provozujících MongoDB pomocí Atlasu bude téměř 100 procent“, i když je nepravděpodobné, že by někdy bylo 100 procent. Vzhledem k tomu, že „velká většina“ aplikací přechází do cloudu, „není důvod nepoužívat Atlas,“ tvrdí Horowitz.

"Neexistuje způsob, jak byste mohli tvrdit, že jsme neuspěli."

Na otázku, odkud může pocházet další MongoDB, Horowitz neidentifikoval konkurenta natolik jako vůdčí princip, tentýž, který ho a Merrimana přiměl k vybudování MongoDB: „Musíte udělat něco zásadně lepšího než něco jiného. Pokud byste přišli s něčím, co dokázalo všechno, co MongoDB nebo Postgres, ale bylo to desetkrát levnější nebo desetkrát rychlejší, bylo by to docela přesvědčivé. “ To znamená, že dodal: „Neumím si představit, jak můžete právě teď porazit MongoDB v datovém modelu.“

Ale co by mohlo být zajímavé, předpokládal Horowitz, byly by to zásadně odlišné databázové architektury, které mohou využívat infrastrukturu veřejného cloudu k tomu, aby věci byly mnohem levnější. "Spousta lidí na tom pracuje, ale nikdo to opravdu neudělal." Není tam nic, co by bylo navrženo zásadně odlišně. “

Což nás přivádí zpět tam, kde jsme začali. "Pokud přemýšlíte o tom, co jsme si dali za cíl, kterým bylo zásadní zjednodušení databází a zásadní zlepšení pro vývojáře, neexistuje způsob, jak byste mohli tvrdit, že jsme neuspěli," prohlásil Horowitz. "MongoDB je mnohem lepší než cokoli jiného, ​​co existovalo, když jsme začali." Někteří možná nesouhlasí, ale málokdo by nesouhlasil s jeho dalším prohlášením: „Svět databáze se navždy změnil kvůli tomu, co jsme udělali. To je úžasné. “

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