1. 程式人生 > 其它 >高併發,高效能,高可用MySQL 實戰-未來的資料庫什麼樣

高併發,高效能,高可用MySQL 實戰-未來的資料庫什麼樣

mysql8.0有什麼新特性

  1. 視窗函式(window functions)
  • 以某個列為分隔,分為多個視窗
  • 在視窗內執行特定函式
    select *,rank() over (partition by customer_id ORDER BY amount desc) as ranking from payment;
  1. 隱藏索引
  • 暫時隱藏某個索引
  • 可以通過隱藏和顯示索引,來測試索引的作用
show index from payment;

alter table payment alter index fk_payment_rental invisible;  # 隱藏索引

alter table payment alter index fk_payment_rental visible;  # 顯示索引

  1. 降序索引
  • 8.0之前只有升序索引
  • 對於很多本來能走索引覆蓋的語句,升序索引無法覆蓋
  • 降序索引解決了此問題
  1. 通用表表達式

  2. UTF-8編碼

  • utf8mb4作為mysql的預設字符集
  1. DDL事務
  • 8.0支援DDL事務,元資料操作可以回滾

InnoDB Cluster和PXC有什麼區別

  • InnoDB Cluster

  • PXC

資料庫有哪些分類

  1. 按用途分類
  • OLTP(online transaction processing)
  • OLAP(online analytical processing)
  • HATP(hybrid transaction/analytical processing)

(1). OLTP

  • 線上事務(交易)處理系統
  • sql語句不復雜,大都處於事務中
  • 併發量大,對可用性要求高
  • mysql/postgresql

(2). OLAP

  • 線上分析處理系統
  • sql語句複雜,資料量大
  • 一般以單個事務為單位
  • hive/sparksql/greenplum

(3). HTAP(hybrid transaction/analytical processing)

  • 混合事務/分析處理
  • 混合了兩種資料庫的特點,實現了一種架構多功能
  1. 按儲存形式分類
  • 行存
  • 列存
  • KV
  1. 按架構分類
  • shared everything
  • shared memory
  • shared disk
  • shared nothing
  1. 總結:
  • 按用途分類:OLTP、OLAP、HTAP
  • 按儲存分類:行存、列存、KV
  • 按架構分類:shared everything、shared memory、shared disk、shared nothing

誰是單體資料庫之王

  1. PostgreSQL特點
  • 與mysql類似
  • 效能更好,更穩定
  • 程式碼質量更高
  • 有趕超mysql的趨勢
  1. Postgres-XL(OLTP)
  • GTM管理每個事務的執行
  • coordinator解析sql,制定執行計劃,然後分發
  • DataNode返回執行結果到coordinator
  1. GreenPlum(OLAP)
  • 高效能sql優化器: GPORCA
  • slice執行模式
  1. 總結:
  • PostgreSQL是一個完全可以替代mysql的高效能資料庫
  • Postgres-XL是基於Postgres的分散式事務叢集
  • GreenPlum是基於Postgres的分散式分析叢集

mysql能魔改成什麼樣

  1. polardb架構圖

  2. 日誌傳送VS共享儲存

  3. 備庫如何查詢資料

  4. 總結

  • PolarDb對mysql進行了魔改
  • 採用了shared disk共享儲存的架構
  • 將三種log簡化為一種redo log

誰在支援雙十一

  1. OceanBase
  • 是一個newsql資料庫,是HTAP型別的資料庫,有行列混存
  1. OceanBase的查詢與更新

誰是國產資料庫最閃亮的星

  1. Tidb
  • 一鍵水平擴容或者縮容
  • 金融級高可用
  • 實時HTAP
  • 雲原生的分散式資料庫
  • 相容Mysql5.7協議和mysql生態
  1. tidb整體架構圖

  2. tidb server層到儲存層的呼叫

  3. tidb協議

打不死的小強

  1. cockroachDB
  • 2015年啟動,由google前員工發起
  • 完全開源
  • 分散式shared-nothing架構
  • 相容PostgreSQL協議
  1. cockroachDB架構圖
  • 分層架構
  • 每個節點底層都為RocksDB
  • 使用raft作為共識協議