讀高性能MySQL(第4版)筆記19_雲端和合規性

来源:https://www.cnblogs.com/lying7/archive/2023/10/25/17784568.html
-Advertisement-
Play Games

1. 如何構建資料庫環境 1.1. 托管MySQL 1.2. VM上構建 1.3. 天下沒有免費的午餐,每一個選擇都伴隨著一系列的權衡 2. 托管MySQL 2.1. 服務商提供了一個可訪問的資料庫設置程式,而不需要用戶深入瞭解MySQL的具體細節 2.2. 使用托管MySQL將缺乏很多的可見性和控 ...


1. 如何構建資料庫環境

1.1. 托管MySQL

1.2. VM上構建

1.3. 天下沒有免費的午餐,每一個選擇都伴隨著一系列的權衡

2. 托管MySQL

2.1. 服務商提供了一個可訪問的資料庫設置程式,而不需要用戶深入瞭解MySQL的具體細節

2.2. 使用托管MySQL將缺乏很多的可見性和控制能力

2.3. Aurora MySQL

2.4. 谷歌雲平臺(GCP)提供了CloudSQL

3. Aurora MySQL

3.1. Aurora MySQL是一個相容MySQL的托管資料庫

3.2. 將計算和存儲分開,這使二者可以更靈活地單獨擴展

3.3. Aurora中的所有托管解決方案都不相容MySQL 8.0,而一些較舊的解決方案只相容MySQL   5.6

3.4. 標準的Aurora產品是長期運行的計算實例,在其中選擇一個實例類型

3.5. Aurora集群內的複製完全是Amazon專有的,而不是我們在Oracle MySQL中所知道和使用的複製

3.6. Aurora無伺服器(Serverless)

3.6.1. Aurora MySQL的無伺服器服務移除了長期運行的計算程式,並利用亞馬遜的無伺服器平臺為資料庫的計算層提供服務

3.7. Aurora全局資料庫(Global Database)

3.8. Aurora多主節點(Multi-Master)

3.8.1. 多主節點是Aurora集群的一種特殊風格,可以同時在多個計算節點上接受寫操作

4. GCP Cloud SQL

4.1. Cloud SQL是GCP的托管MySQL的產品

4.2. 它運行的是社區版MySQL,但特別禁用了某些功能,以實現產品的多租戶和可管理

4.3. SUPER許可權被禁用

4.4. 插件載入功能被禁用

4.5. 一些客戶端也被禁用了,如mysqldump和mysqlimport

4.6. 原生的高可用性支持

4.7. 靜止數據的原生加密

4.8. 使用多種方法實現靈活管理的升級

5. 虛擬機上的MySQL

5.1. 在虛擬機上運行MySQL就像在裸金屬伺服器上運行一樣,你可以完整和徹底地控制所有的操作面

5.2. CPU

5.2.1. 虛擬CPU,而不是物理CPU

5.2.2. vCPU數量的計數公式

5.2.2.1. (CPU核的數量×95%CPU總使用量)×2

5.2.2.2. 建議將50%作為常規的使用率目標,最高可達到65%~70%

5.2.2.3. 如果維持在70%或更高的CPU使用率,將可能會看到延遲增加,此時應該考慮添加更多的CPU

5.2.3. 運行的是一個高流量的Web應用程式,則可能需要確保使用更新一代的晶元

5.3. 記憶體

5.3.1. RAM可以極大地影響MySQL的性能

5.3.2. 應為工作數據集選擇最適合需求的機器規格,但錯誤的做法是RAM太多而不是不夠

5.4. 網路性能

5.4.1. 如果有一個將讀取大量數據的批處理進程,則你可能會發現在較小的機型上帶寬已耗盡

5.5. 選擇正確的磁碟類型

5.5.1. 高讀密集型的工作負載將受益於更多的記憶體而不是磁碟性能,因為記憶體訪問要快幾個數量級

5.5.2. 如果工作集大於InnoDB緩衝池,那麼將總是需要到磁碟上讀取一些數據

5.5.3. 寫密集型的工作負載總是會轉移到磁碟上,這也是大多數人第一次看到磁碟瓶頸的地方

5.6. 磁碟的連接類型

5.6.1. 本地連接磁碟的好處是,其提供了令人難以置信的高性能和一致的吞吐量,但也很容易導致數據丟失

