sql >> Database >  >> NoSQL >> MongoDB

Vijf tips voor betere MongoDB-hosting op Azure

Het Azure-cloudcomputingplatform heeft de afgelopen jaren een duizelingwekkende reeks verbeteringen ondergaan, die nauwelijks lijken op het oorspronkelijke platform waarmee Microsoft in 2010 begon.  ScaleGrid was een van de vroegste MongoDB-hostingplatforms die Azure ondersteunen en we zijn ons aanbod blijven ontwikkelen terwijl Azure evolueert.

Of u nu Azure al een tijdje gebruikt of net begint met het gebruik van Azure voor MongoDB-hosting, hier zijn enkele architectuurontwerppatronen waarmee u rekening moet houden om ervoor te zorgen dat u de Azure-platform voor de beste MongoDB-hostingervaring.

    1. Azure Resource Manager (ARM)-platform

      Maak gebruik van de kracht van het nieuwe Azure Resource Manager (ARM)-platform. Als u zich nog steeds op het Azure Classic-platform bevindt, is het nu tijd om te verhuizen! De overstap naar het nieuwe ARM-platform heeft verschillende voordelen, zoals het gebruik van beheerde schijven, virtuele netwerken en gereserveerde instanties. Alle voordelen worden gedetailleerd beschreven in het blogbericht Voordelen van het migreren van IaaS naar Azure Resource Manager.

    2. Azure virtuele netwerken en netwerkbeveiligingsgroepen

      Databases kunnen het beste worden geïmplementeerd in privésubnetten die niet zijn blootgesteld aan internet. Met Azure kunt u uw eigen virtuele netwerk (VNET) maken en uw databaseservers implementeren in specifieke subnetten. U kunt ook toegangscontrole regelen door Network Security Group (NSG)-regels te maken en een openbaar IP-adres toe te wijzen aan uw databaseserver (alleen) als u deze via internet toegankelijk moet maken. Als onderdeel van ons Bring Your Own Cloud-model, bieden we onze klanten de mogelijkheid om hun MongoDB-clusters in hun eigen VNET te implementeren om de geavanceerde VNET- en NSG-beveiligingscontroles te benutten.

    3. Azure-beschikbaarheidsset en beschikbaarheidszones

      Beschikbaarheidssets zijn essentieel om de nodes van uw cluster over verschillende hardware te verdelen. Op deze manier heeft een enkele hardwarestoring geen invloed op al uw nodes. Onze aanbeveling is om een ​​beschikbaarheidsset per replica te maken. Azure heeft onlangs ook Beschikbaarheidszones geïntroduceerd om u te beschermen tegen uitval op datacenterniveau. U kunt uw replica's over beschikbaarheidszones distribueren voor 99,99% uptime.

      5 tips voor betere #MongoDB-hosting op AzureClick To Tweet

    4. Azure-instantietypen

      Het kiezen van het juiste Azure-instantietype voor uw MongoDB-belasting is erg belangrijk - niet alle instantietypen zijn geschikt voor MongoDB. Over het algemeen moet u kijken naar instantietypen voor 'Geoptimaliseerd geheugen' of instantietypen voor 'Opslag geoptimaliseerd'.

      De nieuwste Ev3-serie van geheugengeoptimaliseerde instanties is doorgaans een goed startpunt voor de meeste MongoDB-workloads. Als u meer CPU nodig heeft dan door de E2 v3 wordt geleverd, kunt u de Dv3-instantietypen 'Algemeen gebruik' overwegen.

      De 'Burst'-modusinstanties - 'B1S, B1MS, B2MS' zijn doorgaans geschikt voor kleine workloads, ontwikkel-/testomgevingen, enz. Naarmate uw gegevens groter worden, De 'voor opslag geoptimaliseerde' L4-serie met lokale Azure-SSD-schijven past uitstekend - meer details in de sectie Azure Disk hieronder. Over het algemeen hangt het juiste instantietype af van uw werkbelasting, dus het is belangrijk om de verschillende instantietypen te herhalen en te testen met uw werkbelasting.

    5. Azure-schijven

      Azure biedt verschillende schijftypen om verschillende workloads aan te kunnen:

      • Verouderde schijven (standaard en premium)

        Voor de doeleinden van deze discussie gaan we de verouderde Azure-schijven niet in overweging nemen. Als u verouderde schijven gebruikt, kunt u overwegen over te stappen op beheerde schijven.

      • Beheerde schijven (standaard en premium)

        Azure Managed Disks vereenvoudigen het beheer van uw rekenschijven op Azure aanzienlijk. Ze bieden verschillende voordelen ten opzichte van oudere schijven:

        • U hoeft zich geen zorgen te maken over opslagaccounts.
        • U hoeft zich geen zorgen te maken over de grootte van het opslagaccount en prestatielimieten.
        • Eenvoudige snapshots en nieuwe schijven maken van snapshots.
        • Eenvoudig converteren van standaard naar premium en vice versa.
        • Gebruik verbeterde beschikbaarheidssets om op uw schijven toe te passen.

        U vindt de volledige details over de verschillen tussen beheerde schijven en verouderde schijven in de Azure-documentatie.

        Premium Managed Disks bieden ook verschillende IOPS-garanties, afhankelijk van de grootte van de schijf. Voor productie MongoDB-clusters raden we Premium Managed Disks ten zeerste aan, terwijl voor ontwikkel-/testomgevingen Standard Managed Disks goed passen.
      • Lokale SSD-schijven

        Azure 'Storage modified'-instantietypen bieden grote lokale SSD-schijven die de beste doorvoer in Azure bieden. Dit is zeer geschikt voor grote clusters die veel schijfinvoer/uitvoer (I/O) nodig hebben. Onze Azure High Performance-clusters voor MongoDB gebruiken de instanties van de L-serie. Lokale SSD-schijven zijn echter 'kortstondig':wanneer u de instantie stopt, verdwijnen de gegevens. Het is dus belangrijk om goed op te letten bij het gebruik van lokale schijven. Onze aanbeveling is om één replica te gebruiken die op Managed Premium Disks staat om de veiligheid van de gegevens te garanderen.

Ik weet dat we 5 tips hebben beloofd, maar hier is er nog een voor onderweg:

  1. Gebruik maken van gereserveerde Azure-instanties

    Azure ondersteunt nu Reserved Instances (RI's) oftewel AWS. U kunt vooraf gereserveerde Azure-instanties aanschaffen voor perioden van één of drie jaar en uw MongoDB-hostingkosten aanzienlijk verlagen tot wel 82%.


  1. Hoe zorg je ervoor dat Redis voor slechts enkele sleutels een LRU-uitzettingsbeleid kiest?

  2. Redis/Jedis - Verwijderen op patroon?

  3. Rails Redis instelling maxmemory en maxmemory-policy

  4. Multi-collectie, multi-document 'transacties' in MongoDB