sql >> Database >  >> NoSQL >> Redis

Eenvoudige MySQL-database converteren naar een NoSQL-oplossing

Het eerste dat u zich moet afvragen, is:waarom wilt u overstappen naar een NoSQL-database?

Antwoorden kunnen zijn:u hebt meer snelheid nodig, u wilt een gerepliceerd en gedistribueerd databasesysteem, u hebt meer schaalbaarheid nodig voor gebruikte opslag of replicatie. Of u wilt waarschijnlijk profiteren van eenvoudigere ontwikkeling.

Maar van 300 records denk ik niet dat een, maar van de laatste zou je helpen.

En ik denk niet dat je echt een "in-memory" oplossing wilt. In het geheugen betekent dat alle gegevens alleen naar de ram zijn geschreven, en als u uw database sluit, gaan al uw gegevens verloren. Als je dat echt wilt, dan heeft MySQL een in-memory Storage-engine.

Anders zal alle database zoveel mogelijk in het geheugen opslaan. En 300 records zullen waarschijnlijk ook volledig in uw ram zitten onder MySQL. U krijgt waarschijnlijk geen snelheidsvoordelen van het overschakelen naar een NoSQL-database.

Als u over het algemeen van plan bent om over te schakelen naar een NoSQL-database, zou ik de voorkeur geven aan MongoDB. Het is een mix van NoSQL en een RDBMS, omdat het je een querytaal geeft die bijna net zo krachtig is als SQL. En je kunt het beter noemen dan RDBMS. En voor mij zal programmeren een stuk eenvoudiger zijn in vergelijking met een schemavrije database. U kunt MongoDB schalen tot 1000 servers.

Maar andere NoSQL-databases hebben veel meer schaalbaarheid. Als u meer servers nodig hebt, zouden andere databases waarschijnlijk beter zijn. Maar u verliest een manier om uw gegevens op te vragen.

Als u over het algemeen van plan bent om over te schakelen naar een NoSQL-database, denk dan dat MongoDB dit aankan. Andere NoSQL-databases zijn waarschijnlijk beter voor bepaalde specifieke gevallen en niet voor algemeen gebruik.



  1. MongoDB:beste ontwerp voor berichten-app

  2. Mongoose subdocument zoeken/bijwerken

  3. MongoDB {aggregatie $ match} versus {find} snelheid

  4. Django Channels Error - Kan BACKEND 'asgi_redis.RedisChannelLayer' niet importeren