Je sais que c'est une autre question sur ce sujet mais je suis un débutant complet dans le monde NoSQL donc j'adorerais avoir quelques conseils. Les gens de SO m'ont dit que MySQL pourrait être une mauvaise idée pour ce jeu de données, donc je demande cela. J'ai beaucoup de données dans le format suivant:MongoDB ou CouchDB ou autre chose?
TYPE 1
ID1: String String String ...
ID2: String String String ...
ID3: String String String ...
ID4: String String String ...
que j'espère convertir en quelque chose comme ceci:
TYPE 2
ID1: String
ID1: String
ID1: String
ID1: String
ID2: String
ID2: String
Ceci est le moyen le plus inefficace, mais je dois être en mesure de rechercher à la fois la clé et le v alue. Par exemple, mes questions se ressembler à ceci:
- je pourrais avoir besoin de savoir ce que toutes les chaînes d'un ID donné contient, puis recouper la liste avec une autre liste obtenue pour un ID différent.
- je pourrais avoir besoin de savoir ce que tous les ID contiennent une chaîne donnée
J'aimerais réaliser cela sans transformation de type 1 en type 2 en raison des besoins en espace pure, mais je voudrais savoir si l'MongoDB ou CouchDB ou quelque chose d'autre (quelqu'un a suggéré que NoSQL a donc commencé à googler et a trouvé ces deux sont très populaires) m'aiderait dans cette situation. Je peux tirer parti d'un cluster de 14 nœuds, mais j'aimerais avoir quelques conseils sur la base de données la mieux adaptée à cette utilisation. Aucune suggestion?
Quelques choses supplémentaires:
- L'entrée sera essentiellement statique. Je vais créer de nouvelles données mais je ne modifierai aucune des données existantes.
- L'ID est de 40 octets de longueur alors que les chaînes sont environ 20 octets
Combien d'identifiants et de chaînes par ID attendez-vous? – methodin
@methodin: Par ID, il pourrait y avoir environ 10 - 80000 chaînes. – Legend
@methodin: Oh et aussi, dans Type-1, j'ai environ 2 millions d'enregistrements. Si je convertis cela en Type-2, le nombre va jusqu'à 4 milliards. – Legend