October 2004 Performance et haute disponibilité pour vos bases de données C-JDBC en bref Points clés C-JDBC (Clustered Java™ DataBase Connectivity) est un intergiciel (middleware) open source de mise en grappe de base de données. Il permet à toute application d’accéder de façon transparente à une grappe de bases de données à travers JDBC. La base de données est distribuée et dupliquée sur plusieurs nœuds et C-JDBC équilibre les requêtes sur ces nœuds. C-JDBC gère les pannes des nœuds et fournit un support pour les points de reprise et le recouvrement d’erreurs à chaud. Comment ça marche ? Les applications Java existantes utilisent un pilote JDBC spécifique à la base de données. C-JDBC fournit un pilote générique qui remplace le pilote utilisé par l’application. Le pilote C-JDBC transfère les requêtes SQL à un contrôleur C-JDBC qui distribue les requêtes en lecture et diffuse les écritures. Le contrôleur réutilise le pilote JDBC natif de la base de données pour exécuter les requêtes. Java application Database JDBC driver No scalability No fault tolerance No failover JVM Database MySQL, PostgreSQL, Oracle, DB2, Sybase... Java application C-JDBC driver JVM C-JDBC Controller Scalability - Fault tolerance - Failover Monitoring - Caching - Logging - ... Database JDBC driver Database Database Database Database Database MySQL, PostgreSQL, Oracle, DB2, Sybase, ... • Pas de modification des applications ou des bases de données existantes, • Haute disponibilité grâce à la technologie RAIDb (voir encadré au dos), • Passage à l’échelle des performances avec des techniques d’équilibrage de charge uniques, • Intégration de l’administration et du monitoring basé sur JMX™, • Code 100% Java diffusé sous licence LGPL, • Support professionnel, formation et consulting disponible par [email protected]. Donnez des performances et de la fiabilité de bout-en-bout à votre serveur J2EE avec C-JDBC Internet Caractéristiques de C-JDBC Haute disponibilité Les contrôleurs C-JDBC peuvent être dupliqués pour éliminer tout point unique de faute dans le système. C-JDBC fournit une reprise sur panne transparente aux applications, et offre un support pour le recouvrement d’erreurs à chaud. Passage à l’échelle des performances C-JDBC propose plusieurs modèles de gestion de la concurrence et de l’équilibrage de charge. Il fournit une gestion transparente des pools de connections et un cache à invalidations configurables. C-JDBC diminue le temps de réponse et améliore le débit des applications de commerce électronique. Administration et monitoring C-JDBC intègre en standard une administration et un monitoring basé sur JMX qui peuvent être facilement intégrés dans des infrastructures de management existantes. C-JDBC est distribué avec une console d’administration graphique. Support de l’hétérogénéité C-JDBC supporte les grappes composées de n’importe quel ensemble de moteurs de bases de données équipées d’un pilote JDBC. C-JDBC permet la réécriture à la volée des requêtes pour adapter les variations de SQL entre les différentes bases. Infrastructure ouverte Chaque composant de C-JDBC peut être remplacé par une implantation de l’utilisateur pour s’adapter aux besoins spécifiques d’une architecture ou d’une application. A propos de l’INRIA INRIA est l’Institut National de Recherche en Informatique et Automatique. Le projet Sardes à l’INRIA Rhône-Alpes a défini le concept RAIDb et dirige les développement de C-JDBC. RAIDb: Redundant Array of Inexpensive Databases RAIDb est aux bases de données ce que RAID (Redundant Array of Inexpensive Disks) est aux disques. RAIDb a pour but de fournir une meilleure performance et une meilleure tolérance aux fautes qu’une seule base de données, à bas coût, en combinant plusieurs instances de base de données en une matrice redondante de bases. Plusieurs niveaux de RAIDb sont définis pour obtenir différents compris de performance et tolérance aux fautes. RAIDb-0 (partitionnement): les tables de la base sont distribuées sur les nœuds sans redondance. SQL requests RAIDb-0 controller table 1 table 2 & 3 table ... table n-1 table n RAIDb-1 (miroir): la base est complètement dupliquée sur chaque nœud. SQL requests RAIDb-1 controller Full DB Full DB Full DB Full DB Full DB RAIDb-2 (duplication partielle): chaque table de la base est présente sur au moins 2 nœuds. SQL requests A propos d’ObjectWeb ObjectWeb est un consortium international d’industriels et d’institutions académiques qui ont joint leurs forces pour produire la prochaine génération d’intergiciel libre. Fondé en 2002 par Bull, France Telecom et l’INRIA, ObjectWeb est hébergé par l’INRIA, et est sponsorisé par Together Teamlösungen GmbH. Pour plus d’informations sur ObjectWeb, visitez le site web à l’adresse http://www.objectweb.org. RAIDb-2 controller Full DB table x table y table x & y table z C-JDBC fournit des implantations logicielles pour tous les niveaux RAIDb et supporte la réplication ou la combinaison de tous contrôleurs RAIDb. Téléchargez sur http://c-jdbc.objectweb.org Rejoignez-nous: [email protected] All names and trademarks are the property of their respective owners. ObjectWeb is a consortium hosted by INRIA – http://www.objectweb.org - [email protected] Java, JDBC and all Java-based trademarks are registered trademarks of Sun Microsystems, Inc.