sql >> Databáze >  >> NoSQL >> MongoDB

Nejlepší způsob, jak hostovat MongoDB na DigitalOcean

MongoDB je #3 open source databáze a #1 NoSQL databáze na světě. Jedná se o multiplatformní databázi orientovanou na dokumenty, která používá dokumenty podobné JSON se schématem a je široce využívána napříč spouštěcími aplikacemi až po podniky na podnikové úrovni vyvíjející moderní aplikace. I když můžete předpokládat, že velká většina nasazení cloudových databází běží na platformě AWS, Azure nebo Google Cloud Platform, zejména malé a střední podniky tíhnou k poskytovateli cloudu pro vývojáře, DigitalOcean, který je pro svůj hosting pro MongoDB®. potřeby. V tomto příspěvku vás provedeme nejlepším způsobem hostování MongoDB na DigitalOcean, včetně nejlepších typů instancí k použití, typů disků, strategie replikace a poskytovatelů spravovaných služeb.

Výhody DigitalOcean pro MongoDB

Co tedy dělá DigitalOcean přesvědčivou alternativou k jiným populárním poskytovatelům hostingu MongoDB, jako jsou AWS a Azure? Jak již bylo zmíněno výše, DigitalOcean je díky své jednoduché a snadno srozumitelné platformě velmi vstřícný pro vývojáře – nemusíte se certifikovat prostřednictvím tohoto poskytovatele cloudu, abyste mohli své nasazení s jistotou uvést do provozu. Nabízejí cloudový hosting na bázi SSD s přímou cenou a také začínající na pouhých 5 USD/měsíc, díky čemuž je pro vývojáře ideální (a cenově dostupné) bezproblémové vytváření, testování a nasazování nových aplikací v cloudu. Nejpůsobivější je, že nesnižujete výkon kvůli ceně. Provedli jsme testy výkonu pro MongoDB na DigitalOcean vs. AWS vs. Azure a zjistili jsme, že výkon DigitalOcean byl v souladu s vysokou propustností a nízkou latencí při nasazení, pokud ne lepší.

DigitalOcean Droplets

DigitalOcean se specializuje na virtuální stroje založené na SSD nazývané Droplets, které jsou rozděleny do čtyř jednoduchých kategorií. Nejzákladnější Droplet je jejich standardní instance, která využívá sdílený CPU od pouhých 5 $/měsíc. I když je to vhodné pro aplikace s nízkým provozem, malé databáze a vývojová/testovací prostředí, nedoporučujeme využívat sdílené clustery pro vaše produkční nasazení MongoDB. Nabízejí také vyhrazený CPU-Optimized Droplet, který je dostatečný pro zátěže náročné na CPU, ale nabízí nízkou paměť, což není ideální pro hostování MongoDB.

Pokud nasazujete středně velké pracovní zatížení MongoDB, doporučujeme vám jejich nejoblíbenější General Purpose Droplet, což je vyhrazená instance, která nabízí 4 GB paměti pro každý vCPU. To je obvykle více než dostatečné pro produkční nasazení a aplikace s vysokým provozem a začíná na 60 $ měsíčně za 8 GB paměti, 2 vCPU, 4 TB přenosu a 25 GB místa na disku SSD. DigitalOcean také nedávno uvedl na trh své Memory-Optimized Droplets, což jsou vyhrazené instance, které jsou navrženy pro aplikace náročné na RAM a vysoce výkonné databáze, což z něj činí atraktivní řešení pro vysoce vytížené aplikace MongoDB.

Můžete nasadit MongoDB na DigitalOcean ve 12 oblastech datových center po celém světě, včetně Spojených států (New York City a San Francisco), Kanady, Nizozemska, Singapuru a Spojeného království , Německo a Indie.

Typy disků DigitalOcean

