+ All Categories
Home > Documents > Highly available database clusters with...

Highly available database clusters with...

Date post: 23-Oct-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
22
Highly available database clusters with JDBC [email protected]
Transcript
  • Highly available

    database clusters with JDBC

    [email protected]

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 2 - 19/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

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 3 - 19/01/2005

    Scaling the database tier –

    Alternative 2 (shared disks)

    Internet

    Web frontend

    App. server Database Disks

    Another well-knowndatabase vendor

    �Cons�still expensive hardware�availability

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 4 - 19/01/2005

    Internet

    �scalability�high availability�without modifying the client application�database vendor independent�on commodity hardware

    Database clustering

    middleware

    JDBCJDBCJDBC

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 5 - 19/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

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 6 - 19/01/2005

    RAIDb levels

    �RAIDb-0�partitioning�no duplication and no fault tolerance�at least 2 nodes

    table 2 & 3 table ...

    RAIDb controller

    table n-1table 1 table n

    SQL requests

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 7 - 19/01/2005

    RAIDb levels

    �RAIDb-1�mirroring�performance bounded by write broadcast�at least 2 nodes

    Full DB Full DB

    RAIDb controller

    Full DBFull DB Full DB

    SQL requests

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 8 - 19/01/2005

    RAIDb levels

    �RAIDb-2�partial replication�at least 2 copies of each table for fault tolerance�at least 3 nodes

    table x table y

    RAIDb controller

    table x & yFull DB table z

    SQL requests

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 9 - 19/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

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 10 - 19/01/2005

    architectural overview

    JVM

    Applicationserver

    C-JDBC JDBC driver

    C-JDBCcontroller

    JVM

    MySQLJDBC driver

    MySQLdatabase

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 11 - 19/01/2005

    Inside the C-JDBC

    Controller

    XML configuration file

    C-JDBC Controller

    MySQL

    C-JDBC driver

    Java client program

    (Servlet, EJB, ...)

    XML engine

    MySQL

    Virtual database

    Database Backend

    Connection Manager

    Database Backend

    Connection Manager

    Request Manager

    Request Cache

    Scheduler

    Load balancer

    MySQL JDBC driver

    MySQL JDBC driver

    Configuration &

    administrationAdministration console

    RMIRMI

    Recovery Log

    Authentication Manager

    MySQL

    Database Backend

    Connection Manager

    MySQL JDBC driver

    Virtual database

    Database Backend

    Connection Manager

    Database Backend

    Connection Manager

    Request Manager

    Request Cache

    Scheduler

    Load balancer

    Recovery Log

    Authentication Manager

    Oracle

    Oracle JDBC driver

    Oracle JDBC driver

    Oracle

    SocketsSockets

    JMX

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 12 - 19/01/2005

    Scaling existing databases

    �add open source databases for more fault tolerance andbetterperformances

    �rules for on-the-flyquery rewriting to handleheterogeneity

    MySQL MySQL

    C-JDBC Controller RAIDb-2

    MySQL JDBC driver

    MySQLOracle

    Java client program

    C-JDBC driver

    JVM

    C-JDBC driver

    C-JDBC driver

    JVM

    JVM

    Oracle JDBC driver

    EJB Container JOnAS, WebLogic,

    JBoss, WebSphere, ...

    Servlet container Tomcat, Jetty, ...

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 13 - 19/01/2005

    TPC-W benchmark(Amazon.com)

    �Nearly linear speedups with the shopping mix

    0

    200

    400

    600

    800

    1000

    1200

    1400

    1600

    0 1 2 3 4 5 6

    Number of nodes

    Th

    rou

    gh

    pu

    t in

    req

    ues

    ts p

    er m

    inu

    te

    Single Database

    Full replication

    Partial replication

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 14 - 19/01/2005

    Horizontal & Vertical

    scalability

    DB 6DB 5

    DB native JDBC driver

    DB 7

    C-JDBC driver

    DB 1 DB 2

    DB native JDBC driver

    DB 3

    DB native JDBC driver

    DB 4

    C-JDBC controller Full replication

    C-JDBC controller Full replication

    C-JDBC controller Full replication

    C-JDBC controller Full replication

    C-JDBC driverJVM

    Client program

    C-JDBC driver

    JVM

    Client program

    C-JDBC driver

    JVM

    Client program

    C-JDBC driver

    C-JDBC driver

    �adapt and evolveaccording to user needs

    �advanced cachingfunctionalities

    �dynamic adding ofdatabase backends

    �fault toleranttransaction log

    �integrated backupand checkpointing

    �grid & edge-sideservers support

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 15 - 19/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

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 16 - 19/01/2005

    J2EE end-to-end reliability

    �ObjectWeb exclusivity�On-demand availability

    � no SPOF, transparent failover

    �On-demand scalability� scalability, flexibility

    Internet

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 17 - 19/01/2005

    C-JDBC today

    �Web site�~200.000 hits/month�>28.000 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�[email protected]: >200 subscribers, 200-300

    msgs/month�translation in japanese, italian, chinese, turkish, french ,

    german

    �RPM on JPackage.org�Professional support by Emic Networks

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 18 - 19/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

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 19 - 19/01/2005

    Demos

    �Tuesday 18�INRIA booth: 12.00 to 1pm�ObjectWeb booth: 2pm to 2.30pm

    �Wednesday 19�INRIA booth: 10.30am to 11am�ObjectWeb booth: 1pm to 1.30pm

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 20 - 19/01/2005

    Q&A_________

    Thanks to all users and contributors ...

    http://c-jdbc.objectweb.org

  • Bonus slides

  • http://c-jdbc.objectweb.org/ - [email protected] ObjectWebCon’05 - 22 - 19/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


Recommended