天天看點

SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

整理分享SequoiaDB 技術簡介

  • 想說兩句
  • 應用與微服務發展
      • 應用架構轉型
  • SequoiaDB 特點
      • SequoiaDB 三大核心應用場景
      • SequoiaDB 計算存儲分離架構
      • SequoiaDB 支援多種資料庫執行個體
      • HTAP讀寫分離能力
      • 多租戶
      • WLM 負載管理能力
      • SQL執行個體增強
      • 存儲引擎增強
      • STP技術
      • 多中心容災能力
  • SequoiaDB 深入介紹
      • 記錄讀寫流程
      • 對象讀寫流程
      • 記錄存儲格式
      • 對象檔案存儲格式
      • 兩階段送出過程
      • 指令執行過程
      • 圖形化監控管理(SAC)
      • 指令行可視化管理
      • 典型部署方式
      • 資料導入導出
      • 準實時資料複制
      • 異步資料複制
      • 資料備份恢複
      • Mysql binlog雙向複制
  • SequoiaDB 分析思路與參考建議
      • 性能分析思路
      • 最佳實踐部署
      • 資料庫重要的配置
      • 供參考的硬體配置
      • InnoDB/SequoiaDB混布模式

想說兩句

  • 巨杉資料庫是國産分布式資料庫的傑出代表作之一。國産資料庫的發展欣欣向榮,代表着中國在科技上面越發的獨立自主,慢慢的不再受制于人。國産并不是說把别人的技術或者方案簡單的借鑒過來就行了,而是在此基礎上的優化與創新。
  • 分布式資料庫的特點有很多,此處隻側重說說巨杉的特色。
    • HTAP:混合事務和分析場景,讀寫分離能力。
    • 計算存儲分離架構:多個執行個體對等讀寫。
    • 支援多種資料庫執行個體:mysql、mariadb、postgresql、sparksql、mongodb、s3、spsix檔案系統。
    • MVCC:支援基于多版本的事務并發控制。
    • STP:支援全局邏輯時間,分布式事務穩定擴充。
    • 本文僅作為了解巨杉的技術簡介分享,中間很多内容不會在此展開。文中智者是表示對老師的尊稱,學者代指自己或者同樣熱愛學習的大家。
    • 說在最後,後續我将會分享更多關于 SequoiaDB的内容,文章圖檔是來源巨杉課程或是技術分享。官網連結link,文章的性質僅僅是學習分享,描述資訊為個人了解所寫,可能會有了解不準或者描述不對的地方,希望大家互相學習探讨并指出,便于糾正錯誤,供更多的愛好者認識巨杉、了解巨杉、使用巨杉。

應用與微服務發展

應用架構轉型

  1. 集中式和分布式都有存在的價值和意義,選擇的理由不能僅僅是為了用分布式資料庫。如果說應用程式開發選用微服務這種面向服務的體系結構,必然就會面對資料庫抉擇的問題。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議
  2. 當集中式存儲無法應對爆發式增長的業務時,最先想到的應該是分庫分表,将資料分散以緩解資料庫的壓力。但是零散的資料對于開發來講反而變成了災難,無異于作繭自縛。此刻你應該想到的是有沒有什麼方法一條sql就能把其他幾個庫裡面的關聯資料統統拿出來,這感覺就像從入門到放棄。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議
  3. 分布式資料庫發展也就是優劣的抉擇,想一個新方法去解決上一個缺陷。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議
  4. 分布式資料庫的特點很多,最主要的就是支援ACID、HTAP、易擴充。當然巨杉資料庫在資料湖的概念上實作基于湖倉一體架構産品,這是值得肯定的。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

SequoiaDB 特點

SequoiaDB 三大核心應用場景

  • 聯機資料、曆史資料、視訊、圖檔、檔案通通放一起,HTAP和内容管理是強項。
  • 如今沒有人還希望隻能明天才能看到今天一共賣了多少錢,或是等銀行晚上跑個批才把錢給你,當然有個特例是為了防騙ATM轉賬還是優化成了24小時到賬!
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

SequoiaDB 計算存儲分離架構

  • 資料庫不同的執行個體都能同時對資料庫進行對等讀寫操作,而存儲引擎統一對資料進行管理。任他風吹雨打,我自巋然不動。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