5.6.1.1. 被視為僅用於短暫數據的磁碟

5.6.2. 網路連接的磁碟可提供冗餘和可靠性

5.6.2.1. 網路連接的磁碟可能會遇到本地連接的磁碟不會出現的停頓

5.6.3. 還可以使用磁碟快照技術讓副本複製變得非常快,即使在許多TB級大小的磁碟上

5.6.3.1. 可以讓需要在副本可用之前趕上來的複製的延遲降到最低

5.7. SSD與HDD

5.7.1. SSD的啟動速度比HDD快兩到三倍

5.7.2. 如果啟動時間很重要,特別是在停機或重新啟動的情況下,那麼請始終使用SSD

5.8. IOPS和吞吐量

5.8.1. Percona Toolkit包中的pt-diskstats

5.9. 只允許伺服器恢覆在線和複製,以讓它自己自然地重新連接

5.9.1. 使用SSD引導磁碟來允許儘可能快地重新啟動。通常系統會在5分鐘內恢覆在線

5.9.2. 禁止長達5分鐘時間內的任何伺服器宕機的告警通知,以使系統完全重啟並恢復正常

5.9.3. 如果源伺服器重新啟動,你可以編寫一個選項來動態關閉read_only標誌,從而讓寫入在沒有人工干預的情況下繼續進行

5.9.4. 通過自動地向可能需要瞭解中斷的團隊或渠道發送郵件或消息,來讓溝通最大化

5.10. 建議將操作系統和MySQL數據分開

5.10.1. 磁碟快照將僅限於MySQL數據,並且不包含任何操作系統信息

5.10.2. 在使用網路連接的磁碟的情況下,可以輕鬆地斷開磁碟的連接並重新連接到另一臺機器

5.10.3. 對於網路連接的磁碟,還可以升級或替換操作系統,而不必將數據重新複製到文件系統中

5.11. 備份二進位日誌

5.11.1. 將二進位日誌發送到一個存儲桶中

5.11.2. 在桶上設置生命周期控制,以便在一段確定的時間後自動清除舊文件

5.11.3. 阻止在特定時間之前刪除文件,或完全不允許刪除

5.11.4. 控制誰可以讀取或刪除這些數據對於維護安全的備份策略至關重要

5.11.5. 建議允許所有資料庫機器寫入,但沒有機器能夠讀取或刪除。分別或同時控制受限賬戶、機器的讀取和刪除

5.12. 自動擴展磁碟

5.12.1. 對於網路連接的磁碟,需要為預分配的而不是已使用的空間付費

5.12.2. 一種優化方法是將磁碟空間使用率目標提到更高的百分比

6. 合規性

6.1. DBA的工作並不局限於在業務運行時管理這些數據,還需要幫助企業保護數據,並使數據符合法律要求,或獲得對企業至關重要的監管認證

6.2. 合規是一個涉及政策和控制的廣泛領域,對每種政策和控制的解釋也很多

6.3. GRC

6.3.1. 治理(Governance)

6.3.2. 風險管理(Risk management)

6.3.3. 合規性(Compliance)

6.4. 控制是公司內部定義的流程和規則,用於減少意外風險結果發生的概率

6.5. 合規性的構建是一個持續的過程,在需要的時候不容易“添加”

6.6. 法規法案

6.6.1. 服務組織控制類型2(SOC 2)

6.6.2. 2002年發佈的薩班斯-奧克斯利法案(SOX)

6.6.3. 支付卡行業數據安全標準(PCI-DSS)

6.6.4. 1996年發佈的《健康保險可攜帶性和責任法案》(HIPAA)

6.6.5. 聯邦風險和授權管理計劃(FedRAMP)

6.6.6. 通用數據保護條例(GDPR)是歐盟於2016年推出的

6.6.7. 2020年,歐盟司法法院裁決了歐盟和Facebook愛爾蘭分部之間的一樁案件。這項通常被稱為Schrems II

6.7. 不要共用用戶

6.7.1. 不要跨服務共用資料庫憑據

6.8. 不要在代碼倉庫中提交生產資料庫憑據

