Les bases de données

Les bases de données SQL

MySQL

mysqlMySQL est un serveur de bases de données relationnelles SQL multi-thread et multi-utilisateurs. Sa haute performance, sa fiabilité et sa simplicité d'utilisation en ont vite fait la base de données open source la plus populaire au monde. Indissociable de son environnement, elle fait donc partie de la "pile" LAMP (Linux, Apache, MySQL et PHP) qui fait la force et la notoriété de nombreux sites d'envergure internationale (EADS, Lafarge, Nokia, etc...). MySQL fonctionne sur plus de 20 plateformes (Linux, Windows, OS/X, HP-UX, AIX, Netware ...) et sur de nombreux systèmes d'exploitations différents (AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetWare, NetBSD, OpenBSD, OS/2 Warp, SGI Irix, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64 Unix, Windows 95, 98, NT, 2000, XP et Vista).
Facile d'utilisation, MySQL s'adresse aussi bien aux débutants qu'aux développeurs expérimentés. Outre le PHP, les bases de données MySQL sont accessibles en utilisant de nombreux autres langages de programmation : C, C++, C#, Delphi / Kylix, Eiffel, Java, Python, Ruby et Tcl. Souplesse et originalité sont également garants du succès de MySQL : le fait de pouvoir gérer simultanément plusieurs moteurs au sein d'une seule base lui est également spécifique. Chaque table peut alors utiliser un moteur différent au sein d'une base. Ceci permet d'optimiser l'utilisation de chaque table.


PostgreSQL

postgresqlPostgreSQL est un système de gestion de base de données relationnelle et objet (SGBDRO). C'est un outil libre disponible selon les termes d'une licence de type BSD.
Ce système est concurrent d'autres systèmes de gestion de base de données, qu'ils soient libres (comme MySQL et Firebird), ou propriétaires (comme Oracle, Sybase, DB2 et Microsoft SQL Server). Comme les projets libres Apache et Linux, PostgreSQL n'est pas contrôlé par une seule entreprise, mais est fondé sur une communauté mondiale de développeurs et d'entreprises.


Oracle

oracleOracle est un système de gestion de base de données relationnel (SGBDR) qui depuis l'introduction du support du modèle objet dans sa version 8 peut être aussi qualifié de système de gestion de base de données relationnel-objet (SGBDRO). Fourni par Oracle Corporation, il a été développé par Larry Ellison, accompagné d'autres personnes telles que Bob Miner et Ed Oates.


Les bases de données NoSQL

Redis

redisRedis est une base de données de type clé-valeur, sous licence BSD.
Le développement de Redis a commencé il y a un peu plus d'un an. C'est une sorte de Memcached boosté, avec de la persistance et de nombreuses opérations en plus. Il est possible d'essayer ses possibilités dans un navigateur web grâce à try-redis. Son principal développeur, Salvatore Sanfilippo, vient d'être embauché par VMWare pour travailler à plein temps sur Redis.


MongoDB

mongodbMongoDB est une base de données "orientée document". Totalement open-source, cette dernière est développée en C++. Contrairement à MySQL par exemple, MongoDB va stocker des données sous forme de JSON.
Comme toutes bases de données, il sera possible d'effectuer des requêtes dynamiques pour récupérer vos données, définir des index pour améliorer les performances, insérer des données et les mettre à jour etc. La grande différence avec MySQL, c'est sans doute l'absence de tables.
En effet, vous n'aurez pas à créer un schéma de BDD à respecter. Tout est dynamique, vous pourrez à tout moment créer de nouvelles propriétés, sans pour autant perdre en performances.


Memcached

memcachedMemcached est une solution Open Source permettant de stocker, en mémoire uniquement, de l’information.
Il est souvent utilisé pour augmenter la vitesse de réponse des sites web créés à partir de bases de données. Il gère les données et les objets en RAM de façon à réduire le nombre de fois qu'une même donnée stockée dans un périphérique externe est lue. Il tourne sous Unix, Windows et MacOS et est distribué selon les termes d'une licence libre dite permissive.
Memcached a été initialement mis au point par Danga Interactive pour LiveJournal. En 2010, il est utilisé par d'autres sites, plusieurs très fréquentés, tels que YouTube, Reddit, Zynga, Facebook, et Twitter.


Hbase

hbaseHBase est un système de gestion de base de données non-relationnelle distribuée, écrit en Java, disposant d'un stockage structuré pour les grandes tables.
HBase est inspirée des publications de Google sur BigTable. Comme BigTable, elle est une base de données orientée colonnes.
HBase est un sous-projet d'Hadoop, un framework d'architecture distribuée. La base de données HBase s'installe généralement sur le système de fichiers HDFS d'Hadoop pour faciliter la distribution, même si ce n'est pas obligatoire.


Neo4j

hbaseNeo4j est une base de données graphe, qui répond également aux enjeux traditionnels d’une base de données (ACIDité des transactions, gestion des accès concurrents, rollback de transaction, haute disponibilité).