SequoiaDB 支援多種資料庫執行個體

  • 文法的相容性,可以省去很多中間轉化操作。比如從關系型執行個體中插入一條資料,從文檔型執行個體中讀取出來。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

HTAP讀寫分離能力

  • 讀寫分離能力很重要,分析業務會大量占用聯機交易的資源。
  • 讀寫使用不同的資料節點,使用時互不幹擾,或者說影響很小(強一緻性)。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

多租戶

  • 多租戶隔離與權限控制,集中存放、分開管理互不幹擾。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

WLM 負載管理能力

  • 高負載下的優先級政策,先想好保大還是保小。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

SQL執行個體增強

  • SequoiaDB 5.0版本對sql進行了更加完善的優化,提升了不少的易用性。這點值得肯定與贊揚!
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

存儲引擎增強

  • SequoiaDB 5.0版本在存儲引擎上的重大更新。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

STP技術

  • 讓分布式事務更加穩定,才能放心大膽的擴充節點。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

多中心容災能力

  • 活着比什麼都重要!
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

SequoiaDB 深入介紹

記錄讀寫流程

  • 這張圖描述了一條sql在巨杉中間執行的一個流程。
  • 執行計劃下壓是很重要的優化點,sql寫的好不好差距很大,希望我能寫到總結sql優化的部分。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

對象讀寫流程

  • 檔案的存放需要對檔案進行資料塊切分,資料塊分别存放到不同資料節點中。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

記錄存儲格式

  • 分頁存儲
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

對象檔案存儲格式

  • LOBM邏輯結構:分桶存放,記錄檔案位置。
  • LOBD邏輯結構:檔案實際存放頁面。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

兩階段送出過程

  • 兩階段送出這種方法自身是存在缺陷的,智者肯定考慮過這些問題,或許從側面入手解決了問題。學者愚鈍不敢妄加猜想。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

指令執行過程

  • 智者以mysql為例,較長的描述了指令在不同階段的執行過程。令學者對巨杉在執行流程上有了更清晰的了解。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

圖形化監控管理(SAC)

  • 圖形化操作是省時省力的好方法,新搭叢集、實時監控、擴縮容等,按照操作正常使用不會有問題。但是像我一樣瞎搞在遇到報錯的情況,基本上隻能憑運氣看通過指令行能不能修複。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

指令行可視化管理

  • SDBTOP指令行可視化在實際使用中應該更常見,隐藏功能多,不熟悉的情況下還是會很懵逼。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

典型部署方式

  • 主流技術都是采用三副本機制來保證資料的可靠性。
  • 資料庫執行個體與協調節點(Coord)在同一台機器是為了避免走網絡影響效率。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

資料導入導出

  • 支援的資料源越多,遷移越容易。好用才是硬道理!
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

準實時資料複制

  • 簡單粗暴的描述就是說走ETL,當然有更好的工具肯定選工具喽!
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

異步資料複制

  • 搞個定時任務腳本,腳本裡面從不同的庫導出标準的json或者csv格式的資料,通過巨杉的導入工具導入即可。當然網絡隔離的系統,最差情況就是自己手工一步步做了。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

資料備份恢複

  • 資料的備份恢複,可以使用資料庫執行個體的方法。
  • 巨杉資料庫提供了自身的全量、增量備份方法,用法也還挺簡單的。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

Mysql binlog雙向複制

  • Mysql的100%相容,利用binlog,可以直接換。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

SequoiaDB 分析思路與參考建議

性能分析思路

  • 智者總結的挺全面,學者可以參考分析可能影響性能的原因!
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

最佳實踐部署

SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

資料庫重要的配置

  • 分布式叢集的重要參數
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議
  • Mysql執行個體的重要參數
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議
    - 分布式叢集 事務 相關重要參數
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

供參考的硬體配置

  • 聯機交易最需要的是CPU和記憶體。
  • 資料中台多用于查詢CPU需求弱于聯機,但存儲需求量大。
  • 影像平台最需要存儲空間,其他都可以降低。
  • tips:使用時應該按照實際需求量來考慮硬體配置,太過鋪張浪費也沒必要。
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議

InnoDB/SequoiaDB混布模式

  • 資料庫表分批遷移的方法,學者未深入了解。或許在特殊場景下會比較适用…
    SequoiaDB 技術簡介想說兩句應用與微服務發展SequoiaDB 特點SequoiaDB 深入介紹SequoiaDB 分析思路與參考建議