Applications Web et bases de données en grappe Séminaire InTech 3 Février 2005 – Grenoble
Séminaire InTech /02/2005 Modern Web applications Internet Web server Application server è Dynamic content Web sites è Multi-tier architecture è Replication High availability Performance scalability Database server Apache IIS J2EE.Net Oracle, DB2 MySQL, PostgreSQL
Séminaire InTech /02/2005 Clustered Web applications Internet Web servers App. servers Database è Cluster for replication of each tier è Problems Transparency Load balancing Failover Management
Séminaire InTech /02/2005 Web server clustering è Hardware L4-switch è Software RR-DNS LVS ( One-IP technique: Emic Lamp/cluster Internet
Séminaire InTech /02/2005 Application server clustering è Web server/App server mod-jk, mod-proxy/jk2 Enhydra director è Application server replication HTTP in-memory session replication JNDI (naming registry) Stateful bean replication Internet RR-DNSjk2 session, JNDI, EJB
Séminaire InTech /02/2005 Scaling the database tier – Alternative 1 (SMP) Internet Web frontend App. server Well-known database vendor here Database Well-known hardware + database vendors here è Cons Cost Scalability limit
Séminaire InTech /02/2005 Scaling the database tier – Alternative 2 (shared disks) Internet Web frontend App. server Database Disks Another well-known database vendor è Cons still expensive hardware availability
Séminaire InTech /02/2005 Internet è scalability è high availability è without modifying the client application è database vendor independent è on commodity hardware Database clustering middleware JDBC
Séminaire InTech /02/2005 RAIDb concept è Redundant Array of Inexpensive Databases è RAIDb controller gives the view of a single database to the client balance the load on the database backends è RAIDb levels offers various tradeoff of performance and fault tolerance
Séminaire InTech /02/2005 RAIDb levels è RAIDb-0 partitioning no duplication and no fault tolerance at least 2 nodes
Séminaire InTech /02/2005 RAIDb levels è RAIDb-1 mirroring performance bounded by write broadcast at least 2 nodes
Séminaire InTech /02/2005 RAIDb levels è RAIDb-2 partial replication at least 2 copies of each table for fault tolerance at least 3 nodes
Séminaire InTech /02/2005 C-JDBC overview è Middleware implementing RAIDb 100% Java implementation open source (LGPL) è Two components generic JDBC driver (C-JDBC driver) C-JDBC Controller è Read-one, Write all approach provides eager (strong) consistency è Supports heterogeneous databases
Séminaire InTech /02/2005 architectural overview JVM Application server C-JDBC JDBC driver C-JDBC controller JVM MySQL JDBC driver MySQL database
Séminaire InTech /02/2005 Inside the C-JDBC Controller Sockets JMX
Séminaire InTech /02/2005 Scaling existing databases è add open source databases for more fault tolerance and better performances è rules for on-the-fly query rewriting to handle heterogeneity
Séminaire InTech /02/2005 TPC-W benchmark (Amazon.com) è Nearly linear speedups with the shopping mix
Séminaire InTech /02/2005 Horizontal & Vertical scalability è adapt and evolve according to user needs è advanced caching functionalities è dynamic adding of database backends è fault tolerant transaction log è integrated backup and checkpointing è grid & edge-side servers support
Séminaire InTech /02/2005 Administration è JMX Graphical Console cluster administration backup/checkpoint mgt cluster monitoring SQL profiling integrated SQL console (iSQL) è Administration API integration in any existing administration infrastructure JMX notifications for all internal events JMX MBeans for monitoring
Séminaire InTech /02/2005 J2EE end-to-end reliability è ObjectWeb exclusivity è On-demand availability no SPOF, transparent failover è On-demand scalability scalability, flexibility Interne t Mission critical open source software
Séminaire InTech /02/2005 What about Grids? Internet
Séminaire InTech /02/2005 Q&A _________ Thanks to all users and contributors
Bonus slides
Séminaire InTech /02/2005 C-JDBC today è Web site ~ hits/month > downloads EU (18 countries) 36%, US 28%, Japan 12%, China 5%, Canada 4%, Australia 4%, India 3%, Brazil 2%, … è Community 27 committers both industrial & academics >200 subscribers, msgs/month translation in japanese, italian, chinese, turkish, french, german è RPM on JPackage.org è Professional support by Emic Networks
Séminaire InTech /02/2005 Current limitations è JDBC only è Distributed joins è Updatable ResultSets è XA support through XAPool only è transparent controller failover not supported when using horizontal scalability with JGroups è network partition/reconciliation not supported