Jedním z důvodů, proč si MongoDB vede tak dobře na DigitalOcean, jsou jejich SSD disky, které jsou ideální pro nasazení cloudových databází. Poskytují skvělou propustnost, která nabízí významné výhody pro spouštění indexu ve vaší databázi nebo opravu počítače, což vám ušetří značné množství času oproti standardnímu nasazení MongoDB na AWS. Nabízejí dokonce úžasně nízkou latenci od Amazon AWS US-East po datové centrum DigitalOcean v New Yorku, což je skvělé pro aplikace, které běží na střední úrovni na AWS, ale rádi by DigitalOcean používali pro své clustery MongoDB.

Strategie replikace MongoDB

Pokud provozujete MongoDB na DigitalOcean v produkci, je osvědčenými postupy nasazení pomocí sady replik, abyste zajistili vysokou dostupnost a redundanci dat pro vaše clustery. DigitalOcean spolu s AWS a Azure nabízí 99,99% dostupnost SLA, ale i když to zní téměř dokonale, těchto 0,01 % odpovídá 52,6 minutám výpadku za jeden rok. To je téměř jedna hodina, kdy se vaše databáze stane nedostupnou pro vaše zákazníky, návštěvníky a zaměstnance, což může mít významný dopad na udržení vašich zákazníků a pověst značky.

Sady replik MongoDB

Naštěstí můžete výrazně zmírnit riziko, že vaše nasazení skončí se ztrátou datového centra, nastavením geograficky distribuované sady 3 uzlových replik pro MongoDB na DigitalOcean. Existuje několik možností pro nastavení této konfigurace, první je nastavení primárního-sekundárního arbitra, které poskytuje 2 uzly nesoucí data a arbitra, který působí jako hlasující člen, který určuje, která replika by měla převzít kontrolu v případě, že některý z nich nebude dostupný. . Jedná se o nejdostupnější možnost, protože arbitr nedrží žádná data a jeho nasazení stojí méně, ale také nabízí o 1 uzel méně, který může převzít řízení v případě selhání. Optimální replikační strategií by bylo nastavení Primární-Sekundární-Sekundární, které využívá 3 uzly nesoucí data a umožňuje přepnutí při selhání do 2 samostatných datových center v případě, že dojde k výpadku primární oblasti.

Nejlepší způsob, jak hostit #MongoDB na DigitalOceanClick To Tweet

Sdílení MongoDB

Sharding MongoDB je pokročilá forma nasazení, která vám umožňuje horizontálně škálovat data na více počítačích. Toto je velmi složitá konfigurace pro nastavení a správu, protože každý fragment obsahuje několik sad replik a lze je distribuovat v různých umístěních datových center pro vysokou dostupnost. Sdílení je ideální pro velmi velké datové sady nebo nasazení s vysokou propustností, které vyžadují větší kapacitu, kterou můžete získat s jediným serverem. Tam, kde se typické nasazení škáluje vertikálně přidáním větší kapacity serveru v případě potřeby, umožňuje sharding horizontální škálování rozdělením dat a zatížení mezi více počítačů. Jakmile budete mít nastavení sdíleného prostředí, můžete podle potřeby přidat další fragmenty pro podporu růstu vaší aplikace.

V ScaleGrid nabízíme Standalone, 2 Repliky + Arbiter, 3 Repliky a pokročilé konfigurace Sharding pro hostování MongoDB na DigitalOcean v rámci našeho Dedicated Hosting plánu počínaje velikostí Micro plánu na 35 $/ měsíc až do plánu X4XLarge se 16 jádry, 48 GB RAM a 950 GB úložiště. Můžete si také přizpůsobit sadu replik MongoDB neomezeným počtem replik pro potřeby vaší aplikace.

Spravovaný MongoDB hosting na DigitalOcean

Nyní se dostáváme k hlavní otázce – měli byste sami spravovat svůj MongoDB na nasazeních DigitalOcean nebo využít plně spravovanou platformu Database-as-a-Service (DBaaS)? Odpověď se scvrkává na váš čas, znalosti a trvalou dostupnost, abyste zvládli jakékoli kritické problémy, které přijdou s vaším nasazením.

