EP08 มีไดอะแกรม

Object / Block / File Storage เชิงลึก

Data Storage

8 นาที·8 หัวข้อ
ตอนนี้เจาะที่เก็บข้อมูลสามประเภทและการเลือกใช้บน Google Cloud โทนพี่ติวน้อง ความยาว 15–19 นาที ศัพท์เทคนิคอังกฤษ อธิบายไทย เน้นเกณฑ์การเลือกและ cost optimization

หัวข้อนี้วัดว่าเราแยกประเภทที่เก็บข้อมูลออกไหม และเลือกได้เหมาะกับ workload ไหม คนมักสับสนสามแบบนี้ DCE ที่อธิบายความต่างชัดและบอกได้ว่าใช้แบบไหนเมื่อไหร่ พร้อมโยงเรื่องต้นทุน จะดูแม่นทันที เพราะการเลือก storage ผิดประเภทหรือผิด tier ทำให้ทั้งช้าและแพงโดยไม่จำเป็น

Object Storage: เก็บข้อมูลเป็น object แต่ละ object มีตัวข้อมูล metadata และ unique identifier อยู่ใน flat namespace (ไม่มีโครงสร้างโฟลเดอร์จริง) เข้าถึงผ่าน API หรือ HTTP scale ได้แทบไม่จำกัด เหมาะข้อมูล unstructured ขนาดใหญ่ เช่นรูป วิดีโอ ไฟล์ backup ข้อมูลดิบสำหรับ analytics จุดเด่นคือถูก ทนทาน และโตได้ไม่จำกัด จุดจำกัดคือไม่เหมาะกับการแก้ไขบางส่วนของไฟล์บ่อย ๆ หรือ workload ที่ต้อง latency ต่ำมากแบบ database

Block Storage: แบ่งข้อมูลเป็น block ขนาดเท่า ๆ กันเหมือนฮาร์ดดิสก์ attach เข้ากับ VM แล้วระบบปฏิบัติการมองเป็น disk ให้ performance สูงและ latency ต่ำ เหมาะเป็น disk ของ OS หรือ disk ของ database และ workload ที่ต้อง I/O สูงและสม่ำเสมอ จุดจำกัดคือปกติผูกกับ instance เดียวในแต่ละช่วงเวลาและไม่ได้ออกแบบให้แชร์กว้าง ๆ

File Storage: ระบบไฟล์แบบ shared ที่หลายเครื่อง mount เข้ามาใช้ร่วมกันผ่านโปรโตคอลอย่าง NFS มีโครงสร้างไดเรกทอรีแบบที่เราคุ้นเคย เหมาะ workload ที่หลาย instance ต้องอ่านเขียนไฟล์ชุดเดียวกัน เช่น shared application data, content management, lift-and-shift ระบบเดิมที่คาดหวัง file system จุดจำกัดคือ scale และต้นทุนต่อความจุมักสูงกว่า object storage

วิธีจำง่าย: object คือถังเก็บไฟล์ยักษ์เข้าผ่าน API; block คือฮาร์ดดิสก์ต่อเข้าเครื่อง; file คือไดรฟ์เครือข่ายที่หลายคนใช้ร่วมกัน

Object vs Block vs File

Object Storage

ถังเก็บไฟล์ยักษ์ เข้าผ่าน API

  • flat namespace, scale ไม่จำกัด
  • เหมาะ unstructured: รูป วิดีโอ backup ข้อมูลดิบ
  • GCP: Cloud Storage

Block Storage

ฮาร์ดดิสก์ต่อเข้าเครื่อง

  • performance สูง latency ต่ำ
  • เป็น disk ของ OS / database
  • GCP: Persistent Disk, Hyperdisk

File Storage

ไดรฟ์เครือข่ายที่หลายคนใช้ร่วมกัน

  • shared file system ผ่าน NFS
  • หลาย instance อ่านเขียนไฟล์ชุดเดียวกัน
  • GCP: Filestore
วิธีจำ: object = ถังเก็บไฟล์เข้าผ่าน API · block = ฮาร์ดดิสก์ต่อเข้าเครื่อง · file = ไดรฟ์เครือข่ายที่แชร์กัน

Cloud Storage (object): บริการ object storage หลักของ GCP ทนทานสูง scale ไม่จำกัด มี storage class สี่ระดับตามความถี่การเข้าถึง ซึ่งเป็นหัวใจของ cost optimization:

  • Standard: เข้าถึงบ่อย เช่นไฟล์ที่ใช้งานประจำ เก็บถูกแต่ค่าเก็บต่อ GB สูงสุดในกลุ่ม
  • Nearline: เข้าถึงราวเดือนละครั้ง เช่น backup ที่นาน ๆ เรียก
  • Coldline: เข้าถึงราวไตรมาสละครั้ง
  • Archive: เก็บยาวแทบไม่แตะ เช่น archive ตามกฎหมาย ค่าเก็บถูกสุดแต่ค่าเรียกข้อมูลแพงสุด

หลักคือ ยิ่งเข้าถึงน้อย ค่าเก็บยิ่งถูกแต่ค่าดึงข้อมูลและ minimum duration ยิ่งสูง มี Object Lifecycle Management ที่ย้าย object ไป class ที่ถูกลงอัตโนมัติตามอายุ ช่วยประหยัดโดยไม่ต้องทำมือ

