Mysql
在 MySQL DBA 面試中我應該問什麼?
我是一名軟體開發人員,正在幫助我的團隊聘請一名 MySQL DBA。我們面臨的核心挑戰是:
- 由於休眠,查詢和性能變慢。
- 數據庫管理(備份、調整、更新檔、安全)。
- 由於來自新數據源的數據增加和舊數據的積累而產生的可擴展性。
- 我們計劃在未來開始數據探勘和數據倉庫。不知道如何,但這是方向。
我們通常有一些程式案例,我們要求開發人員為面試建構一些東西,但是以同樣的方式進行 DBA 面試有點困難。
您能就如何進行面試提出建議嗎?
不是一個完整的列表,而是我將嘗試涵蓋的內容的粗略列表。這還取決於他們是否會成為第一個“真正的”DBA 或 DBA 團隊。DBA 是否也負責機器,或者只負責最重要的數據庫。等等。
- 應該使用什麼 RAID 配置
- 數據庫的備份策略。
- MySQL 特定的東西,例如 MyISAM 和 InnoDB 之間的差異
- 備份策略和恢復
- 讓他們做一些 SQL 查詢和一些查詢優化(即使在使用 hibernate 時也使用解釋等。有時最好繞過 hibernate 來獲得性能)
- 我有沒有提到備份策略
- 對於可擴展性,DBA 應該了解不同的複制模式(RBR、SBR、混合模式複制、複製維護,例如觀察複製滯後和 binlog 維護)
- InnoDB 調整
- 數據庫正在寫入什麼樣的文件(例如,ibdata 和日誌文件)以及如何安排它們(例如,每個表一個 ibdata 文件,在不同的分區上移動它們,InnoDB 壓縮)
- 討論監控工具。您正在使用什麼,他們是否有使用該工具或類似工具的經驗?
- 我還會查看系統工具,例如 iostat/memstat/vmstat/無論您的作業系統提供什麼。給他們一個有一定負載的系統,讓他們找到原因
- 並且可能會討論 MySQL 備份中的問題,尤其是恢復 ;-)
我相信這裡的其他人可以擴展此列表