<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GitHub底層數據庫無縫升級到MySQL 8.0的經驗

OSC開源社區 ? 來源:OSC開源社區 ? 2023-12-13 10:21 ? 次閱讀

GitHub 團隊近日分享了他們將 GitHub.com 的底層數據庫無縫升級到 MySQL 8.0 的經驗。 據介紹,GitHub 使用 MySQL 來存儲大量關系數據,因此在不影響網站服務級別目標 (SLO) 的情況下升級主機集群(1200 多臺 MySQL 主機)絕非易事。其團隊表示,為了升級到 MySQL 8.0,他們規劃、測試和升級本身總共花費了一年多的時間,并且需要 GitHub 內部多個團隊的協作。

fe8b663a-98e2-11ee-8b88-92fbcf53809c.png

GitHub 的 MySQL 基礎設施概覽:

由 1200 多臺主機組成,包括數據中心中的Azure 虛擬機和裸機主機

存儲超過 300 TB 的數據,并在 50 多個數據庫集群中每秒處理 550 萬次查詢

每個集群都配置為具有主副設置的高可用性

分區存儲數據 —— 利用水平和垂直分片來擴展 MySQL 集群,以及使用 MySQL 集群來存儲特定產品領域的數據。此外還為大結構域 (large-domain) 提供了水平分片的 Vitess 集群,這些區域的增長超出了單主 MySQL 集群的規模

龐大的工具生態,包括 Percona Toolkit、gh-ost、orchestrator、freno 和用于操作主機集群的內部自動化工具

由于需要操作兩個版本的 MySQL,因此 GitHub 內部使用的工具和自動化設施需要能夠兼容處理混合版本,并了解 5.7 和 8.0 之間新的、不同的或已棄用的語法。 為了滿足可用性標準,GitHub 團隊采取了逐步升級策略,滿足在整個過程中進行 checkpoint 和回滾的需求。下面是他們制定的升級計劃:

步驟 1:升級滾動副本 (rolling replica)

fe9570b2-98e2-11ee-8b88-92fbcf53809c.png

步驟 2:升級備份拓撲 (replication topology)

fea5e000-98e2-11ee-8b88-92fbcf53809c.png

步驟 3:將 MySQL 8.0 主機提升為主集群

fea9b2ca-98e2-11ee-8b88-92fbcf53809c.png

步驟 4:升級面向內部的實例類型

步驟 5:清理,確認集群不需要回滾并成功升級到 MySQL 8.0 后,刪除 5.7 服務器。驗證工作會至少經歷一個完整的 24 小時流量周期,以確保在高峰流量期間不會出現問題。

至于為什么要升級到 MySQL 8.0,GitHub 團隊表示主要是因為 MySQL 5.7 的生命周期即將結束。此外升級后可以獲得最新安全補丁、錯誤修復和性能增強的 MySQL 版本。他們還希望測試 8.0 中的新功能并從中受益,包括即時 DDL、隱形索引和壓縮的 bin 日志等。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 主機
    +關注

    關注

    0

    文章

    911

    瀏覽量

    34680
  • 數據庫
    +關注

    關注

    7

    文章

    3618

    瀏覽量

    63636
  • MySQL
    +關注

    關注

    1

    文章

    776

    瀏覽量

    26079
  • GitHub
    +關注

    關注

    3

    文章

    458

    瀏覽量

    16017

原文標題:GitHub.com跑了1200多臺MySQL主機,如何無縫升級到8.0?

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    labview有調用mysql數據庫問題????

    labview有調用mysql數據庫,請問labview打包成exe安裝檔,怎么把mysql數據庫打包進來,是mysql
    發表于 05-19 16:17

    labview無法將中文寫入mysql數據庫

    labview直接把中文過濾掉了。。數據庫Mysql,服務器、數據庫、客戶端的字符編碼都已經設置為GB2312(之前的經驗,貌似Labview默認的字符編碼是GB2312)。如下圖:
    發表于 12-17 00:02

    mysql數據庫設計步驟

    mysql數據庫設計和優化
    發表于 05-13 11:00

    mysql數據庫發展流程概述

    mysql數據庫基礎知識
    發表于 07-15 11:26

    mysql數據庫跑在docker

    在docker中使用MySQL數據庫
    發表于 08-15 14:26

    mysql數據庫操作指南

    mysql數據庫sql語句基礎知識
    發表于 09-18 09:06

    MySQL數據庫使用

    關于MySQL數據庫的簡單操作
    發表于 10-24 14:32

    labview插入數據MySQL數據庫

    最近在用labview寫入數據MySQL數據庫,遇到一個問題:(如圖片所示)利用insert指令插入數據,為什么每次插入單個值都會新起一行
    發表于 12-26 16:52

    mySQL數據庫介紹

    mySQL數據庫01
    發表于 06-04 14:36

    Mysql數據庫的基本操作

    Mysql數據庫入門-基本操作
    發表于 06-08 17:18

    c#如何連接mysql數據庫

    (visual studio)c#連接mysql數據庫
    發表于 06-13 20:56

    如何通過NodeMCU將傳感器數據存儲MySQL數據庫

    本文將演示如何通過 基于 ESP8266 的 NodeMCU,把通過 DHT11 傳感器搜集的溫、濕度數據通過 MQTT 協議將其存儲 MySQL
    發表于 11-03 08:34

    MySQL數據庫索引的底層是怎么實現的

    前言就我個人所知,MySQL目前已經作為絕大數項目的數據庫選擇。但是經常會需要去處理慢sql導致的各類問題。索引,作為一種常見的處理方式。思考兩個問題:1.為什么加了索引以后,數據庫的查詢效率會加
    發表于 07-28 15:30

    ESP8266如何連接mysql數據庫

    ,按照示例想連接mysql數據庫時出現異常,exception(28),然后不斷重啟,不知道為什么,有誰連接過嗎 ,能否分享一下經驗,謝謝。
    發表于 01-12 09:22

    底層數據庫是什么

    底層數據庫系統原理
    發表于 01-11 14:25 ?0次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>