Persistent Disk และ Hyperdisk (block): block storage สำหรับ attach เข้า Compute Engine และ GKE เลือกชนิดได้ตาม performance เช่น standard (HDD) สำหรับ throughput ทั่วไป กับ SSD สำหรับ latency ต่ำและ IOPS สูง Hyperdisk เป็นรุ่นใหม่ที่ปรับแต่ง performance ได้ละเอียดแยกจากขนาด

Filestore (file): managed file storage แบบ NFS สำหรับ workload ที่ต้องแชร์ไฟล์ข้ามหลาย instance มีหลาย tier ตาม performance และความจุ

Cloud Storage · Class Ladder
Standardใช้บ่อยNearline~เดือนละครั้งColdline~ไตรมาสละครั้งArchiveเก็บยาว แทบไม่แตะ▲ ค่าเก็บ/GB สูงค่าเก็บ/GB ต่ำ

เข้าถึงบ่อย ───────────────▶ นาน ๆ ครั้ง (ค่า retrieval สวนทางเพิ่มขึ้น)

ยิ่งเข้าถึงน้อย ค่าเก็บ/GB ยิ่งถูก แต่ค่าดึงข้อมูล (retrieval) และ minimum duration ยิ่งสูง — ใช้ Object Lifecycle Management ย้ายอัตโนมัติตามอายุ

ถามว่าข้อมูลคืออะไรและเข้าถึงอย่างไร:

  • เก็บไฟล์ media, backup, ข้อมูลดิบ analytics, static asset ของเว็บ เข้าผ่าน APIObject (Cloud Storage)
  • เป็น disk ของ VM หรือ database ต้อง I/O สูงและ latency ต่ำ → Block (Persistent Disk/Hyperdisk)
  • หลาย instance ต้องอ่านเขียนไฟล์ชุดเดียวกันผ่าน file systemFile (Filestore)

แล้วถามต่อเรื่องความถี่การเข้าถึงเพื่อเลือก storage class ของ object: ใช้บ่อย Standard, นาน ๆ ใช้ Nearline/Coldline, เก็บยาว Archive และตั้ง lifecycle ให้ย้ายอัตโนมัติ

ควรแยกสองคำนี้: durability คือโอกาสที่ข้อมูลจะไม่สูญหาย ซึ่ง object storage ออกแบบให้สูงมากด้วยการทำสำเนาหลายชุด; availability คือโอกาสที่จะเข้าถึงข้อมูลได้ ณ ขณะนั้น Cloud Storage มีตัวเลือก location ทั้ง regional (เก็บใน region เดียว ถูกกว่า), dual-region และ multi-region (กระจายหลาย region เพิ่ม availability และลด latency ให้ผู้ใช้ทั่วโลก แต่แพงกว่า) การเลือก location จึงเป็นทั้งเรื่อง availability, latency, ต้นทุน และ data residency

ถาม: "object block file ต่างกันอย่างไร ใช้เมื่อไหร่" ตอบ: อธิบายแก่นทั้งสาม พร้อมอุปมาถัง/ฮาร์ดดิสก์/ไดรฟ์เครือข่าย และยกตัวอย่าง workload ของแต่ละแบบ

ถาม: "เก็บรูปสินค้าหลายล้านรูปจากแอป e-commerce ใช้อะไร" ตอบ: Cloud Storage (object) เพราะ scale ไม่จำกัดและถูก เสิร์ฟผ่าน CDN ได้ และตั้ง lifecycle ย้ายรูปเก่าไป class ที่ถูกลง

ถาม: "ลูกค้าอยากลดค่า storage ของ backup ที่นาน ๆ เรียกใช้" ตอบ: ย้ายไป Nearline/Coldline/Archive ตามความถี่ และใช้ lifecycle management ย้ายอัตโนมัติตามอายุ

ถาม: "disk ของ database production ควรใช้อะไร" ตอบ: Persistent Disk หรือ Hyperdisk แบบ SSD เพื่อ IOPS สูงและ latency ต่ำ

ถาม: "หลาย VM ต้องใช้ไฟล์ชุดเดียวกันพร้อมกัน" ตอบ: Filestore เพราะเป็น shared file system แบบ NFS

สับสนสามประเภท เช่นเสนอ object storage ให้เป็น disk ของ database; เลือก storage class ผิดทำให้แพง เช่นเก็บ archive ไว้ Standard หรือดึงข้อมูลจาก Archive บ่อย ๆ จนค่า retrieval บาน; ลืม lifecycle management; ไม่แยก durability กับ availability; ไม่คำนึงถึง data residency ตอนเลือก location; เสนอ Filestore ทั้งที่ใช้ object ก็พอและถูกกว่า

object สำหรับไฟล์ unstructured และ scale ไม่จำกัด (Cloud Storage), block สำหรับ disk ที่ต้อง performance สูง (Persistent Disk/Hyperdisk), file สำหรับการแชร์ไฟล์ข้ามหลายเครื่อง (Filestore) เลือกประเภทตามวิธีเข้าถึงข้อมูล แล้วเลือก storage class และ location ตามความถี่ ต้นทุน latency และ data residency ใช้ lifecycle management ประหยัดอัตโนมัติ และแยก durability กับ availability ให้ออก นี่คือจุดที่ DCE ช่วยลูกค้าทั้งเรื่อง performance และลดต้นทุนได้พร้อมกัน