Highly available database clusters with JDBC
- ObjectWebCon’ /01/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
- ObjectWebCon’ /01/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
- ObjectWebCon’ /01/2005 Internet è scalability è high availability è without modifying the client application è database vendor independent è on commodity hardware Database clustering middleware JDBC
- ObjectWebCon’ /01/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
- ObjectWebCon’ /01/2005 RAIDb levels è RAIDb-0 partitioning no duplication and no fault tolerance at least 2 nodes
- ObjectWebCon’ /01/2005 RAIDb levels è RAIDb-1 mirroring performance bounded by write broadcast at least 2 nodes
- ObjectWebCon’ /01/2005 RAIDb levels è RAIDb-2 partial replication at least 2 copies of each table for fault tolerance at least 3 nodes
- ObjectWebCon’ /01/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
- ObjectWebCon’ /01/2005 architectural overview JVM Application server JVM C-JDBC JDBC driver C-JDBC controller JVM MySQL JDBC driver MySQL database
- ObjectWebCon’ /01/2005 Inside the C-JDBC Controller Sockets JMX
- ObjectWebCon’ /01/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
- ObjectWebCon’ /01/2005 TPC-W benchmark (Amazon.com) è Nearly linear speedups with the shopping mix
- ObjectWebCon’ /01/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
- ObjectWebCon’ /01/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
- ObjectWebCon’ /01/2005 J2EE end-to-end reliability è ObjectWeb exclusivity è On-demand availability no SPOF, transparent failover è On-demand scalability scalability, flexibility Interne t
- ObjectWebCon’ /01/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
- ObjectWebCon’ /01/2005 What’s next? è Tribe (.objectweb.org) replacement for JGroups uniform total order broadcast optimized for clusters è LeWYS (.objectweb.org) hardware and software monitoring monitoring repository è Distributed query execution è Optimized support for edge-side servers and interconnected clusters
- ObjectWebCon’ /01/2005 Demos è Tuesday 18 INRIA booth: to 1pm ObjectWeb booth: 2pm to 2.30pm è Wednesday 19 INRIA booth: 10.30am to 11am ObjectWeb booth: 1pm to 1.30pm
- ObjectWebCon’ /01/2005 Q&A _________ Thanks to all users and contributors...
Bonus slides
- ObjectWebCon’ /01/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