Hadoop (+HBase/HDFS) vs Mysql (ou Postgresql) - Charges d'indépendant, structuré de données à traiter et interrogé

Salut à DONC,

J'aimerais quelques idées/commentaires sur les points suivants de vous, honorable et vénérable tas.

J'ai un 100M des dossiers dont j'ai besoin de traiter. J'ai 5 nœuds (dans un rocks cluster) pour ce faire. Les données sont très structurés et tombe parfaitement dans le modèle de données relationnel. Je veux faire les choses en parallèle depuis mon traitement prend du temps.

Que je le vois j'ai deux options principales:

Installer mysql sur chaque nœud et de mettre 20M des dossiers sur chacun d'eux. Utilisez le nœud de tête de déléguer des requêtes pour les noeuds et d'agréger les résultats. Capacités de requête++, mais j'ai peut-risque, certains maux de tête quand je viens à choisir des stratégies de partitionnement, etc. (Q. Est-ce que ce qu'ils appellent mysql/postgres cluster?). Vraiment de la mauvaise partie est que le traitement des dossiers est laissé à moi maintenant de prendre soin de (la façon de distribuer à travers les machines, etc)...

Sinon installer Hadoop, Hive et HBase (notez que cela pourrait ne pas être le moyen le plus efficace pour stocker mes données, depuis HBase est orienté colonne) et il suffit de définir les nœuds. Nous avons tout écrire dans le paradigme MapReduce et, d'un coup, nous vivons heureux jamais après. Le problème ici est que nous perdons le "temps réel" les capacités d'interrogation (je sais que vous pouvez utiliser la Ruche, mais qui n'est pas proposé en temps réel les requêtes - dont j'ai besoin) - puisque j'ai aussi une certaine normale des requêtes sql à exécuter à des moments "select * from vin, où la couleur = 'marron'".

À noter qu'en théorie - si j'avais 100M machines je pourrais faire la même chose immédiatement, car pour chaque enregistrement, le traitement est indépendant de l'autre. Aussi - mes données sont en lecture seule. Je ne suis pas d'envisager toutes les mises à jour qui se passe. Je n'ai pas besoin/envie de 100M de dossiers sur un nœud. Je ne veux pas y être données redondantes (puisqu'il y a beaucoup d'elle), afin de les garder dans mysql/postgres et Hadoop/HBase/HDFS. n'est pas une véritable option.

Merci Beaucoup

Un ami à moi, posté moi à quelque chose comme ceci: cloudera.com/blog/2009/03/database-access-with-hadoop c'est un petit pas dans la bonne direction, mais j'aimerais entendre votre avis sur la conception et comment je dois faire...

OriginalL'auteur MalteseUnderdog | 2011-02-03