รู้ไว้ใช่ว่า ใส่บ่าแบกหาม 💥💥
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
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「mariadb」的推薦目錄:
- 關於mariadb 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於mariadb 在 Facebook 的最讚貼文
- 關於mariadb 在 Innoventure Startup Club Taipei Facebook 的精選貼文
- 關於mariadb 在 コバにゃんチャンネル Youtube 的精選貼文
- 關於mariadb 在 大象中醫 Youtube 的最佳解答
- 關於mariadb 在 大象中醫 Youtube 的最讚貼文
- 關於mariadb 在 MariaDB/server - GitHub 的評價
- 關於mariadb 在 How to Install MariaDB on Windows 10 的評價
- 關於mariadb 在 Using MariaDB in C - Stack Overflow 的評價
- 關於mariadb 在 MariaDB - Home | Facebook 的評價
mariadb 在 Facebook 的最讚貼文
XAMPP 是一個架站包,集成了Apache、PHP、MariaDB、Perl等工具的網頁伺服器安裝包,去掉了一些繁瑣安裝過程,讓一般不懂程式語言的人也可以輕鬆快速的架站,也就是說把XAMPP下載並安裝後,即馬上成為一台包山包海的網頁伺服器。
mariadb 在 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 在 How to Install MariaDB on Windows 10 的推薦與評價
![影片讀取中](/images/youtube.png)
How to Install MariaDB on Windows 10How to Install MariaDB 10.2 on Windows 10below topicsHow to ... ... <看更多>
mariadb 在 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 ... ... <看更多>