เมื่อพูดถึงการเก็บข้อมูลในปัจจุบันเรามักได้ยินคำว่า Object Storage อยู่เสมอที่กำลังเริ่มได้รับความนิยมมากขึ้นเรื่อยๆ แต่อันที่จริงข้อดีของ Object Storage คืออะไรกันแน่ เรายังจำเป็นต้องพึ่งพา File Storage หรือ Block Storage อยู่ไหม หรือเหมาะสมกับแอปพลิเคชันอะไรบ้าง แล้ว Object Storage มีเพียงแค่บริการผ่านคลาวด์เท่านั้นหรือไม่
ในบทความนี้เราจะพาทุกท่านมาเรียนรู้เกี่ยวกับข้อคุณสมบัติของ Object Storage ที่แท้จริงกัน
Object Storage คืออะไร
Object Storage เป็นพื้นที่การจัดเก็บชนิดหนึ่งที่ถูกออกแบบมาให้รองรับข้อมูลมหาศาล อย่างข้อมูลที่เรียกว่า Unstructured Data เช่น อีเมล ไฟล์หนัง คลังภาพ ไฟล์เอกสาร เว็บเพจ เป็นต้น
โดยเนื้อแท้จริงคือตัวข้อมูลจะถูกมองเป็น Object ซึ่งในนั้นมีการเก็บ 3 ชิ้นส่วนสำคัญคือ ตัวเนื้อข้อมูล Metadata และ UID (Unique ID) ซึ่งการต่อขยายของ Object Storage จึงทำได้เพิ่มขึ้นเรื่อยๆแทบจะเรียกได้ว่าไร้ขอบเขตนำมาต่อๆเรียงๆกันออกไป และเป็นหัวใจสำคัญที่ทำให้ Object Storage จึงเหมาะกับงานบริการคลาวด์ และทำให้ต้นทุนถูกกว่าการจัดเก็บรูปแบบอื่น
สำหรับการจัดเก็บไฟล์ขนาดใหญ่ที่เข้ามาจะถูกแบ่งเก็บเนื้อหาในแต่ละ Object พร้อมกระจายเก็บเนื้อหาได้ดีกว่าเดิมมาก ทั้งนี้ในการใช้งานมักมองเป็นการเข้าใช้ผ่าน Virtual Storage ที่ภายใต้เกิดจากการรวมตัวกันของ Object Storage หลายๆตัว และเปิดให้ใช้งานข้อมูลได้ผ่าน RESTful APIs, HTTP และ HTTPS
อย่างไรก็ดีแม้การเข้าถึงจะทำได้ง่ายแต่ Object Storage ไม่เหมาะกับงานที่ต้องแก้ไขข้อมูลและเราไม่จำเป็นต้องยึดติดกับคลาวด์เพราะสามารถตั้ง Object Storage เพื่อให้ใช้งานแบบ On-premise ได้ตามปกติ เพียงแค่คุณสมบัติความถูก การขยายตัว และการเข้าถึงของ Object Storage คือสิ่งที่เหมาะกับคลาวด์อย่างแท้จริงเท่านั้น
นอกจากนี้การมี Metadata ยังช่วยให้ผู้สนใจสามารถใช้ประโยชน์ได้ด้วย เช่น การ Tag Object หรือใช้ทำ Policy ในการลบข้อมูล หรืออื่นๆ นอกจากนี้ยังมีกลไกสำหรับการ Replicate ข้อมูลช่วยเรื่องความคงทนเช่นกัน
Object Storage vs File Storage vs Block Storage
ผู้ใช้งานคอมพิวเตอร์ทุกคนย่อมรู้จักระบบการเก็บข้อมูลแบบไฟล์ดีอยู่แล้ว ในรูปแบบของ ไฟล์ – โฟลเดอร์ ซึ่งประเด็นคือโครงสร้างข้อมูลจะเก็บแบบลำดับชั้น เช่น C://AB/ABC/ABCD… เป็นต้น ดังนั้นท่านจะต้องรู้ Path สู่ข้อมูล และยิ่งลึกเท่าไหร่การค้นหาก็ต้องใช้เวลานาน แถมยังขยายตัวได้อย่างจำกัด โดยมีโปรโตคอลอย่าง SMB และ NFS ที่พบเห็นกันในสำนักงานก็คือการแชร์ไฟล์ผ่านการจัดเก็บแบบ NAS เป็นต้น ซึ่งเราขอไม่ลงลึกตรงนี้ ประเด็นสำคัญคือ Object Storage มีการขยายตัวที่ดีกว่ามาก ตัดการเข้าถึงแบบลำดับชั้นไปเป็นการอาศัย UID แทนนั่นเอง
ในมุมของ Block Storage ก็คือการตัดแบ่งไฟล์เก็บ Block ที่อยู่แยกกันโดยมี UID สำหรับค้นหากลุ่มข้อมูลเพื่อประกอบกันได้เมื่อต้องการ ไม่ต้องรู้ Path จึงเข้าถึงข้อมูลได้รวดเร็วเช่นกัน แต่โดยวัตถุประสงค์ที่เหมาะที่สุดของ Block Storage คืองานแอปพลิเคชันที่สำคัญต้องการความรวดเร็วแม่นยำในการอ่านเขียนหรือการใช้งานที่มี Transaction จำนวนมาก ซึ่งต้องอาศัย OS เข้าถึงบล็อกข้อมูล และ Block Storage ไม่ได้พูดถึงเรื่อง Metadata
หากถามว่าเมื่อเทียบระหว่าง Object Storage กับ File Storage และ Block Storage นั้นจะเลือกใช้อย่างไร คำตอบที่เหมาะสมก็คือท่านจะต้องพิจารณาถึงประเภทของแอปพลิเคชันที่เหมาะกับตนเอง เช่น หากเป็น File Share หรือการใช้งานที่ไม่ได้เน้นขยายตัวมาก File Storage ก็ตอบโจทย์ที่สุด แต่หากเป็นงานที่ต้องการความรวดเร็วมีการเขียนข้อมูลบ่อยครั้ง Block Storage ก็ย่อมเหมาะกว่า ทั้งนี้แอปพลิเคชันที่เหมาะกับ Object Storage ก็มีไม่น้อยเช่นกันที่จะกล่าวถึงในหัวข้อถัดไป
แอปพลิเคชันที่เหมาะสมกับการเก็บข้อมูลบน Object Storage
ด้วยความที่ Object Storage มีต้นทุกถูกกว่า เหมาะสำหรับข้อมูลที่เน้นอ่านอย่างเดียว พร้อมขยายตัวได้เรื่อยๆรองรับข้อมูลมหาศาล แถมมี Metadata ให้ไปใช้ประโยชน์เพิ่มได้ตามความต้องการ ทำให้แอปพลิเคชันที่เหมาะสมมีดังนี้
- Log File
- งาน Machine Learning นำข้อมูลไปเทรนโมเดล
- งานเก็บข้อมูล IoT นำไปใช้ประโยชน์ต่อ
- งานเก็บข้อมูล Backup สำหรับกู้คือและ Archive ที่ตอบโจทย์ Compliance
- ไฟล์หนัง เพลง วีดีโอ
- งาน Data Lake ที่เก็บข้อมูลได้แบบไม่สนใจ format รักษาสภาพข้อมูลเดิมๆไว้ได้ เน้นการเก็บข้อมูลเยอะๆ
ที่มา : https://cloud.google.com/learn/what-is-object-storage และ https://aws.amazon.com/what-is/object-storage/