Skip to content

OpenStack Swift (Object Storage)

ช่วยให้องค์กรสามารถจัดเก็บและจัดการข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพและปลอดภัย ทำให้การจัดเก็บข้อมูลในคลาวด์เป็นไปอย่างราบรื่นและยืดหยุ่น

OpenStack Compute (nova)
 

OpenStack Swift เป็นบริการจัดเก็บข้อมูลแบบอ็อบเจ็กต์ (Object Storage) ที่ออกแบบมาเพื่อให้การจัดเก็บและเข้าถึงข้อมูลขนาดใหญ่มีประสิทธิภาพสูง สามารถขยายตัวได้ และมีความทนทานสูง Swift เหมาะสำหรับการจัดเก็บข้อมูลที่ไม่ต้องการการเปลี่ยนแปลงบ่อย เช่น ข้อมูลสำรอง, รูปภาพ, วิดีโอ, เอกสาร, และข้อมูลสถิติ

คุณสมบัติหลักของ Swift (Object Storage) 

  1. การจัดเก็บแบบอ็อบเจ็กต์

    • จัดเก็บข้อมูลในรูปแบบของอ็อบเจ็กต์ที่ประกอบด้วยข้อมูลและเมตาดาต้า
    • สามารถจัดการอ็อบเจ็กต์ได้อย่างอิสระโดยไม่ขึ้นอยู่กับโครงสร้างของไฟล์หรือบล็อก
  2. ความสามารถในการขยาย

    • ออกแบบมาเพื่อให้สามารถขยายตัวได้ตามความต้องการโดยการเพิ่มโหนด (Nodes) และอุปกรณ์จัดเก็บข้อมูล (Storage Devices)
    • รองรับการจัดเก็บข้อมูลในสเกลระดับเพตะไบต์ (Petabytes) หรือมากกว่า
  3. ความทนทานและความพร้อมใช้งานสูง

    • ใช้เทคนิคการทำสำเนา (Replication) เพื่อสร้างสำเนาของอ็อบเจ็กต์และกระจายไปยังหลายโหนดและเขต (Zones)
    • รองรับการฟื้นฟูข้อมูลอัตโนมัติในกรณีที่มีโหนดหรืออุปกรณ์จัดเก็บข้อมูลเสียหาย
  4. การเข้าถึงผ่าน HTTP API

    • ให้บริการ API ที่ใช้ HTTP สำหรับการอัปโหลด ดาวน์โหลด และจัดการอ็อบเจ็กต์
    • รองรับการใช้งานร่วมกับโปรโตคอลและเครื่องมือที่หลากหลาย เช่น Amazon S3
  5. การจัดการเวอร์ชัน (Versioning)

    • รองรับการเก็บรักษาหลายเวอร์ชันของอ็อบเจ็กต์เพื่อการสำรองข้อมูลและการกู้คืนเวอร์ชันก่อนหน้า
  6. การจัดการเมตาดาต้า (Metadata Management)

    • รองรับการเพิ่มและการจัดการเมตาดาต้าสำหรับอ็อบเจ็กต์และคอนเทนเนอร์

ส่วนประกอบหลักของ Swift

  1. Proxy Server

    • ทำหน้าที่รับคำขอจากผู้ใช้และส่งต่อไปยังโหนดจัดเก็บข้อมูลที่เหมาะสม
    • จัดการการทำซ้ำ (Replication), การกระจายโหลด (Load Balancing), และการตรวจสอบความถูกต้องของข้อมูล
  2. Object Server

    • จัดการการจัดเก็บและการเรียกคืนอ็อบเจ็กต์
    • จัดเก็บข้อมูลและเมตาดาต้าของอ็อบเจ็กต์ในระบบไฟล์ที่รองรับ
  3. Container Server

    • จัดการข้อมูลคอนเทนเนอร์ (Containers) ที่ใช้ในการจัดกลุ่มและจัดการอ็อบเจ็กต์
    • เก็บข้อมูลเมตาดาต้าเกี่ยวกับคอนเทนเนอร์และรายการอ็อบเจ็กต์ภายในคอนเทนเนอร์
  4. Account Server

    • จัดการข้อมูลบัญชีผู้ใช้และคอนเทนเนอร์ที่ผู้ใช้เป็นเจ้าของ
    • เก็บข้อมูลเมตาดาต้าเกี่ยวกับบัญชีผู้ใช้และคอนเทนเนอร์ที่เกี่ยวข้อง
  5. Replication Server

    • รับผิดชอบการทำซ้ำอ็อบเจ็กต์และข้อมูลเมตาดาต้าไปยังโหนดและเขตต่างๆ เพื่อความทนทานของข้อมูล

กระบวนการทำงานของ Swift

  1. การอัปโหลดอ็อบเจ็กต์

    • ผู้ใช้ส่งคำขออัปโหลดอ็อบเจ็กต์ผ่าน API ไปยัง Proxy Server
    • Proxy Server ส่งข้อมูลไปยัง Object Server ที่จัดเก็บข้อมูลอ็อบเจ็กต์
  2. การดาวน์โหลดอ็อบเจ็กต์

    • ผู้ใช้ส่งคำขอดาวน์โหลดอ็อบเจ็กต์ผ่าน API ไปยัง Proxy Server
    • Proxy Server ส่งคำขอไปยัง Object Server ที่มีข้อมูลอ็อบเจ็กต์และส่งกลับไปยังผู้ใช้
  3. การทำซ้ำข้อมูล

    • Replication Server ทำซ้ำอ็อบเจ็กต์และข้อมูลเมตาดาต้าไปยังโหนดและเขตต่างๆ เพื่อความทนทานของข้อมูล
  4. การจัดการเมตาดาต้า

    • เมตาดาต้าของอ็อบเจ็กต์และคอนเทนเนอร์ถูกจัดเก็บและจัดการโดย Container Server และ Account Server

ประโยชน์ของการใช้ Swift

  • การจัดเก็บข้อมูลที่ยืดหยุ่นและขยายได้: รองรับการจัดเก็บข้อมูลในปริมาณมากและสามารถขยายตัวได้ง่ายตามความต้องการ
  • ความทนทานของข้อมูล: การทำซ้ำและการฟื้นฟูข้อมูลอัตโนมัติช่วยให้ข้อมูลมีความปลอดภัยและพร้อมใช้งานสูง
  • การเข้าถึงข้อมูลที่สะดวก: สามารถเข้าถึงและจัดการอ็อบเจ็กต์ได้ผ่าน HTTP API ทำให้การทำงานร่วมกับแอปพลิเคชันอื่นๆ เป็นไปอย่างราบรื่น
  • การจัดการเมตาดาต้าที่มีประสิทธิภาพ: รองรับการเพิ่มและการจัดการเมตาดาต้าสำหรับอ็อบเจ็กต์และคอนเทนเนอร์เพื่อการจัดระเบียบข้อมูลที่ดีขึ้น