Download presentation
Presentation is loading. Please wait.
Published byGabriel Griffith Modified over 9 years ago
1
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 1 - 23/02/2004 status Emmanuel Cecchet c-jdbc@objectweb.org
2
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 2 - 23/02/2004 Outline Overview Advanced concepts Query caching Horizontal scalability Monitoring Perspectives
3
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 3 - 23/02/2004 Motivations J2EE performance scalability bounded by database performance Database tier must be –scalable –fault tolerant (high availability + failover) –without modifying the client application –using open source databases –on commodity hardware
4
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 4 - 23/02/2004 Internet How do we want to use ? end-to-end open source solution for large scale J2EE clustered application servers cost-effective solution for both small and large configurations Apache MySQL
5
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 5 - 23/02/2004 Redundant Array of Inexepensive Databases RAIDb controller –gives the view of a single database to the client –balance the load on the database backends RAIDb levels –RAIDb-0: full partitioning –RAIDb-1: full mirroring –RAIDb-2: partial replication –composition possible
6
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 6 - 23/02/2004 C-JDBC Middleware implementing RAIDb Two components –generic JDBC 2.0 driver (C-JDBC driver) –C-JDBC Controller C-JDBC Controller provides –performance scalability –high availability –failover –caching, logging, monitoring, … Supports heterogeneous databases
7
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 7 - 23/02/2004 Using JOnAS with C-JDBC Without C-JDBC Database JDBC Driver
8
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 8 - 23/02/2004 Pooling Cache Controller Database Virtual Driver Using JOnAS with C-JDBC Update the datasource to use the C-JDBC driver Backend JDBC Driver JOnAS
9
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 9 - 23/02/2004 What C-JDBC offers No application modification No JOnAS modification No database modification Database Virtual Backend Backend recovery Pooling Cache Controller Database Virtual JDBC Driver Load balancing Driver
10
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 10 - 23/02/2004 Outline Overview Advanced concepts Query caching Horizontal scalability Monitoring Perspectives
11
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 11 - 23/02/2004 Inside the Controller Sockets JMX
12
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 12 - 23/02/2004 Fault tolerant recovery log
13
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 13 - 23/02/2004 Cascading controller
14
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 14 - 23/02/2004 Heterogeneity support application already written for a specific [commercial] database user defined rules for on-the-fly query rewriting to execute on heterogeneous backends
15
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 15 - 23/02/2004 Outline Overview Advanced concepts Query caching Horizontal scalability Monitoring Perspectives
16
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 16 - 23/02/2004 Query caching status Cache contains a list of SQL->ResultSet Policy defined by queryPattern->Policy 3 policies –EagerCaching: variable granularities for invalidations –RelaxedCaching: invalidations based on timeout –NoCaching: never cached RUBiS bidding mix with 450 clients No cacheCoherent cache Relaxed cache Throughput (rq/min)389241844215 Avg response time801 ms284 ms134 ms Database CPU load100%85%20% C-JDBC CPU load-15%7%
17
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 17 - 23/02/2004 RUBiS - Tomcat without C-JDBC caching Tomcat ~50% cpu 1 Database 100% cpu Throughput: 3900 pages/min
18
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 18 - 23/02/2004 RUBiS - Tomcat with C-JDBC relaxed caching Tomcat ~55% cpu 1 Database ~20% cpu Throughput: 4200 pages/min C-JDBC <10% cpu
19
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 19 - 23/02/2004 JOnAS and C-JDBC query caching RUBiS Throughput (req/min) Response time (ms) No cache Servlet38904140744310 JOnAS SF CMP 1.1 2947341829292045 JOnAS CMP 2.0 2178245063724630
20
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 20 - 23/02/2004 Outline Overview Advanced concepts Query caching Horizontal scalability Monitoring Perspectives
21
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 21 - 23/02/2004 Horizontal scalability JGroups for controller synchronization Groups messages for writes only
22
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 22 - 23/02/2004 Horizontal scalability Centralized write approach issues Issues with transactions assigned to connections
23
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 23 - 23/02/2004 Horizontal scalability General case for a write query –3 multicast + 2n unicast
24
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 24 - 23/02/2004 Horizontal scalability Solution: No backend sharing –1 multicast + n unicast [+ 1 multicast]
25
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 25 - 23/02/2004 Horizontal scalability Issues with JGroups –resources needed by a channel –instability of throughput with UDP –performance scalability TCP better than UDP but –unable to disable reliability on top of TCP –unable to disable garbage collection –ordering implementation is sub-optimal Need for a new group communication layer optimized for cluster
26
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 26 - 23/02/2004 Horizontal scalability JGroups performance on UDP/FastEthernet
27
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 27 - 23/02/2004 Outline Overview Advanced concepts Query caching Horizontal scalability Monitoring Perspectives
28
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 28 - 23/02/2004 Design choices JMX for both administration and monitoring –JMX server is MX4J HTTP console for basic features but not suited for monitoring Swing console for monitoring –uses JMX/RMI connector Currently working on a scalable monitoring infrastructure
29
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 29 - 23/02/2004 Online Monitoring
30
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 30 - 23/02/2004 Viewing logs remotely
31
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 31 - 23/02/2004 Outline Overview Advanced concepts Query caching Horizontal scalability Monitoring Perspectives
32
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 32 - 23/02/2004 Current status C-JDBC 1.0 rc2 release Web site: >100.000 hits per month Downloads: >1200 per month Mailing lists: 134 subscribers Ready for production environments
33
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 33 - 23/02/2004 Ongoing work Scalable group communication middleware for clusters –Needed for horizontal scalability –Decouple application streams from network channels Monitoring –Continuous monitoring stored in repositories –Generic monitoring console for both online monitoring and monitoring history browsing Administration –Fully featured administration console –Graphical configuration and deployment of centralized/distributed backeds and controllers (offline/online) –Dynamic reconfiguration Misc. –Automated Load testing –RPM packaging (JPackage)
34
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 34 - 23/02/2004 Questions & Answers _________ Thanks to all users and contributors... http://c-jdbc.objectweb.org
35
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 35 - 23/02/2004 Virtual Database gives the view of a single database establishes the mapping between the database name used by the application and the backend specific settings backends can be added and removed dynamically configured using an XML configuration file
36
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 36 - 23/02/2004 TPC-W Performance (Amazon.com)
37
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 37 - 23/02/2004 Outline Overview Fault tolerance Performance New features Roadmap
38
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 38 - 23/02/2004 Building the initial state Octopus is an ETL tool Use Octopus to store a dump of the initial database state
39
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 39 - 23/02/2004 Journaling Backend is enabled All database updates are logged (SQL statement, user, transaction, …)
40
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 40 - 23/02/2004 Adding backend on the fly Add new backends while system online Restore dump corresponding to initial checkpoint with Octopus
41
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 41 - 23/02/2004 Synchronizing backends Replay updates from the log
42
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 42 - 23/02/2004 Expanded Cluster Enable backends when done
43
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 43 - 23/02/2004 Handling a backend failure A node fails! Automatically disabled but should be fixed or changed by administrator
44
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 44 - 23/02/2004 Restoring a backend Restore latest dump with Octopus
45
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 45 - 23/02/2004 Re-synchronization Replay missing updates from log
46
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 46 - 23/02/2004 Healed Cluster Re-enable backend when done
47
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 47 - 23/02/2004 Prototype C-JDBC Management Framework Shared design
48
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 48 - 23/02/2004 Making new checkpoints Disable one backend to have a coherent snapshot Mark the new checkpoint entry in the log Use Octopus to store the dump
49
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 49 - 23/02/2004 Making new checkpoints Replay missing updates from log
50
JOnAS developer workshop – http://www.objectweb.org - c-jdbc@objectweb.org 50 - 23/02/2004 Making new checkpoints Re-enable backend when done
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.