web-dev-qa-db-fra.com

Pourquoi tant de solutions MPP sont basées sur PostgreSQL au lieu de MySQL?

Les données Astor, Greenplum et GridSQL permettent toutes une transformation en parallèle massive des requêtes SQL. Ils sont également tous construits sur la technologie PostgreSQL. Est-ce juste à cause des problèmes de licence ou existe-t-il d'autres raisons? Pour moi, il semble que le myisam, ne pas être acide compliant et donc ne pas courir dans les mêmes problèmes avec MVCC (comme vu ici ) Comme PostgreSQL est bien mieux adapté à la création d'entrepôts de données hautes performances. Après tout OLAP charge ne nécessite pas de transactions aussi loin que je peux voir.

7
David

Je peux voir deux raisons:

1) Historiquement, PostgreSQL avait une meilleure planification de la requête et un analyseur de statistiques. Cela pourrait ne pas être vrai maintenant, mais il y a quelques années, PostgreSQL était beaucoup mieux que MySQL sur des requêtes complexes, ce qui est OLAP==.

2) PostgreSQL a de meilleures fonctions/déclencheurs/etc. Prise en charge de la programmation.

10
rvs

Comme Peter Eisenraut a correctement souligné, tout d'abord, c'est une question de licence. Postgres est autorisé sous un accord de type BSD, ce qui le rend essentiellement un "gratuit pour tous", tant que vous créez les développeurs d'origine dans votre travail dérivé.

Le débat du planificateur MVCC vs. Verrouillage a fait l'objet de plus de quelques "guerres saintes" en ligne. Les débats sur les mérites de divers moteurs de stockage ont été également controversés.

Les mérites de différents moteurs de stockage de rangée (AKA Row-Row-Storage) sont en grande partie sans importance en matière de députés MPP sur les charges de travail analytiques pour deux raisons:

  1. Bien que les particularités du moteur de stockage soient importantes pour le traitement des transactions acides dans des charges de travail de type OLTP, dans un environnement d'entreposage de données typique, vous devez prendre en charge un seul type de "transaction" - une charge par lots. Idéalement, c'est la charge par lots qui devrait réussir complètement ou échouer complètement.
  2. Les bases de données analytiques, basées sur les moteurs de stockage de colonnes, surperformeront dans de nombreux cas une implémentation de lignes de rangée. Vertica était une colonne de magasin depuis le début, Teradata et Greenplum a récemment ajouté récemment une fonctionnalité de stockage de colonne à leurs produits.
6
CodeMoney

J'ai construit un système MPP sur MySQL et j'ai jeté le système pour deux raisons:

1) est oracle

2) Est-ce que l'absence de jointures de hachage - une boucle imbriquée et des jointures d'index ne s'adapte pas au niveau requis dans un système MPP - à nouveau parce que Oracle a inhibé la livraison promise des jointures de hachage dans la ligne de code 5.x après sa prise en charge.

Les systèmes de données de MPP Big Data doivent avoir des jointures qui ne sont pas de complexité géométrique. - Les jointures de complexité linéaire linéaire ou linéaire doivent être une préférence forte pour les vrais systèmes de données.

J'ai déployé Actian Vectorwise à la place dans le nouveau système de député DeewCloud tout en maintenant une compatibilité bruine/mysql au niveau de l'utilisateur.

Les utilisateurs souhaitent que Fast Big-Data Analytics puisse télécharger DeepCloud à partir de http://www.deepcloud.co

4
Randolph