Je suis également chez mLab. Je n’ai pas envie de devoir gérer plus que ce que je fais déjà en fait. Et vu le nombre de bdd sous MongoDB qui ont disparu suite aux hacks, je préfère rester avec eux. (A savoir que les hacks étaient possibles car les bases de données n’étaient pas correctement installées - genre sans réelle sécurité - surement par des personnes novices)
Je commence à m’intéresser à DynamoDB sinon pour entièrement passer sur du Serverless. J’y suis pas encore.
MongoDB, top, couplé à du SQL si jamais besoin de transactionnel.
Pour l’histoire des hacks sur MongoDB, ce n’est même pas une histoire de DB pas correctement installées, mais c’est carrément MongoDB qui s’installe automatiquement en laissant l’accès remote ouvert à tout me monde et n’importe qui (moi-même je me suis fait avoir).
N’importe quel soft/DB lorsqu’on l’installe ne devrait pas laisser volontairement les accès remote ouverts comme ça… Mais bon, avec un rapide cron et commande de backup sur ses collections/DBs MongoDB, et hop les données sont en sécurité
MongoDB instances are standalone for now, replica sets coming soon faut pas s’amuser avec des données importantes. Tu sais si ce sont des ressources partagées ou dédiées ? Tu as testé ?
J’avais assisté à une conf où les intervenants disaient qu’une partie de facebook et d’autres grosses boites (Google, Amazon) avait des serveurs SQL. Et les intervenants disaient aussi que contrairement à ce qu’on dit SQL peut être scalable mais tu dois augmenter la puissance de ta machine (vertical scalability) et non rajouter un noeud comme avec certaines bases NoSql (horizontal).
APrès il faut te dire aussi que la composante relationnelle de certaines apps est tellement forte qu’on est obligé d’avoir une base SQL et que ça marche très bien.
Petite question : quelle est le volume de tes données ? et à quelle fréquences les données sont générées ? tout dépend de l’application. De mémoire AirBnb utilise MySQL !
Pour le moment, ma base ne fait que 500Mo. Ca va encore très bien mais je me demandais pour l’avenir. A la limite, je ferai peut être une solution hybride (Sql + MongoDb).
Je pense que l’intérêt du NoSQL est aussi dans la modularité des paramètres. Tu peux à la volée rajouter/enlever des attributs sans devoir restructurer ta base.
Si tu as une liste de produits en bases avec des t-shirts, des tasses à café et des magnets par exemple, ils ne partageront pas les mêmes attributs alors qu’ils restent des produits avant tout. Tu pourrais tous les enregistrer dans la même base en les parsant différemment suivant leur type par ex.
Possible en SQL ?
Ah et je ne suis pas un expert en BDD donc pas taper trop fort.