sql >> Databasteknik >  >> NoSQL >> MongoDB

Fem tips för bättre MongoDB-värd på Azure

Azure cloud computing-plattformen har genomgått en svindlande mängd förbättringar under de senaste åren, som knappast liknar den ursprungliga plattformen som Microsoft började med redan 2010.  ScaleGrid var en av de tidigaste MongoDB-värdplattformarna som stöder Azure och vi har fortsatt att utveckla vårt erbjudande allt eftersom Azure utvecklas.

Oavsett om du har använt Azure ett tag eller precis börjat använda Azure för MongoDB-värd, här är några arkitekturdesignmönster som du bör överväga för att säkerställa att du använder Azure-plattform för den bästa MongoDB-värdupplevelsen.

    1. Azure Resource Manager (ARM)-plattform

      Utnyttja kraften i den nya Azure Resource Manager (ARM)-plattformen. Om du fortfarande använder Azure Classic-plattformen är det dags att flytta nu! Det finns flera fördelar med att flytta till den nya ARM-plattformen inkluderar utnyttjande av hanterade diskar, virtuella nätverk och reserverade instanser. Alla fördelar beskrivs i blogginlägget Fördelar med att migrera IaaS till Azure Resource Manager.

    2. Azure Virtual Networks &Network Security Groups

      Databaser distribueras bäst i privata undernät som inte är exponerade för internet. Azure låter dig skapa ditt eget virtuella nätverk (VNET) och distribuera dina databasservrar till specifika undernät. Du kan också hantera åtkomstkontroll genom att skapa regler för Network Security Group (NSG) och tilldela en publik IP till din databasserver (endast) om du behöver göra den tillgänglig över internet. Som en del av vår Bring Your Own Cloud-modell tillåter vi våra kunder att distribuera sina MongoDB-kluster i sitt eget VNET för att utnyttja de avancerade VNET- och NSG-säkerhetskontrollerna.

    3. Azure Availability Set &Availability Zones

      Tillgänglighetsuppsättningar är viktiga för att fördela noderna i ditt kluster över olika hårdvara. På så sätt påverkar inte ett enda hårdvarufel alla dina noder. Vår rekommendation är att skapa en tillgänglighetsuppsättning per replik. Azure har också nyligen introducerat tillgänglighetszoner för att skydda dig från avbrott på datacenternivå. Du kan distribuera dina repliker över tillgänglighetszoner för 99,99 % drifttid.

      5 tips för bättre #MongoDB-värd på AzureKlicka för att tweeta

    4. Azure-instanstyper

      Att välja rätt Azure-instanstyp för din MongoDB-laddning är mycket viktigt – inte alla instanstyper passar bra för MongoDB. Generellt sett bör du titta på instanstyperna "minnesoptimerade" eller instanstyperna "lagringsoptimerade".

      Den senaste Ev3-serien med minnesoptimerade instanser är vanligtvis en bra utgångspunkt för de flesta MongoDB-arbetsbelastningar. Om du behöver mer CPU än vad som tillhandahålls av E2 v3, kan du överväga Dv3-instanstyperna 'General purpose'.

      Förekomsterna av 'Burst'-läge – 'B1S, B1MS, B2MS' passar vanligtvis bra för små arbetsbelastningar, utvecklings-/testmiljöer etc. När din data blir större, "Storage optimized" L4-serien med Azure lokala SSD-diskar passar utmärkt – mer information i avsnittet Azure Disk nedan. I allmänhet beror rätt instanstyp på din arbetsbelastning, så det är viktigt att upprepa och ladda de olika instanstyperna med din arbetsbelastning.

    5. Azure-diskar

      Azure erbjuder en mängd olika disktyper för att hantera olika arbetsbelastningar:

      • Äldre diskar (Standard &Premium)

        I den här diskussionens syfte kommer vi inte att överväga Legacy Azure-diskarna. Om du använder äldre diskar bör du överväga att flytta till hanterade diskar.

      • Hanterade diskar (Standard &Premium)

        Azure Managed Disks förenklar hanteringen av dina beräkningsdiskar på Azure avsevärt. De erbjuder flera fördelar jämfört med äldre diskar:

        • Du behöver inte oroa dig för lagringskonton.
        • Du behöver inte oroa dig för lagringskontots storlek och prestandagränser.
        • Enkla ögonblicksbilder och skapa nya diskar från ögonblicksbilder.
        • Konvertera enkelt från standard till premium och vice versa.
        • Utnyttja utökade tillgänglighetsuppsättningar för att tillämpa på dina diskar.

        Du kan hitta fullständig information om skillnaderna mellan hanterade diskar och äldre diskar i Azure-dokumentationen.

        Premium Managed Disks erbjuder också olika IOPS-garantier beroende på storleken på disken. För produktionsmongoDB-kluster rekommenderar vi starkt Premium Managed Disks, medan standard Managed Disks passar bra för dev/testmiljöer.
      • Lokala SSD-diskar

        Azure ‘Storage optimized’ instanstyper ger stora lokala SSD-diskar som erbjuder den bästa genomströmningen i Azure. Detta är en utmärkt passform för stora kluster som behöver mycket diskinmatning/-utgång (I/O). Våra Azure High Performance-kluster för MongoDB använder L-seriens instanser. Lokala SSD-diskar är dock "efemära" - när du stoppar instansen försvinner data. Så det är viktigt att vara försiktig när du använder lokala diskar. Vår rekommendation är att använda en replik som finns på Managed Premium Disks för att garantera säkerheten för data.

Jag vet att vi lovade 5 tips, men här är ett extra för vägen:

  1. Utnyttja reserverade Azure-instanser

    Azure stöder nu reserverade instanser (RI) a.k.a AWS. Du kan köpa Azure Reserved Instances under ett eller tre års perioder på avancerad nivå och avsevärt minska dina MongoDB-värdkostnader upp till 82 %.


  1. mongo 3 dubbletter på unikt index - dropDups

  2. MongoDB Update Deep Array

  3. Mongoose.js instance.save() callback aktiveras inte

  4. MongoDB-verktyg från gemenskapen som kompletterar ClusterControl