6.8.1. 一種常見的做法是在合併一個pull請求之前,掃描代碼庫尋找潛在的機密字元串(GitHub等代碼倉庫托管服務可以實現

6.9. 確保密碼始終以加密方式而不是以明文形式存儲

6.9.1. 機密信息的長度做了限制,如果想存儲比資料庫的用戶和密碼對更長的內容,可能會導致意外

6.10. 區域的可用性

6.11. 角色與數據分離

6.11.1. 基於數據泄露將給企業或客戶帶來的風險等級對數據進行分離

6.12. 出於合規性原因進行分片

6.13. 獨立的資料庫用戶

6.14. 跟蹤變更

6.14.1. 很多合規性法規都附帶了跟蹤變更的控制措施

6.15. 很多合規性法規都附帶了跟蹤變更的控制措施

6.16. ⑩數據訪問日誌

6.16.1. 要求維護特定數據集的變更日誌或訪問日誌

6.16.2. Percona審計日誌插件是Percona發行的MySQL分支的一部分,但是預設情況下沒有安裝或啟用

6.17. ⑾schema變更的版本控制

6.18. 建議設置這樣一個策略:“刪除六個月內未連接過資料庫的用戶”。這一做法將有助於防止使用不需要的、現在已成為負擔的訪問

7. 不建議使用觸發器

7.1. 觸發器會導致寫性能下降,這會在最糟糕的時候對性能造成影響

7.2. 觸發器相當於在資料庫中存儲業務邏輯,這是不推薦的

7.3. 在資料庫中存儲代碼可能會繞過測試、轉移和部署代碼的任何過程。觸發器可能意外地導致故障

7.4. 觸發器只能支持跟蹤寫入操作。無法擴展成可以跟蹤讀取訪問的解決方案


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • aspnetcore微服務之間通信grpc,一般服務對外介面用restful架構,HTTP請求,服務之間的通信grpc多走內網。 以前寫過一篇grpc和web前端之間的通訊,代碼如下: exercisebook/grpc/grpc-web at main · liuzhixin405/exercis ...
  • 文件類型和擴展名 文件種類 常規文件 純文本文件(ASCII) 二進位文件(binary) 數據文件(data) 在ls -al顯示屬性為[-] 目錄 在ls -al顯示屬性為[d] 鏈接文件 區塊設備文件:[b] 字元設備文件:[c] 數據介面文件:[s] 數據輸送文件FIFO:[p] 擴展名 L ...
  • 1.編譯過程 1.1 預處理(Pre-Processing) 展開頭文件, 巨集替換(變數巨集、函數巨集)、替換空格等 gcc -E hello.c -o hello.i // -E 預處理選項, -o 重命名 1.2 編譯(Compilation) 逐行檢查程式中出現的語法錯誤,簡單的邏輯錯誤 gcc ...
  • 首先,對於Ai-WB2系列環境的構建官方文檔已經講的非常明白了,這裡不做闡述如下鏈接所示https://blog.csdn.net/Boantong_/article/details/128480919 本人親自測試可行,請嚴格follow官方的steps。 另外需要註意的是,為了避免錯誤,儘量不要 ...
  • 開發板:STM32F407ZGT6; 目標:想使用軟體“串口調試助手” 情況:開發板上的USB_UART口所在器件損壞或者直接沒有; 解決辦法:查看該開發板的原理圖,可得:串口1的RX接TXD,串口1的TX接RXD,那麼按如下步驟操作:1、現在使用USB轉TTL模塊,將串口1的RX接USB轉TTL模 ...
  • @目錄1. 安裝 ocserv (OpenConnect server)2.生成證書1) 創建工作文件夾2) 生成 CA 證書3) 生成本地伺服器證書4) 生成客戶端證書(不生成)3. 配置 ocserv4.創建用戶5.配置系統設置1) 開啟內核轉發2) 配置iptables規則(不需要配置)3) ...
  • 前言 為了出門方便,我萌生出將Ubuntu放在U盤中的想法。我們都在硬碟上安裝Linux,我個人覺得在U盤上安裝和在硬碟上安裝步驟一致,因為U盤也可以分區使用。我的安裝方法為使用Ubuntu官方鏡像中的grub.efi作為引導,然後正常安裝,只是在安裝過程中的硬碟分區選擇U盤即可。 準備工作 安裝引 ...
  • atexit 處理器中再次調用 exit 為什麼能正常運行?atexit 處理器中再次調用 atexit 註冊的函數為什麼能正常被調用?帶著這些疑問來看看 glibc 是用什麼數據結構存儲終止處理器的,另外看看列印這些結構時遇到了哪些問題 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...