Úlohy správy a údržby

Platformy MongoDB DBaaS vám umožňují automatizovat všechny vaše časově náročné operace správy a údržby, jako jsou upgrady verzí, škálování, bezplatné zálohování, obnovy, zajišťování, zrušení poskytování, replikace, komprimace, indexování správa, záplatování OS a rotace protokolů. V závislosti na velikosti vašeho nasazení vám to může trvat 1–2 dny za měsíc, až po celou dobu nepřetržitého provozu armády expertů MongoDB. Obrovskou výhodou využití platformy DBaaS je, že eliminujete riziko lidské chyby, protože operace správy jsou za vás automatizovány. Také udržuje vaše clustery MongoDB na DigitalOcean plně zabezpečené a aktuální, takže svá nasazení neotevíráte potenciálním chybám nebo hrozbám, které se mohou projevit u zanedbané databáze.

Monitorování výkonu

Monitorování je také obrovskou součástí správy nasazení MongoDB. S platformou DBaaS můžete automatizovat upozornění na všechny vaše klíčové metriky MongoDB, takže budete informováni v okamžiku, kdy je splněna nežádoucí prahová hodnota, a získáte přístup k pokročilé monitorovací konzoli pro analýzu všech vašich metrik MongoDB a OS napříč vašimi primárními a sekundárními instancemi. a v jakémkoliv časovém období. Navíc s DBaaS, jako je ScaleGrid, můžete využít Slow Query Analyzer, který vám umožní vizualizovat pomalu běžící dotazy a optimalizovat je dříve, než začnou ovlivňovat výkon vašeho nasazení.

Podpora pro odstraňování problémů

V neposlední řadě je to dostupnost podpory. Pokud vás ve 4:00 vzbudil zběsilý hovor od vašeho šéfa, který se divil, proč vaše aplikace nefunguje a jak rychle ji můžete obnovit, víte přesně, o čem mluvím. Každá minuta výpadku vám může způsobit tisíce dolarů podnikání, a co je ještě horší, narušení bezpečnosti by mohlo vaši firmu úplně zavřít a způsobit trvalou skvrnu na vaší pověsti. Využitím platformy DBaaS můžete překonat více než 90 % těchto kritických problémů a mít k dispozici tým odborníků MongoDB po boku 24 hodin denně, 7 dní v týdnu pro nevyhnutelných 10 %, kteří vám pomohou rychle identifikovat a vyřešit problémy, abyste dosáhli nasazení. zpět do zdravého, běžícího stavu.

V ScaleGrid jsme v roce 2013 identifikovali DigitalOcean jako nadějnou rockovou hvězdu pro hostování MongoDB a cloud computing obecně a byli první DBaaS platforma pro spuštění podpory pro MongoDB DigitalOcean. I dnes jsme jedinou plně spravovanou platformou DBaaS, která vám umožňuje automatizovat váš hosting pro MongoDB na DigitalOcean a využívat podnikové nástroje pro správu databází k optimalizaci výkonu nasazení, zabezpečení a dostupnosti v cloudu. Pokud máte zájem vyzkoušet některé pokročilé funkce DBaaS pro MongoDB na DigitalOcean, můžete zahájit bezplatnou 30denní zkušební verzi bez nutnosti kreditní karty k prozkoumání automatizačních nástrojů a podívat se na stránku Porovnat poskytovatele MongoDB podívejte se, jak si vedeme proti MongoDB Atlas, mLab, ObjectRocket a Compose for MongoDB.


  1. MongoDB vyberte, kde v poli _id?

  2. MongoDB:agregační rámec:$match mezi poli

  3. Upozornění na vypršení platnosti klíče v redis pythonu

  4. unie ve stejné kolekci v mongodb