sql >> Database >  >> NoSQL >> MongoDB

Hoe kunt u uw MongoDB-applicatie-upgrades testen?

Je hebt MongoDB gekozen als je applicatiedatabase en hebt waarschijnlijk al veel productiegegevens in je database. Nu moet u een grote wijziging aanbrengen in uw aanvraag. Hoe gaat u testen om ervoor te zorgen dat de nieuwe versie van uw applicatie goed samengaat met uw productiegegevens?

Productiegegevens zijn altijd oneindig veel gevarieerder dan uw testgegevens en oefenen meer edge-cases uit, wat leidt tot meer bugs. Het wordt niet aanbevolen om productiegegevens naar uw testomgeving te exporteren vanwege beleids-, privacy- en beveiligingsproblemen. Aan de andere kant is het vrij moeilijk en duur om bugs in productie te identificeren en te testen. Dus, hoe zorg je ervoor dat de nieuwe versie van je applicatie goed werkt met productiegegevens? Dit is wat we aanbevelen bij ScaleGrid:

4 stappen bij het upgraden van MongoDB naar productie

  1. Veiligheid voorop

    Onze eerste zorg is de veiligheid en beveiliging van de productiegegevens. We exporteren dus nooit productiegegevens naar onze staging- of testomgeving. Wat we hebben is "pseudo-productie" - dit is een omgeving die identiek is aan productie - dezelfde grootte, dezelfde beveiligingsbeperkingen als productie. Het is echter kortstondig en leeft alleen voor de duur van de test.

  2. Kloon uw productie MongoDB-cluster

    We gebruiken de 'Clone'-functie van ScaleGrid om een ​​point-in-time kloon van de productiedatabase te maken. Op clouds zoals AWS gebruikt de Clone-functie EBS-snapshots, dus de kloonbewerking heeft weinig tot geen invloed op de productiedatabase. Dit geeft ons een "pseudo-productie" databaseomgeving die dezelfde functies heeft als productie:dezelfde gegevens, dezelfde machinegroottes, dezelfde beveiliging, dezelfde clusterconfiguratie, enz.

  3. Voer uitgebreide tests uit

    We voeren een uitgebreide reeks tests uit om ervoor te zorgen dat de nieuwe versie van de applicatie geen problemen met de gegevens veroorzaakt. Zodra we tevreden zijn, breken we de "pseudo-productie"-omgeving af.

  4. Upgrade uw productieomgeving

    Zodra we tevreden zijn met onze tests, gaan we door met het upgraden van onze applicatie in productie. Afhankelijk van de functie, wil je deze misschien ook alleen voor sommige van je klanten upgraden, ook wel A/B-testen genoemd.

Dus, welke andere problemen heb je met het testen van applicatie-upgrades met MongoDB? Heb je tools, technieken of suggesties die je wilt delen? We horen graag van je!


  1. MongoDB-aggregaat, hoe u elk element van de array in groepspijplijn aan ToSet kunt toevoegen

  2. MongoDB-aggregatie:verschillende velden tellen

  3. Totale grootte van documenten in overeenkomende pijplijn overschrijdt de maximale documentgrootte

  4. Redis:Hoe stel je een sleutel gelijk aan de waarde van een andere sleutel?