รู้ไว้ใช่ว่า ใส่บ่าแบกหาม 💥💥
Database ถ้ามีผู้ใช้งานไม่กี่คน
ก็คงไม่มีทางล่มง่ายๆ
และข้อมูลคงไม่สูญหายง่ายๆ เช่นกัน
.
แต่ทว่าเวลาใช้งานจริง ในบางระบบ เช่น เว็บแอพพลิเคชั่น
โอ้วแม่เจ้า จะมีผู้ใช้เยอะมากมาย
ก็ย่อมมีการติดต่อไปยัง database เป็นปริมาณเยอะมาก
ซึ่งฮอตไม่แพ้กับเนตไอดอลชื่อดังเลยทีเดียว
.
ซึ่งอาจทำให้ database ล่มได้
ส่งผลให้ฝั่งหน้าเว็บแจ้ง error บอกโจร 500 ขึ้นบ้าน
เป็นอันรู้กันว่าระบบหลังบ้าน มีอะไรซักอย่างที่ตายแหละ 🥶
.
นี้แค่บทลงโทษเบาะๆ
แต่ถ้าเกิดโชคร้ายซวยสุดสุด ข้อมูลหายไป
บทลงโทษคือคอขาดคนทำแน่ๆ
.
ด้วยเหตุนี้จึงต้องใช้วิชานินแยกเงาพันร่างอย่างนารูโตะ
ทำให้ database โคลนนิ่งตัวเอง แยกออกเป็นหลายๆ ตัว
แล้วกระจายไปตาม Node ต่าง ๆ
(กระจายไปตามเครื่อง server ต่างๆ หรือจะ virtual machine ก็ได้)
.
วิธีนี้จะทำให้ database บริหารเสน่ห์ได้ดีเลยทีเดียว
เพราะถ้าเกิด database ก้อนหนึ่งตายไป
ก้อนที่เหลือก็ยังทำงานได้อยู่ ไม่ล่มหายตายจากง่ายๆ
อีกทั้งก็มีข้อมูล backup มีเก็บสำรองไว้หลายก้อน
แลดูปลอดภัยดีออก
.
คำถาม ในเมื่อมี database แยกร่างเป็นหลายก้อน 🤔
แล้วแต่ละก้อนมันสื่อสารระหว่างกันยังไงหว้า?
พวกเขามีข้อมูลตรงกันได้อย่างไร?
.
คำตอบ 😁
1. โดยปกติเขาจะกำหนดให้ database ก้อนใดก้อนหนึ่ง
ทำหน้าที่เป็นหัวหน้าแก๊ง เรียกว่า master
.
2. ส่วนก้อนที่เหลือจะเป็นลูกสมุน เรียกว่า slave หรือ secondary
.
3. เวลา database ถูกเขียนจากโลกภายนอก (write) เช่น ถูกเขียนจากเว็บแอพลิเคชั่น ก็จะต้องมาเขียน (write) ที่หัวหน้าแก๊ง (master) คนเดียว
ส่วนลูกสมุนนะเหรอ เอ็งไม่มีสิทธิ
.
4. จากนั้นหัวหน้าแก๊งก็จะถ่ายสำเนาตัวเอง (replicate)
ก็อปปี้ข้อมูลไปให้ลูกสมุน (slave) ทุกตัว
เพียงเท่านี้ลูกน้องก็จะมีข้อมูลตรงกันกับลูกพี่เด๊ะ
.
5. แต่ทว่าเวลาพวกเขาเหล่า database ถูกอ่าน (read) จากโลกภายนอก เช่น ถูกอ่านจากเว็บแอพลิเคชั่น
ก็เข้ามาอ่านได้ทั้งกับหัวหน้าแก๊ง (master)
หรือจะอ่านที่ลูกสมุน (slave) ก็ได้นะ
.
🖋 ด้วยเหตุนี้ database ทุกก้อน (master กับ slave)
ก็จะมีจังหวะหัวใจตรงกัน ข้อมูลสอดประสานตรงกัน 💓
.
แล้วถ้าวันดีคืนดี เกิดดวงซวย ราหูเข้าเรือนมรณะ ชะตาขาด
อยู่ดีๆ หัวหน้าแก๊ง (master) ตายหรือมีอันเป็นไปซักอย่าง
เมื่อนั้นตัวลูกสมุน (slave) ตัวใดตัวหนึ่ง
ก็จะถูกแต่งตั้งให้ดำรงตำแหน่งหัวหน้าแก๊ง (master) คนต่อไปแทน
.
หมายเหตุ ✍️
คอนเซ็ปต์แยกร่าง database แล้วแบ่งเป็น master กับ slave
ก็จะมี database หลายยี่ห้อที่เอาวิธีนี้ไปใช้งาน เช่น
MariaDB, MySQL, Microsoft SQL, MongoDB เป็นต้น
.
ส่วน Database ยี่ห้ออื่นเช่น Oracle ก็จะใช้วิธีอื่น
อันนี้เล่าเฉพาะวิธี master กับ slave ง่ายสุดแหละ
.
😜 หมายเหตุ ในมุม #โปรแกรมเมอร์ ก็ไม่ต้องรู้หรอกว่าจะเซท database แบบ master กับ slave ทำยังไง
เพราะทำงานจริงเขาจะมีทีมงานดูแลเรื่องนี้ให้แหละ
แยกทีมกัน
อันนี้เล่าสู้กันฟังเฉยๆ
.....จบ
.
.
.
✍เขียนโดย โปรแกรมเมอร์ไทย thai programmer
「mariadb mysql」的推薦目錄:
- 關於mariadb mysql 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於mariadb mysql 在 Innoventure Startup Club Taipei Facebook 的精選貼文
- 關於mariadb mysql 在 Innoventure Startup Club Taipei Facebook 的最佳解答
- 關於mariadb mysql 在 Centos7 移除MariaDB 並安裝MySQL - Elaine's Blog 的評價
- 關於mariadb mysql 在 MariaDB/server - GitHub 的評價
- 關於mariadb mysql 在 MariaDB installation moved my Mysql database - Stack Overflow 的評價
- 關於mariadb mysql 在 What's the difference between MariaDB and MySQL? 的評價
mariadb mysql 在 Innoventure Startup Club Taipei Facebook 的精選貼文
有勞各位介紹優秀人才:(#上市SI集團 #幸福企業)
1. 雲端架構師:
工作內容 1.協助業務對客戶說明雲端服務技術架構 2. 協助客戶導入雲端服務方案 3. 分析客戶需求、技術環境並提供客戶最佳實踐與解決方案 4. 擔任教育訓練及活動之講師 5. 雲端服務研究與功能測試
工作條件 1.熟悉雲端相關產品的規劃及導入(微軟Azure 優,AWS 可) 2.熟悉以下專業領域,OS層、DB層、AP層擇一皆可 - 作業系統管理與開發經驗 (Linux 或/及 Windows Server) - 網路技術管理與除錯(DNS, TCP/IP, HTTP, etc.) - 網路安全技術(TCP/IP and Network Data Analysis) - 資料庫管理與優化(Oracle RDBMS, MySQL, SQLServer, MariaDB etc.) - Virtualization管理實作(Vmware, Xen, Hypervisor)
2. 網路架構師:
工作內容 1.協助業務對客戶說明網路系統架構 2.協助客戶進行網路除錯分析 3. 協助客戶進行網路相關設定
工作條件 1. 相關領域2年以上經驗 2. 具備網路流量來源分析與排障能力 3. 具備雲端相關系統管理及網管經驗
Contact : masakolin@smartsys.com.tw
mariadb mysql 在 Innoventure Startup Club Taipei Facebook 的最佳解答
社友徵人
第一群社友徵人:
有勞各位介紹優秀人才:(#上市SI集團 #幸福企業)
1. 雲端架構師:
工作內容 1.協助業務對客戶說明雲端服務技術架構 2. 協助客戶導入雲端服務方案 3. 分析客戶需求、技術環境並提供客戶最佳實踐與解決方案 4. 擔任教育訓練及活動之講師 5. 雲端服務研究與功能測試
工作條件 1.熟悉雲端相關產品的規劃及導入(微軟Azure 優,AWS 可) 2.熟悉以下專業領域,OS層、DB層、AP層擇一皆可 - 作業系統管理與開發經驗 (Linux 或/及 Windows Server) - 網路技術管理與除錯(DNS, TCP/IP, HTTP, etc.) - 網路安全技術(TCP/IP and Network Data Analysis) - 資料庫管理與優化(Oracle RDBMS, MySQL, SQLServer, MariaDB etc.) - Virtualization管理實作(Vmware, Xen, Hypervisor)
2. 網路架構師:
工作內容 1.協助業務對客戶說明網路系統架構 2.協助客戶進行網路除錯分析 3. 協助客戶進行網路相關設定
工作條件 1. 相關領域2年以上經驗 2. 具備網路流量來源分析與排障能力 3. 具備雲端相關系統管理及網管經驗
聯絡(line) masako.lin
mariadb mysql 在 MariaDB/server - GitHub 的推薦與評價
MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside ... ... <看更多>
mariadb mysql 在 Centos7 移除MariaDB 並安裝MySQL - Elaine's Blog 的推薦與評價
查看已安裝的MariaDB. $ rpm -qa|grep mariadb · 移除MariaDB. $ yum remove mariadb · 刪除遺留檔案. $ rm -rf /etc/my.cnf $ rm -rf /var/lib/mysql/ ... ... <看更多>