OpenSource base de données. Pourquoi choisir MySQL pour notre projet?.

Avant de procéder à la construction du processus ETL pour le reste de la dimension du projet, nous nous arrêtons pour expliquer la raison du choix de MySQL en tant que gestionnaire de base de données pour la Enobia projet.

Tout d'abord, économique. Nous menons un projet en utilisant des produits ou des produits OpenSource sous licence libre par les fabricants (comme MicroStrategy Reporting Suite). Certes, si nous étions dans un grand projet, choisir une option de base de données propriétaires comme Oracle (qui est pour beaucoup le meilleur choix pour l'étude, la pratique ou consensus). Vous pouvez voir la base de données étude comparative réalisée par Forrester (grâce à todobi.com ).


Etude Forrester 2009 sur les gestionnaires de bases de données

Deuxièmement, nous sommes à la recherche de produits de prestige, fiabilité, rapidité, performance, facilité d'administration et la connexion avec d'autres produits, bien documenté, avec une bonne performance et de soutien.Les produits qui sont faciles à obtenir de l'information, avec de bons outils, et pour lesquels même peuvent recevoir une formation si nécessaire.Les produits sont utilisés dans de nombreux environnements de production et de nous donner suffisamment de confiance.

En outre, les gestionnaires de bases de données OpenSource qui a depuis longtemps cessé d'être une expérience et vous êtes une véritable alternative pour les entreprises (même apparaître dans les quadrants Gartner ). Sont de plus en plus de produits de pointe avec plus de fonctionnalités et les entreprises qui se développent sont de plus en plus le chiffre d'affaires (important pour poursuivre le développement de produits).

meilleurs produits OpenSource connus sont:

MySQL , PostgreSQL , MaxDB , Firebird , Ingres , MonetDB , LuciDb .

Vous pouvez parcourir le répertoire EOS produits OpenSource pour les bases de données Open d'autres, ainsi que des critiques de l'utilisation réelle et ces cas.

Il existe de nombreuses bases de données comparatives sur OpenSource, y compris des études en les comparant avec des produits exclusifs (voir comparative Oracle / Mysql ).Le choix de l'une dépend du type de projet, nous allons utiliser la base de données (serveur Web, le développement d'applications, Dw), potentiel d'intégration avec d'autres produits, plate-forme matérielle ou système d'exploitation utilisé, etc.

Dans notre cas, nous avons décidé de travailler avec MySQL ou PostgreSQL , et nous nous concentrerons sur l'analyse de laquelle des deux produits, nous sommes restés.

Il ya beaucoup de comparaisons, bien que quelques-uns des plus intéressants sont:

MySQL vs PostgreSQL comparaison.

MySQL vs PostgreSQL comparaison: quand les utiliser?

PostgreSQL vs MySQL: Examen comparatif : une étude comparative plus récente qui prend en compte l'évolution des deux produits ces dernières années.

Si nous analysons les bases de données en se concentrant sur ​​le domaine de l'Entrepôt de données, il ya aussi des études qui explorent différentes options (encore une fois grâce à todobi.com ).L'étude originale, menée par Jos van Dongen, nous l'avons ici .


Comparer les BD-DW (étude Jos van Dongen)

Même nous, dans Wikipedia une étude comparative des basesgrandes bases de données relationnelles, qui peuvent être accessibles à partir de .


BD comparative Wikipedia

Nous avons beaucoup d'informations, mais il est temps que les conclusions et de choisir le produit pour une utilisation dans votre projet, en tenant compte des considérations suivantes:

1) Nous allons construire un entrepôt de données, vous aurez donc la priorité pour nous la vitesse d'accès aux données (des frais de données seront régulièrement lorsque nous nourrir le DW à partir des systèmes opérationnels, et la plupart des accès sera de rechercher les données .)

2) Pour améliorer les performances de la base de données dans la table de faits (qui me rappelle est celui qui aura des millions d'enregistrements car il enregistre toutes les transactions de vente), à ​​la partition.Cela signifie que pour la même table logique, il y aura différentes tables physique et la gestion complète de ce cloisonnement est le moteur de base de données, étant le processus complètement transparent pour l'utilisateur (on aurait aussi la possibilité de nous gérer dans le processus ETL charge le partitionnement des données dans des tables séparées, conformément à un critèreio déterminée (par exemple l'année), en tenant compte du fait que cela est pris en charge, par exemple, des outils Microstrategy qui sont capables de générer les états SQL approprié pour lire les données de différentes tables où l'information est partagée).

3) C'est la première fois nous avons travaillé avec deux bases de données, et dans les deux cas comparer la facilité de travail, l'existence d'outils graphiques et de gestion, documentation, etc

Compte tenu de ces considérations et des études comparatives et décrit ci-dessus, a décidé de travailler avec MySql pour les raisons suivantes:

1) Vitesse: bien que certaines études PostgreSQL est mieux pour les environnements où l'intégrité des données est cruciale (comme dans le développement d'applications), niveau de performance MySQL est bien meilleur.En particulier, lorsque vous utilisez le type de moteur MyISAM, les performances de MySQL est beaucoup mieux. C'est le type de moteur avec lequel nous allons définir l'ensemble de nos tables de la DW. Le moteur InnoDB est plus lente et est destinée aux applications où la mise à jour et à l'intégrité est plus importante.

2) Partitionnement: Bien que les deux plates-formes permettent de partitionnement, la gestion est plus simple à utiliser MySQL.

3) Les outils graphiques, documentation, Plates-formes: Mysql fournit une documentation complète (très complet) et une multitude d'outils graphiques et gestion de la connectivité. PostgreSQL également satisfaire aux exigences en question et pris en charge les plates-formes de documentation. Il est également important pour nous d'avoir un outil de conception de bases de données Mysql tels que MySQL Workbench, qui nous permet de définir notre relation modèles, générer des instructions SQL et de construire la base de données et de l'ingénierie inverse (de construire le modèle de données à partir d'une base de données existante) et de comparer le modèle défini à l'outil avec la base de données existante.

Certains des plus éminents d'utilisateurs MySQL sont les suivants:

  • Amazon.com
  • / W / index.php? Title = s.wikipedia.org Cox_Communications & action = edit & RedLINK = 1 "> Cox Communications - La télévision par câble au quatrième rang aux États-Unis, avec plus de 3.600 tableaux et environ deux millions d'encarts toutes les heures.
  • Craigslist
  • CNET Networks
  • Digg - Nouvelles Site Web.
  • Flickr , utilise MySQL pour gGESTION millions de photos et les utilisateurs.
  • Google - moteur de recherche pour l'application AdWords.
  • Joomla! , avec des millions d'utilisateurs.
  • phpBB , l'un des sites les plus célèbres forums avec des milliers d'installations avec des millions d'utilisateurs.
  • LiveJournal - Environ 300 millions de pages servi tous les jours. [2]
  • NASA
  • NetQoS , utilise MySQL pour gérer certains des plus grands réseaux du monde telles que Chevron , American Express et Boeing .
  • Nokia utilise un cluster MySQL pour garder informeration en temps réel les utilisateurs du réseau sans fil.
  • Omniture
  • Sabre , et système de réservation Voyage Travelocity
  • Slashdot - avec environ 50 millions de pages servi tous les d & eacutee; a.
  • Wikipedia , dessert plus de 200 millions de visites et 1,2 million de mises à jour par jour, avec des pointes de 11.000 requêtes par seconde.
  • WordPress , avec des centaines de blogs hébergés sur elle.
  • Yahoo! - pour de nombreuses applications critiques.

Si vous souhaitez plus d'informations sur MySQL, l'entrée sur wikipedia est assez complet.