Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PowerPoint Format


Published on

  • Be the first to comment

  • Be the first to like this

PowerPoint Format

  1. 1. Mysql – Clusters
  2. 2. Sleeping Pills <ul><li>Clustering – What is it? </li></ul><ul><li>Mysql Clustering – Native Support. </li></ul><ul><li>EMIC Enterprise Application Cluster for Mysql. </li></ul><ul><li>Leveraging Novell Clustering Services for Mysql. </li></ul><ul><li>Cluster JDBC. </li></ul><ul><li>Oracle RAC. </li></ul><ul><li>Mysql Native Clustering support future. </li></ul>
  3. 3. 1. About Clustering <ul><li>Clustering : What is it? </li></ul><ul><ul><ul><li>Shared Disk Approach. </li></ul></ul></ul><ul><ul><ul><li>Shared Nothing Approach. </li></ul></ul></ul><ul><ul><ul><li>Federated Databases. </li></ul></ul></ul><ul><li>Need for it : </li></ul><ul><ul><ul><li>Load Balancing. </li></ul></ul></ul><ul><ul><ul><li>Fault tolerance. </li></ul></ul></ul><ul><ul><ul><li>Scalability. </li></ul></ul></ul><ul><ul><ul><li>Sometimes Online Backup tooo  . </li></ul></ul></ul>
  4. 4. About Clustering (contd..) <ul><ul><li>Important Features of clustering : </li></ul></ul><ul><ul><ul><li>IP Sharing. </li></ul></ul></ul><ul><ul><ul><li>Seemless Connections on Fail over. </li></ul></ul></ul><ul><ul><ul><li>Complete Abstraction to applications on Clustering functions. </li></ul></ul></ul><ul><ul><ul><li>Centralized Management of cluster nodes. </li></ul></ul></ul>
  5. 5. 2. Mysql Clustering – Native Support. <ul><li>Mysql Natively has these two options for clustering. </li></ul><ul><ul><ul><li>Shared Nothing Approach : Replication. </li></ul></ul></ul><ul><ul><ul><li>Shared Data Directory . </li></ul></ul></ul>
  6. 6. Mysql-Replication How do they work? Master Slave1 Slave 2 Clients Doing Selects Clients Doing Updates Insert & Update Insert & Update Selects Select
  7. 7. Mysql-Replication (contd.) Source – BS2003 presentation TUT205 <ul><li>How are they Useful? </li></ul><ul><ul><ul><li>Load Balancing. </li></ul></ul></ul><ul><ul><ul><li>Fault tolerance. </li></ul></ul></ul><ul><ul><ul><li>Scalability. </li></ul></ul></ul><ul><ul><ul><li>Online Backup </li></ul></ul></ul>S1 S2 S3 M1 Client1 Client2 Client1 Client2 S3 S1 S2 M1 When M1 goes Down
  8. 8. Mysql Replication (Contd.) <ul><li>Issues and some obvious reasons !!!. </li></ul><ul><ul><ul><li>Slaves Always lag behind the Master. </li></ul></ul></ul><ul><ul><ul><li>Virtual IPAddress?? </li></ul></ul></ul><ul><ul><ul><li>Scalability is Limited to Number of selects?? </li></ul></ul></ul><ul><ul><ul><li>No Abstraction provided to Client. </li></ul></ul></ul><ul><li>Solution :- </li></ul><ul><li>Use Spread or Message passing for synchronous replication </li></ul><ul><li>Two Phase commit approach. </li></ul>
  9. 9. Mysql – Shared Data Directory. <ul><li>How to set up? </li></ul><ul><li>2. How are they Useful ? </li></ul><ul><ul><ul><li>Provides all the functionalities of replication. </li></ul></ul></ul><ul><ul><ul><li>Master and slaves will be always in sync. </li></ul></ul></ul>Server1 Server2 Shared Data dir
  10. 10. Shared Data directory (contd.) <ul><li>Issues & Some obvious reasons. </li></ul><ul><li>a. Locking issues with Innodb. </li></ul><ul><li>b. query caches might result in false data. </li></ul><ul><li>c. Very slow over Network File System or Remote File system that can be shared across two machines. </li></ul>
  11. 11. <ul><li>What is it? </li></ul><ul><ul><ul><li>Provides Application Level clustering. </li></ul></ul></ul><ul><ul><ul><li>Uses shared Nothing Approach. </li></ul></ul></ul><ul><ul><ul><li>Comprehensive clustering solution for Mysql. </li></ul></ul></ul>3. EMIC EAC for Mysql
  12. 12. EMIC EAC For Mysql (Contd..) 2. Software Architecture. EMIC EAC Software Architecture
  13. 13. EMIC EAC For Mysql (Contd..) 3. How it works.
  14. 14. EMIC EAC for Mysql ( Contd…) <ul><li>4. What are the clustering features do they address? </li></ul><ul><ul><ul><li>Dynamic Load Balancing. </li></ul></ul></ul><ul><ul><ul><li>Seemless connections. </li></ul></ul></ul><ul><ul><ul><li>Virtual IP. </li></ul></ul></ul><ul><ul><ul><li>Scalability. </li></ul></ul></ul><ul><ul><ul><li>Complete transparency and Centralized Mangement. </li></ul></ul></ul><ul><ul><ul><li>Cons : </li></ul></ul></ul><ul><ul><ul><ul><li>Might be slower than because of additional complex clustering logic provided by EMIC ( Not tested Hence No data.. I have started testing it If data proves assumption wrong then I will remove this  ) </li></ul></ul></ul></ul>
  15. 15. 4. Leveraging NCS for Mysql on Netware <ul><li>What is NCS? </li></ul><ul><ul><ul><li>Clustering framework for all services running on NetWare 6 and above. </li></ul></ul></ul><ul><ul><ul><li>Shared disk approach through SAN (Fibre channel) or ISCSI. </li></ul></ul></ul>Server1 Server2 Server3 Server1 Server2 Server3 Fibre Channel Switch Shared Disk System
  16. 16. NCS for Mysql on Netware (Contd..) <ul><li>Clustering Features Addressed!!! </li></ul><ul><ul><ul><li>Fault tolerance. </li></ul></ul></ul><ul><ul><ul><li>Virtual IP Address. </li></ul></ul></ul><ul><ul><ul><li>Seemless connections. </li></ul></ul></ul><ul><ul><ul><li>Complete Abstraction and Centralized management through e-directory. </li></ul></ul></ul><ul><ul><li>Features that can be Added. </li></ul></ul><ul><ul><ul><li>Application level load balancing is not yet supported for Mysql through NCS. NCS provides load balancing by moving the applications across different Machines. Load balancing by running the same applications in two Cluster nodes is not yet provided. </li></ul></ul></ul>
  17. 17. 5. Cluster JDBC <ul><li>What is it? </li></ul><ul><ul><ul><li>Database cluster middleware through jdbc driver. </li></ul></ul></ul><ul><ul><ul><li>Provides clustering support only for Java Applications. </li></ul></ul></ul><ul><ul><ul><li>It provides complete abstraction to java applications accessing cluster databases. </li></ul></ul></ul><ul><ul><ul><li>Provides clustering support across Multiple database types. </li></ul></ul></ul><ul><ul><ul><li>Open source software under LGPL. </li></ul></ul></ul>
  18. 18. Cluster JDBC (Contd…) <ul><li>Software Architecture </li></ul>
  19. 19. Cluster JDBC (Contd…) <ul><li>Pros </li></ul><ul><ul><ul><li>Scalability. </li></ul></ul></ul><ul><ul><ul><li>Load Balancing. </li></ul></ul></ul><ul><ul><ul><li>Fault tolerance. </li></ul></ul></ul><ul><ul><ul><li>Client Side abstraction (Very minimal changes to the Java applications). </li></ul></ul></ul><ul><ul><ul><li>Seemless connections. </li></ul></ul></ul><ul><li>Cons </li></ul><ul><ul><ul><li>Slow because of one layer of additional processing. </li></ul></ul></ul><ul><ul><ul><li>Only Java applications can leverage them. </li></ul></ul></ul>
  20. 20. 6. Oracle RAC <ul><li>How is clustering done? </li></ul><ul><ul><ul><li>Shared Disk Approach. </li></ul></ul></ul><ul><ul><ul><li>Cache Fusion Architecture. </li></ul></ul></ul><ul><li>Architecture. </li></ul>Cluster Interconnect Shared storage Subsystem
  21. 21. <ul><li>Pros </li></ul><ul><ul><ul><li>Scalability. </li></ul></ul></ul><ul><ul><ul><li>Load Balancing through Funtion shipping and Data Shipping. </li></ul></ul></ul><ul><ul><ul><li>High Availability (handles N-1 Node failures) </li></ul></ul></ul><ul><ul><ul><li>Seemless connections. </li></ul></ul></ul><ul><ul><ul><li>Data access during recovery. </li></ul></ul></ul><ul><li>Cons </li></ul><ul><ul><ul><li>VirtualIP Address is not supported. </li></ul></ul></ul>Oracle RAC
  22. 22. 7. Mysql clustering Native Support-Future <ul><li>NDB </li></ul><ul><ul><li>What is it? : It’s the cluster technology that Mysql has got through the Acquisition of Alzato. </li></ul></ul><ul><ul><li>What might be native clustering support in Mysql in Future through NDB? </li></ul></ul>