การซื้อบัญชี Google Cloud: อะไรคือความแตกต่างระหว่าง GCP Cloud SQL กับ MySQL ที่สร้างขึ้นเอง?
ในช่วงไม่กี่ปีที่ผ่านมาในการเลือกสถาปัตยกรรมหรือการโยกย้ายระบบคลาวด์มีปัญหาที่แทบจะหลีกเลี่ยงไม่ได้:
คุณใช้ GCP Cloud SQL ของ Google Cloud โดยตรงหรือตั้งค่า MySQL บนเครื่องเสมือน Compute Engine (GCE) หรือไม่?
หลายคนรู้สึกโดยสัญชาตญาณ: "การใช้เครื่องเสมือนด้วยตัวเองนั้นถูกกว่ามากและบริการโฮสติ้ง GCP ระดับพรีเมียมนั้นสูงเกินไป" แต่เป็นเช่นนั้นจริงหรือ? ในฐานะคนที่อยู่ในสภาพแวดล้อมการผลิตมาหลายปีฉันจะไม่พูดคุยกับคุณเกี่ยวกับแนวคิดเรื่องท้องฟ้าที่ผิดพลาดในเอกสารทางการ
เรากลายเป็น "นักบัญชีอัจฉริยะ" โดยตรง
, จาก
สามมิติหลักของการสำรองข้อมูลอัตโนมัติความพร้อมใช้งานสูง (HA) และค่าใช้จ่ายในการดำเนินการและการบำรุงรักษาที่ครอบคลุมจะคำนวณบัญชีอย่างหมดจดหลังจากอ่านบทความนี้คุณจะมีคำตอบในใจ
1.การสำรองข้อมูลอัตโนมัติ: "สร้างเอง" ที่ดูเหมือนฟรีซึ่งอยู่เบื้องหลังต้นทุนที่ซ่อนอยู่ทั้งหมด
การสำรองฐานข้อมูลคือ "ยาลดความดันโลหิต" สำหรับการวิจัยและพัฒนาและการดำเนินการและการบำรุงรักษาในเรื่องนี้ตรรกะและต้นทุนของทั้งสองแตกต่างกันอย่างสิ้นเชิง
1.MySQL ที่สร้างขึ้นเอง: ดูเหมือนจะประหยัดเงินแต่จริงๆแล้วมัน "น่าตกใจ"
ในเครื่องเสมือนการสำรองข้อมูลไม่ใช่ประโยค
Mysqldump
สามารถแก้ไขได้อย่างสมบูรณ์แบบ:
ค่าใช้จ่ายในการวิจัยและพัฒนาและการทดสอบ: คุณต้องเขียนสคริปต์เชลล์ด้วยตัวเองเพื่อตั้งค่าการสำรองข้อมูลตามกำหนดเวลาของงาน Cron เพื่อไม่ให้ส่งผลกระทบต่อประสิทธิภาพออนไลน์คุณต้องศึกษาว่าจะมีส่วนร่วมในการสำรองข้อมูลทางกายภาพ (Percona XtraBackup) หรือการสำรองข้อมูลเชิงตรรกะ
ค่าใช้จ่ายในการจัดเก็บและการถ่ายโอน: ไม่สามารถวางไฟล์ที่สำรองไว้ในดิสก์ภายในเครื่องได้ (ในกรณีที่เครื่องถูกวางสาย) คุณต้องอัปโหลดไปยังที่เก็บข้อมูลอ็อบเจ็กต์ GCP Object Storage (GCS) ผ่านสคริปต์ในช่วงเวลานี้จะมีค่าธรรมเนียมการรับส่งข้อมูลแบนด์วิดท์เครือข่ายภายในและค่าธรรมเนียมการจัดเก็บ GCS
ค่าใช้จ่ายที่แพงที่สุด (การทดสอบการกู้คืน): การสำรองข้อมูลที่ประสบความสำเร็จไม่ได้หมายความว่าคุณสามารถกู้คืนได้สำเร็จคุณต้องทดสอบความสมบูรณ์ของไฟล์สำรองด้วยตนเองเป็นประจำสิ่งที่ใช้ที่นี่คือชั่วโมงการทำงานของวิศวกรที่มีค่าตอบแทนสูง
2. GCP Cloud SQL: ใช้จ่ายเงินเพื่อซื้อความสงบของจิตใจ
ใน Cloud SQL การสำรองข้อมูลจะกลายเป็น "ตัวเลือกการเลือก" บนอินเทอร์เฟซแบบกราฟิก:
การทำงานและการบำรุงรักษาอัตโนมัติเต็มรูปแบบ: หลังจากเปิดแล้ว GCP จะทำการสำรองข้อมูลสแนปชอตให้คุณโดยอัตโนมัติในหน้าต่างคงที่ทุกวันโดยค่าเริ่มต้นจะถูกเก็บไว้เป็นเวลา7วันและจะถูกลบโดยอัตโนมัติหลังจากหมดอายุ
ไม่มีผลต่อประสิทธิภาพ: เนื่องจากเป็นสแนปชอตที่ใช้ชั้นจัดเก็บจึงแทบจะไม่ทำให้ตารางล็อกหรือประสิทธิภาพกระวนกระวายใจในธุรกิจออนไลน์ของคุณ
บันทึกไบนารี (Point-in-Time Recovery): รองรับการกู้คืนไปยังวินาทีใดก็ได้ภายใน7วันที่ผ่านมา "ยาเสียใจ" ชนิดนี้ต้องใช้เกณฑ์ทางเทคนิคที่สูงมากหากสร้างขึ้นเอง
💡บัญชีแยกประเภท1 (มิติข้อมูลสำรอง): สร้างขึ้นเอง: ประหยัดค่าบริการแต่วิศวกรต้องหัก2-4ชั่วโมงทุกเดือนเพื่อเขียนสคริปต์ดูแลเซิร์ฟเวอร์สำรองและจัดการการเตือนภัยที่การสำรองข้อมูลล้มเหลว Cloud SQL: จ่ายค่าธรรมเนียมการจัดเก็บข้อมูลสำรองพิเศษอีกเล็กน้อยทุกเดือนเพื่อแลกกับการแทรกแซงด้วยตนเอง0ครั้งและความสามารถในการกู้คืนทุกวินาที
2.High Available (HA): "ฝันร้ายที่สุด" ที่สร้างขึ้นเอง
ความพร้อมใช้งานสูงเป็นช่องว่างที่ยาวที่สุดและลึกที่สุดระหว่างทั้งสองสภาพแวดล้อมการผลิตกลัวมากที่สุดที่จะได้รับการหยุดทำงานในเวลาสามโมงเช้า
1.ที่สร้างขึ้นเอง MySQL ที่มีความพร้อมสูง: เก้าชีวิต
ในการใช้สถาปัตยกรรม Master-Slave ที่แท้จริง (Master-Slave) และ Failover (Failover) บนเครื่องเสมือนคุณมักจะต้อง:
ซื้อเครื่องเสมือนอย่างน้อยสองเครื่อง (หรือสามเครื่อง)
กำหนดค่าการจำลองแบบอะซิงโครนัส/กึ่งซิงโครนัส MySQL เพื่อแก้ปัญหาความสอดคล้องของข้อมูล
แนะนำเครื่องมือของบุคคลที่สาม (เช่น Orchestra, MHA หรือ Keepalived + VIP) สำหรับการตรวจจับการเต้นของหัวใจและการสลับความล้มเหลว
จุดเจ็บปวดหลัก: เมื่อไลบรารีหลักหยุดทำงานกะทันหันจะแน่ใจได้อย่างไรว่าข้อมูลจะไม่สูญหายในขณะเปลี่ยน (RPO = 0) แอพพลิเคชั่นจะระบุ IP ของไลบรารีหลักใหม่โดยอัตโนมัติได้อย่างไร?
หลังจากการชกชุดนี้ไม่มี DBA (ผู้ดูแลระบบฐานข้อมูล) อาวุโสนั่งอยู่ที่นั่นและ HA ที่เขาสร้างขึ้นเองก็มีแนวโน้มที่จะ "พลิกคว่ำ" ในช่วงเวลาสำคัญ
2.ความพร้อมใช้งานสูงสำหรับ GCP Cloud SQL: คลิกเดียวเพื่อเปิด
ใน Cloud SQL ความพร้อมใช้งานสูงจะลดลงเป็นช่องรายการ:
“High Availability (Regional)”
。
ตรรกะพื้นฐานของมันคือฮาร์ดคอร์มาก:
GCP จะดึงอินสแตนซ์หลักและอินสแตนซ์สำรองในสองโซนที่มีอยู่ (โซน) ที่แตกต่างกันของภูมิภาคเดียวกัน (ภูมิภาค)
เมื่อมีการเขียนข้อมูลดิสก์ถาวรระดับภูมิภาค (Regional Persistent Disk) จะถูกใช้สำหรับการจำลองแบบซิงโครนัสซึ่งหมายความว่าตราบใดที่ไลบรารีหลักส่งคืนและเขียนสำเร็จไลบรารีสแตนด์บายจะต้องมีข้อมูลนี้
เมื่อเกิดแผ่นดินไหวหรือไฟดับในพื้นที่ใช้งานหลัก Cloud SQL จะเปลี่ยนไปใช้พื้นที่ใช้งานสำรองโดยอัตโนมัติภายใน60วินาทีที่อยู่ IP ของอินสแตนซ์จะไม่เปลี่ยนแปลงอย่างสมบูรณ์แอปพลิเคชันของคุณไม่จำเป็นต้องรีสตาร์ทเพียงแค่กำหนดค่ากลไกการเชื่อมต่อใหม่สามารถ.
💡บัญชีแยกประเภท2 (มิติที่มีความพร้อมใช้งานสูง): ค่าใช้จ่ายของ HA ที่สร้างขึ้นเอง: $2 \ times ค่าเครื่องเสมือน + เวลาในการดีบักจำนวนมากของสถาปัตยกรรมที่ซับซ้อนไม่สามารถรับประกันตรรกะการสลับที่เชื่อถือได้100% $ ต้นทุนของ Cloud SQL HA: เพิ่มราคาเป็นสองเท่าโดยตรงบนพื้นฐานของเวอร์ชันสแตนด์อะโลน (เนื่องจากทรัพยากรสองชุดถูกเรียกใช้ในพื้นหลัง) สรุป: หากธุรกิจของคุณอนุญาตให้หยุดทำงานได้สองสามชั่วโมงเครื่องเดียวที่สร้างขึ้นเองจะคุ้มค่าที่สุดหากธุรกิจของคุณเชื่อมโยงกับ5นาทีคุณจะถูกหักเงินราคาสองเท่าของ Cloud SQL นั้นคุ้มค่ากว่า HA ที่คุณสร้างขึ้นเองอย่างแน่นอน
3.การชำระบัญชีขั้นสูงสุด: การเปรียบเทียบเงินจริง
เพื่อให้คุณมีความรู้สึกที่เข้าใจง่ายเราใช้ตัวเลขเฉพาะในการคำนวณบัญชี
สมมติว่าเราต้องการฐานข้อมูลขนาดกลาง:
หน่วยความจำ4คอร์/16GB, ฮาร์ดไดรฟ์ SSD 200GB ตั้งอยู่ในฮ่องกง
(ราคาต่อไปนี้เป็นประมาณการเฉพาะ GCP Real-time Pri
Ce Calculator จะเหนือกว่า)
โซลูชัน A: สร้างขึ้นเอง (เครื่องเสมือน GCE)
ทรัพยากรคอมพิวเตอร์: เครื่องเสมือน e2-standard-4ประมาณ $100/เดือน
ทรัพยากรการจัดเก็บ: ฮาร์ดไดรฟ์ SSD 200GB ประมาณ $34/เดือน
ต้นทุนแข็งแบบสแตนด์อโลน: ~ $134/เดือน
(หากคุณต้องการสร้างความพร้อมใช้งานสูงต้นทุนจะเพิ่มขึ้นเป็นสองเท่าเป็น ~ $268/เดือน)
โปรแกรม B: โฮสติ้ง (GCP Cloud SQL for MySQL)
รุ่นสแตนด์อะโลน (Development): การกำหนดค่าเดียวกัน (4 vCPU, 16GB, 200GB SSD) ประมาณ $180/เดือน
รุ่นที่มีความพร้อมใช้งานสูง (Production): เนื่องจากเป็นที่เก็บข้อมูลแบบ dual-Live ข้ามพื้นที่ใช้งานอยู่ประมาณ $330/เดือน
⚖️ ตารางเปรียบเทียบที่ครอบคลุมล่าสุด
ลักษณะ/มิติ
สร้างขึ้นเอง MySQL (on GCE)
GCP Cloud SQL
ต้นทุนฮาร์ดแวร์พื้นฐาน
💰ต่ำกว่า (ราคาเครื่องเสมือนบริสุทธิ์)
🏷️ สูง (รวมพรีเมี่ยมการจัดการซอฟต์แวร์)
การสำรองข้อมูลอัตโนมัติ
🛠️ คุณต้องเขียนสคริปต์จัดการที่เก็บข้อมูลทดสอบและกู้คืนด้วยตัวเอง
⚡คลิกเดียวเพื่อเปิดรองรับการกู้คืนได้ตลอดเวลา
ที่มีอยู่สูง (HA)
🤯ซับซ้อนมากคุณต้องเข้าใจ Master-Slave, Orchestra ฯลฯ
🛡️ ติ๊กเพียงคลิกเดียวสลับอัตโนมัติในวินาทีข้ามพื้นที่ว่าง IP ยังคงไม่เปลี่ยนแปลง
การอัปเกรดเวอร์ชันและแพทช์
⏳จำเป็นต้องปิดและอัปเกรดด้วยตนเองเพื่อจัดการกับความขัดแย้งในการพึ่งพา
📅ตั้งค่าหน้าต่างการบำรุงรักษาระบบจะอัปเกรดแบบเงียบโดยอัตโนมัติ
ค่าใช้จ่ายที่มองไม่เห็นสูงสุด
ชั่วโมงการทำงานและการบำรุงรักษาด้วยตนเองที่มีราคาแพง (ทรัพย์สินที่มีค่าที่สุด)
จำนวนเงินที่คาดการณ์ได้
4.สรุป: คุณควรเลือกอย่างไร?
หลังจากคำนวณบัญชีนี้แล้วข้อสรุปก็ชัดเจนมากส่วนใหญ่ขึ้นอยู่กับบริษัทของคุณ
ขนาด
และ
มือมนุษย์
。
เลือก [GCP Cloud SQL] อย่างเด็ดขาดตามเกณฑ์ต่อไปนี้:
ทีมงานไม่มี DBA แบบเต็มเวลา: ทั้งหมดเป็นการวิจัยและพัฒนาแบบแบ็คเอนด์หรือการดำเนินการทั่วไปและการบำรุงรักษาและทุกคนไม่ต้องการตื่นขึ้นมากลางดึกเพื่อแก้ไขฐานข้อมูล
ธุรกิจอยู่ในช่วงขาขึ้น/สภาพแวดล้อมการผลิต: เมื่อเทียบกับหลายสิบหรือหลายร้อยดอลลาร์ที่ประหยัดได้ในแต่ละเดือนความมั่นคงของธุรกิจและภาระทางจิตใจของการวิจัยและพัฒนามีความสำคัญมากกว่าอย่างเห็นได้ชัดประหยัดพลังงานในการเขียนรหัสธุรกิจหลักและเงินที่คุณได้รับนั้นสูงกว่าส่วนต่างของเซิร์ฟเวอร์นี้มาก
หากคุณมีคุณสมบัติตรงตามเงื่อนไขต่อไปนี้คุณสามารถพิจารณา [สร้างขึ้นเอง MySQL]:
การ์ดงบประมาณตายมากแต่แรงงานมีราคาถูกมากเช่นทีมสตาร์ทอัพบุคคลหรือสภาพแวดล้อมการทดสอบที่บริสุทธิ์หากมีปัญหาก็ไม่สำคัญว่าคุณจะออฟไลน์สักสองสามชั่วโมง
มีข้อกำหนดในการปรับแต่งขนาดใหญ่พิเศษ: คุณต้องแก้ไขซอร์สโค้ดเคอร์เนลของ MySQL หรือคุณต้องใช้ปลั๊กอินที่ไม่เป็นที่นิยมและเครื่องมือจัดเก็บข้อมูลพิเศษที่ Cloud SQL ไม่รองรับ
คำแนะนำที่หยาบและไม่หยาบ:
บริการโฮสติ้งไม่ได้ขายให้คุณ "เซิร์ฟเวอร์" แต่ขายให้คุณ ** "การนอนหลับที่ปราศจากความวิตกกังวล" และ "ชั่วโมงการทำงาน DBA แบบมืออาชีพที่มีราคาแพง" **
。เมื่อเผชิญกับสภาพแวดล้อมการผลิตการใช้จ่ายเงินเพื่อซื้อเวลาเป็นธุรกิจที่มีอัตราการชนะสูงสุดเสมอ

