開源的 MySQL 叢集資料庫完美的解決大型網路應用的擴充性問題 - 杜修文

Loading embed note

從這開始

NDB cluster
https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster.html

DB-Engines Ranking
https://db-engines.com/en/ranking

  • MySQL 8.0 持續增強性能:

    • SysBench IO Bound Read Only (Point Selects)
    • 比 MySQL 5.7 快兩倍
  • Deploy: MySQL Enterprise Edition

    • Support
      • Reactive and Consultative Support
    • Assess
      • MySQL Enterprise Monitor
    • Prevent
      • MySQL Enterprise Authentication
      • MySQL Enterprise Firewall
    • Detect
    • Recover
      • MySQL Enterprise HA
  • MySQL as a Service

    • Powerful union of MySQL Enterprise Edition & Oracle Cloud Infrastrutre.
  • MySQL Analytics Service

    • Single System for OLTP and Analytics
      • OLTP Applications
      • MySQL Platform
        • Automatic, REal-time, Data Propgation
        • In-Memory Analytics
      • BI & Analytics
        • Live Reporting
        • Real-Time Queries
  • Query Processing Integration?

    • DBMS
      • SQL Query Compileer
      • Query Optimization
      • SQL Execution
    • RAPID Node
      • RAPID Server
      • Setep for Execution
      • Query / Job Scheduler
      • Query Execution
  • MySQL 高可用方案

    • 雞蛋要放在多個籃子

    • 但是,這還是一樣的蛋嗎?(雞蛋變成鵪鶉蛋?)

    • MySQL Replication

      • Asynchronous replication
    • MySQL Group Replication

      • Shared Nothing Active/Active (Primary/Secondary)
    • Shared Disk Based Active/Passive

    • MySQL Cluster

      • Shared Nothing Active/Active
  • 高可用應注意事項

    • 高可用意味著快速恢復和繼續處理的能力
    • 應用層要能處理故障移轉的情況
      • 如果合適實施 retry logic
      • 通常在 communicationExceptions 處理
  • MySQL Cluster Scaling

    • Clients
    • Application Layer
    • Data Layer (MSQL Clouster Data Nodes)

NDB 傳輸引擎?

  • MySQL Cluster 的線性增長力
    • 以 Cluster / J 直接對 Data Node 可做到 2 億 QPS。
    • 以 Connector / J 對 SQL Node 可做到每秒 250 萬個 SQL。
  • 高可用
  • 高的吞吐量
  • Connector/J 的 JDBC 上的故障移轉

    • JDBC URL format,第一個主機為 master,第二個以後為 backup。
    • Conneciton 的 faileover 屬性
  • 性能比較

    • Cluster / J 的增刪改的性能非常好,幾乎和 native NDB API 差不多,查詢為一般 JDBC 的兩倍。
    • 資料存於 Data Nodes 和 SQL 節點看的是同一組資料集。
    • 複雜的查詢可以透過 SQL 指令查,K/V 的操作以 Cluster / J 加快操作速度。
    • 同時保有高可用和擴充性。

Using ClusterJPA (part of MySQL Cluster Connector for Java) – a tutorialw

ClusterJPA Performance

tags: MOPCON 2020
Select a repo