การให้บริการเก็บข้อมูลหรือการเก็บข้อมูลเพื่อประโยชน์ใช้สอยต่างๆ ขององค์กร ในปัจจุบันนั้นมีตัวเลือกอุปกรณ์ที่จะนำมาใช้งานได้หลากหลายเพื่อให้เหมาะสมความต้องการ
เทคโนโลยีการเก็บข้อมูลก็เป็นเทคโนโลยีหนึ่งที่มีการพัฒนาไม่หยุดหย่อน ซึ่งในแต่ละระบบมีขีดจำกัดหลายเรื่องต่างกัน เช่น ความเร็วในการอ่านเขียนข้อมูล, ความยืดหยุ่นของระบบ, พลังงานที่ใช้, การใช้สอยพื้นที่หรือสถานที่ เป็นต้น ซึ่งต้องนำมาพิจารณาเป็นข้อดีและข้อเสีย เพื่อพิจารณาว่าสมควรใช้ระบบใด จากเดิมนิยมใช้ฮาร์ดดิสก์ก็มีบางส่วนหันมาใช้ SSD เพื่อความเร็วในการอ่านเขียนข้อมูลเร็วยิ่งขึ้น สู่ระบบ NAS หรือ SAN ที่มีความยืดหยุ่นสูงขึ้น และระบบอื่นๆ ที่มีมากมาย โดยความได้เปรียบของ SSD ที่เป็นที่รู้กันดีคือประสิทธิภาพจะสูงกว่าฮาร์ดดิสก์
บทความนี้ได้รับการสนับสนุนจากบริษัท Tangerine ตัวแทนจำหน่ายแต่เพียงผู้เดียวของ Fusion-io ในประเทศไทย อย่างไรก็ตามทางตัวแทนจำหน่ายให้อิสระกับ Blognone ทดสอบได้เต็มที่ และไม่ขอดูผลการทดสอบก่อนตีพิมพ์บทความครับ
คุณสมบัติที่ตอบสนองต่องานอ่านและเขียนจำนวนมากๆ ได้อย่างรวดเร็วของ SSD ทำให้มันช่วยเร่งความเร็วงานบางกลุ่มได้อย่างดี เช่น งานฐานข้อมูล ที่ต้องค้นหาข้อมูลและเขียนแก้ไขข้อมูลจำนวนมากๆ ได้เป็นอย่างดี งานในกลุ่มนี้บ่อยครั้งที่เราพบว่าตอบสนองงานได้ช้า เช่น การคำนวณปิดบัญชี ณ ช่วงรอบวันหรือรอบบัญชีต่างๆ ที่อาจจะต้องคำนวณหลายชั่วโมงหรือบางครั้งใช้เวลานับวัน จากการค้นข้อมูลหลายร้อยล้านชุด และสรุปรายงานอีกนับล้านชุด การใช้ SAN ขนาดใหญ่เพื่อให้ได้ IOPS ที่สูงมักทำให้ราคาของระบบสูงขึ้นจนน่าตกใจ การใช้ SSD หากงานเป็นงานที่ติดคอขวดที่ดิสก์ไม่สามารถตอบสนองต่อการอ่านและเขียนได้ทัน การใช้ SSD มักเป็นทางแก้ปัญหาที่ตรงจุดและใช้เงินทุนน้อยกว่ามาก
ในท้องตลาดนี้ เราจะเห็น SSD หลากหลายยี่ห้อวางตลาดกันโดยทั่วไป หลายยี่ห้อนั้นเริ่มมีขนาดความจุที่ใกล้เคียงฮาร์ดดิสก์ขึ้นเรื่อยๆ พร้อมๆ กับราคาที่ใกล้เคียงกันเข้ามาด้วยเช่นกัน แต่ดิสก์เหล่านี้แม้จะเป็น SSD เช่นเดียวกัน แต่มักจะออกแบบโดยคำถึงถึงข้อจำกัดด้านการใช้งานมากกว่าประสิทธิภาพ เช่น การเชื่อมต่อผ่านพอร์ต SATA ที่ทำให้การสื่อสารจาก CPU ไปยังดิสก์ต้องผ่าน SATA controller อีกชั้นหนึ่ง ตัวดิสก์ถูกออกแบบภายใต้ข้อจำกัดของพื้นที่ เช่น การออกแบบสำหรับติดตั้งในโน้ตบุ๊ค
สำหรับตลาดในกลุ่มขององค์กรที่ต้องการประสิทธิภาพเป็นหลักมากกว่าความสะดวกในการติดตั้ง หรือข้อจำกัดด้านราคาแบบการใช้งานของผู้ใช้ตามบ้าน ยังมี SSD สำหรับองค์กรที่มักติดตั้งผ่านช่อง PCIe เชื่อมต่อกับ CPU โดยผ่านเลเยอร์ตัวกลางอื่นๆ น้อยกว่า การ์ดเหล่านี้แม้จะมีราคาสูงขึ้นบ้างเมื่อเทียบกับราคาของ SSD สำหรับผู้ใช้ตามบ้าน แต่สำหรับงานธุรกิจที่ช่วยลดเวลาการประมวลผล การสร้างรายงานได้ในเวลาที่รวดเร็ว หรือให้บริการลูกค้าได้ในเวลาที่น้อยลง ล้วนสร้างผลตอบแทนที่คุ้มค่า
เช่นเดียวกับตลาดในกลุ่มอื่นๆ ตลาด SSD สำหรับองค์กรนั้นมีผู้ผลิตอยู่หลายราย แต่ละรายมักมีเทคนิคในการเร่งความเร็วของการ์ดต่างกันไป แต่โดยมากแล้ว มักจะอาศัยการเชื่อมต่อภายในเป็น SATA เพื่อลดความยุ่งยากในการออกแบบ การเชื่อมต่อผ่าน PCIe ของการ์ดเหล่านี้ให้ความเร็วเพิ่มขึ้นจากเชื่อมต่อผ่าน SATA อย่างเดียวได้มาก เพราะภายในการ์ดมักมีชิปกระจายโหลดแบบ RAID ทำให้ SATA แต่ละชุดในการ์ดช่วยเร่งความเร็วรวมของการ์ดขึ้นมาได้
ปัญหาของการออกแบบเช่นนั้น คือ การเพิ่มชิปจำนวนมากบนการ์ดจะเพิ่มจุดเสี่ยงต่อความเสียหายของการ์ดเป็นเงาตามตัว และบางครั้งชิป RAID บนตัวการ์ดที่เราเคยมองว่าทำงานได้เร็วนั้น หลายครั้งกลับเป็นคอขวดของการออกแบบเสียเอง
Fusion-io เป็นผู้ผลิต SSD สำหรับองค์กรโดยเฉพาะที่เลือกแนวทางการออกแบบอีกทางหนึ่ง คือ การลดชิปที่ไม่จำเป็นออกจากการ์ดให้เหลือน้อยที่สุด แล้วย้ายงานที่ซีพียูสามารถทำได้ให้กลับไปทำงานบนซีพียูหลักของเครื่อง แนวทางการออกแบบนี้อาศัยความจริงที่ว่าซีพียูรุ่นใหม่ๆ ในช่วงหลังมีความเร็วสูงมากจนไม่ใช่คอขวดของระบบในงานส่วนใหญ่ แต่กลับเป็นความช้าของดิสก์ทั้ง Throughput และจำนวน IOPS ที่รองรับได้ และระยะเวลาหน่วง (latency) ที่จะตอบสนองต่อคำสั่งไปยังดิสก์ ทาง Fusion-io เรียกเทคโนโลยีนี้ว่า Virtual Storage Layer (VSL)
ภายใต้เทคโนโลยี VSL การ์ด SSD ของ Fusion-io สร้างความได้เปรียบที่จำเป็นต่อหน่วยงานระดับองค์กรหลายอย่าง โดยเฉพาะความน่าเชื่อถือของข้อมูล การ์ดจำนวนมากในปัจจุบันใช้วิธีเร่งความเร็วด้วยการใช้แรมมาบัฟเฟอร์การเขียนลงสู่ SSD ที่ความเร็วต่ำกว่า แต่การเขียนลงแรมก่อนทำให้ข้อมูลอาจจะสูญหายได้หากเกิดปัญหากับระบบไฟฟ้า ความพยายามออกแบบเช่นนั้นทำให้ต้องเพิ่มภาคสำรองไฟไปบนการ์ด SSD อีกทีหนึ่ง เพิ่มความซับซ้อนให้กับการ์ดเข้าไปอีกชั้น และเพิ่มจุดเสี่ยงต่อความเสียหายไปพร้อมกัน แต่การ์ดของ Fusion-io จะเขียนลงตัว Flash โดยตรงเสมอ ทำให้สามารถยืนยันการเปลี่ยนแปลงข้อมูลในดิสก์ว่าเป็นไปตามที่เราตั้งใจจริงๆ ข้อมูลทั้งหมดถูกคำนวณค่า checksum เพื่อป้องกันการผิดพลาดตั้งแต่ใน CPU ไปจนถึงการเขียนลงแฟลช พร้อมระบบแก้ไขและกู้คืนข้อมูลขนาด 49 บิตที่วางอยู่บนตัวชิปแฟลชทำให้เมื่อเกิดความผิดพลาดใดๆ ที่เป็นไปได้ ข้อมูลก็ยังอยู่ครบถ้วน
ความจุของการ์ด Fusion-io นั้นมีตั้งแต่ 365 GB ไปจนถึง 10.24 TB ซึ่งเมื่อเทียบขนาดของตัวการ์ดกับความจุแล้ว จะพบว่าการ์ด Fusion-io ที่ขนาดเท่ากับฮาร์ดดิสก์จะใช้พื้นที่ติดตั้งน้อยกว่าฮาร์ดดิสก์มาก
Throughput เป็นการวัดประสิทธิภาพของอุปกรณ์เก็บข้อมูล โดยวัดปริมาณข้อมูลที่สามารถ โอนถ่ายได้ในหนึ่งช่วงเวลา จากการทดสอบจะเห็นได้ว่า ioDrive II นั้นมีประสิทธิภาพสูงกว่าอุปกรณ์เก็บข้อมูลอื่นแบบขาดลอย โดยสาเหตุหนึ่งเป็นเพราะการ์ด Fusion-io นั้นที่ติดตั้งในช่อง PCI Express x4 บนเมนบอร์ด ซึ่งมีความเร็วในการเชื่อมต่อสูงสุด 2 GB/s ต่างกับการเชื่อมต่อแบบ SATA3 ที่นิยมใช้กัน ซึ่งมีความเร็วสูงสุดเพียง 600 MB/s โดยการ์ดที่เรานำมาทดสอบนั้นเป็นการ์ด ioDrive II รุ่น 1.2 TB ครับ
หมายเหตุ
IOPs หรือ Input/Output Operations Per Second เป็นการวัดจำนวนคำสั่งที่สามารถอ่านเขียนใน 1 วินาที ซึ่งเป็นอีกหนึ่งจุดที่ต้องคำนึงถึงเวลาวัดประสิทธิภาพของอุปกรณ์เก็บข้อมูล จากการทดสอบจะเห็นได้ว่า ioDrive II มีค่า IOPs สูงมากเมื่อเทียบกับอุปกรณ์ประเภทอื่น
ioDrive II นั้นจะติดต่อกับ CPU และ RAM โดยตรงผ่าน PCI Express ต่างกับฮาร์ดดิสก์หรือ SSD แบบ SATA ที่ต้องติดต่อผ่าน SATA Controller อีกชั้นหนึ่ง ทำให้เกิดช่องว่างระหว่างเวลาในหน่วยมิลลิวินาที
การทำงานภายในของ ioDrive II จะใช้หลักการที่คล้ายกับ RAID 5 โดยในกรณีที่มีชิปบางตัวเสียไป ระบบจะสามารถสร้างข้อมูลขึ้นมาใหม่ได้จากข้อมูลเดิมที่ยังเหลืออยู่ นอกจากนี้ ioDrive II แต่ละตัวยังมีความจุจริงมากกว่าที่ระบุไว้ในสเปคอยู่ประมาณ 20% ความจุที่เกินมาดังกล่าวจะจัดเป็นพื้นที่สงวน (reserved space) ซึ่งในกรณีที่มีชิปบางตัวเสีย ระบบจะไปจัดสรรพื้นที่สงวนมาให้ใช้แทนพื้นที่เดิม ซึ่งจะต่างจากกรณีของฮาร์ดดิสก์ เมื่อมี Bad Sector แล้วจะไม่สามารถใช้พื้นที่ตรงนั้นได้และพื้นที่รวมจะลดลง หรือกรณีของ SSD แบบทั่วๆไปที่เมื่อมีชิปบางตัวเสีย ก็จะเท่ากับ SSD เสียไปทั้งลูก
นอกจากการย้ายข้อมูลไปใช้ชิปที่ยังไม่เสียหายแล้ว Fusion-io ยังออกแบบให้คำนึงถึงความเป็นไปได้ที่ชิปแฟลชอาจจะเสียหายแบบชั่วคราว (transcient damage) เมื่อตรวจสอบพบความเสียหายและย้ายข้อมูลไปยังส่วนสำรองแล้ว มันจะตรวจสอบพื้นที่เสียหายซ้ำอีกครั้ง และหากพบว่าเป็นการเสียหายแบบชั่วคราว ก็จะนำชิปส่วนนั้นกลับมาใช้งานได้ต่อเนื่อง โดยทั้งหมดแอพพลิเคชั่นไม่ต้องรับรู้อะไรนอกจากผู้ดูแลระบบที่ต้องเฝ้าระวังสถานะของการ์ดตามปกติ โดยการตรวจสอบมีทั้งการตรวจสอบด้วยหน้าจอ GUI และการตรวจสอบสถานะผ่านทางโพรโตคอล SNMP ทำให้ผู้ดูแลระบบสามารถตรวจสอบเครื่องจำนวนมากได้ว่าสถานะของดิสก์เป็นอย่างไรและเตรียมพร้อมรับมือล่วงหน้าได้
จากการทดสอบ ioDrive II เป็นทางเลือกในการเก็บข้อมูลที่ได้ประสิทธิภาพสูงในแทบทุกด้าน แม้ราคาจะสูงอยู่บ้างแต่เมื่อเทียบกับทางเลือกการเก็บข้อมูลระดับองค์กรที่ให้ประสิทธิภาพสูงๆ รูปแบบอื่น ioDrive ก็ยังนับว่ามีราคาถูกกว่ามาก ฟีเจอร์จำนวนมากเป็นฟีเจอร์เพื่อความเสถียรของระบบและการดูแล มันน่าจะเป็นทางเลือกที่ดีสำหรับงานที่มีคอขวดของระบบอยู่ที่ดิสก์และต้องการเร่งความเร็วโดยไม่ต้องแก้แอพพลิเคชั่น หากขนาดของดิสก์เป็นปัญหาว่ายังไม่พอต่อการใช้งาน ก็อาจจะเลือกวางข้อมูลแค่บางส่วนที่ต้องการการอ่านและเขียนจำนวนมากๆ ไว้บน ioDrive II แทนที่จะวางข้อมูลทั้งหมดไว้