Data Warehouse

โดยปกติฐานข้อมูลจะถูกแบ่งเป็นแบบสัมพันธ์ (SQL) หรือ NoSQL และแบบธุรกรรม (OLTP) แบบเชิงวิเคราะห์ (OLAP) หรือแบบผสม (HTAP) ซึ่งถ้าเทียบกับเมื่อก่อนแล้วนั้นฐานข้อมูลของแผนกและฐานข้อมูลที่ทำขึ้นเพื่อจุดประสงค์พิเศษมีการปรับปรุงให้ดีขึ้นอย่างมากในทางธุรกิจ ความพยายามสร้างฐานข้อมูลที่รวมเป็นหนึ่งเดียวกันสำหรับข้อมูลทั้งหมดทั่วบริษัทถูกจัดให้เป็นระบบทะเลสาบข้อมูล (Data Lakes) หากข้อมูลถูกทิ้งไว้ในรูปแบบเดิม และถูกจัดให้เป็นคลังข้อมูล ( Data Warehouse ) หากข้อมูลถูกเปลี่ยนไปสู่รูปแบบและเค้าร่างที่เหมือนกัน ข้อมูลส่วนย่อยของคลังข้อมูลเรียกว่าตลาดข้อมูล (Data Mart)

ความหมายของคลังข้อมูล (Data Warehouse)

โดยพื้นฐานแล้ว คลังข้อมูลคือฐานข้อมูลเชิงวิเคราะห์ ที่มักจะเป็นการวิเคราะห์แบบสัมพันธ์ที่สร้างมาจากแหล่งข้อมูลสองแห่งหรือมากกว่านั้นก็ได้ ซึ่งถูกสร้างขึ้นมาเพื่อเก็บข้อมูลย้อนหลังซึ่งอาจมีระดับเป็นหน่วยเพตะไบต์ คลังข้อมูลมักจะมีระบบประมวลผลและหน่วยความจำที่สำคัญ เพื่อใช้ในการสืบค้นที่มีความซับซ้อนและการสร้างรายงาน ซึ่งคลังข้อมูลเหล่านี้มักจะเป็นแหล่งข้อมูลสำคัญในการทำ Business Intelligence และ Machine Learning

ทำไมถึงใช้คลังข้อมูล?

สาเหตุสำคัญที่บริษัทใช้คลังข้อมูลระดับองค์กรหรือ Enterprise Data Warehouse (EDW) คือการที่ฐานข้อมูลที่ใช้ปฏิบัติการของคุณ (OLTP) สามารถจำกัดจำนวนและประเภทของดัชนีที่คุณสามารถสร้างได้ จึงทำให้การสืบค้นเชิงวิเคราะห์ช้าลง และเมื่อคุณคัดลอกข้อมูลเข้าสู่คลังข้อมูล คุณก็สามารถตั้งค่าดัชนีที่คุณต้องการได้ เพื่อให้คุณสามารถวิเคราะห์ข้อมูลได้ดียิ่งขึ้น โดยไม่ส่งผลกระทบต่อประสิทธิภาพการเขียนของฐานข้อมูล OLTP

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

คลังข้อมูลเมื่อเทียบกับ Data Lake หรือระบบทะเลสาบข้อมูล

Data Lake หรือระบบทะเลสาบข้อมูลที่ใช้เก็บไฟล์ข้อมูลในรูปแบบดั้งเดิมนั้น โดยพื้นฐานแล้วคือ “Schema on Read” หมายความว่าโปรแกรมใด ๆ ที่อ่านข้อมูลจาก Data Lake จะต้องกำหนดประเภทและความสัมพันธ์ของมันเองกับข้อมูล ในทางกลับกันคลังข้อมูลคือ “Schema on Write” หมายความว่าประเภท ดัชนี และความสำพันธ์ของข้อมูลถูกกำหนดไว้กับข้อมูลขณะที่ถูกจัดเก็บใน EDW

“Schema on Read” เหมาะสำหรับข้อมูลที่อาจถูกนำไปใช้ในหลากหลายบริบท และมีความเสี่ยงในการสูญเสียข้อมูลน้อย แต่ทว่ามีข้ออันตรายก็คือ ข้อมูลนั้นอาจไม่ถูกใช้งานเลย (Qubole ผู้ค้าขายเครื่องมือคลังข้อมูลแบบ Cloud สำหรับ Data Lake คาดคะเนว่า 90% ของข้อมูลใน Data Lake นั้นไม่ถูกนำมาใช้งาน) ส่วน “Schema on write” เหมาะสำหรับข้อมูลที่มีจุดประสงค์เฉพาะอย่าง และเหมาะสำหรับข้อมูลที่ต้องเกี่ยวพันอย่างเหมาะสมกับข้อมูลจากแหล่งอื่น แต่ก็มีข้อควรระวังคือ ข้อมูลที่ผิดรูปแบบอาจถูกทิ้งขณะนำเข้าเพราะมันไม่ได้เปลี่ยนรูปแบบให้เหมาะสมต่อประเภทข้อมูลที่ต้องการ

คลังข้อมูลเมื่อเทียบกับตลาดข้อมูล (Data Warehouse vs Data Mart)

คลังข้อมูลประกอบด้วยข้อมูลระดับบริษัท ในขณะที่ตลาดข้อมูลประกอบด้วยข้อมูลที่มุ่งเน้นเฉพาะสายงานธุรกิจ ตลาดข้อมูลอาจมีหลายรูปแบบไม่ว่าจะเป็นแบบที่ขึ้นอยู่กับคลังข้อมูล แบบไม่ขึ้นอยู่กับคลังข้อมูล หรือแบบที่ผสมผสานทั้งสอบที่กล่าวไปข้างต้น

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

สถาปัตยกรรมคลังข้อมูล

โดยทั่วไป คลังข้อมูลมีสถาปัตยกรรมหลายระดับ ได้แก่ ข้อมูลเดิม ฐานข้อมูลสำหรับเป็นที่พักข้อมูล เครื่องมือ ETL (Extract (ดึง), Transform (เปลี่ยนรูปแบบ), and Load (ถ่ายเท)) หรือ ELT (Extract, Load, and Transform) ซึ่งการจัดเก็บข้อมูลอย่างเหมาะสมและเครื่องมือนำเสนอข้อมูล แต่ละระดับมีจุดประสงค์ต่างกัน

ข้อมูลเดิมมักรวมไปถึงฐานข้อมูลการปฏิบัติงานจากยอดขาย การตลาด และส่วนอื่น ๆ ของธุรกิจ และยังอาจรวมถึงโซเชียลมีเดียและข้อมูลภายนอก เช่น แบบสำรวจและสถิติประชากร

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

เครื่องมือ ELT จัดเก็บข้อมูลก่อนแล้วเปลี่ยนรูปแบบในภายหลัง เมื่อคุณใช้เครื่องมือ ELT คุณอาจใช้ Data Lake ด้วยและข้ามขั้นตอนที่พักข้อมูลแบบเดิมไป

ระดับจัดเก็บข้อมูลของคลังข้อมูลประกอบด้วยข้อมูลที่สะอาดและเปลี่ยนรูปแบบแล้วซึ่งพร้อมสำหรับการวิเคราะห์ โดยการจัดเก็บข้อมูลแบบนี้เป็นการจัดเก็บข้อมูลเชิงสัมพันธ์แบบเน้นเป็นแถว แต่ก็อาจมีการเน้นแบบคอลัมน์ด้วยหรือมีดัชนีแบบ Inverted-list สำหรับการค้นหาข้อความเต็ม โดยคลังข้อมูลมักจะมีดัชนีมากกว่าการจัดเก็บข้อมูลในการดำเนินงาน เพื่อให้สามารถวิเคราะห์ข้อมูลได้เร็วขึ้น

การนำเสนอข้อมูลจากคลังข้อมูลมักทำโดยการดำเนินการคิวรี SQL ซึ่งอาจใช้เครื่องมือ GUI มาเป็นตัวช่วยในการสร้างได้ นอกจากนี้คิวรี SQL ยังสามารถใช้สร้างตารางการแสดงผล แผนภูมิ Dashboard รายงาน และการคาดการณ์ได้ โดยใช้เครื่องมือ BI เข้ามาช่วย

เมื่อไม่นานมานี้ คลังข้อมูลเริ่มมีการรองรับ ML ที่จะปรับปรุงคุณภาพของโมเดลและการคาดการณ์ ตัวอย่างเช่น Google BigQuery ได้เพิ่มประโยคคำสั่ง SQL เพื่อรองรับโมเดลการวิเคราะห์การถดถอยเชิงเส้นและโมเดลการวิเคราะห์การถดถอยโลจีสติกไบนารีสำหรับการแบ่งประเภท นอกจากนี้คลังข้อมูลบางแห่งมีการผสานเข้าด้วยกันกับเครื่องมือ Deep Learning Libraries และ Automated ML อีกด้วย

คลังข้อมูลแบบ Cloud เมื่อเทียบกับคลังข้อมูลแบบติดตั้งภายใน (On Premise)

คลังข้อมูลสามารถถูกนำมาใช้ได้หลาย ไม่ว่าจะเป็นแบบติดตั้งภายใน แบบ Cloud หรือแบบผสม ที่ผ่านมาคลังข้อมูลส่วนใหญ่มักเป็นแบบติดตั้งภายใน (On-Prem Data Warehouse) แต่ก็มีปัญหาในเรื่องต้นทุนค่าลงทุนและการขาดความสามารถในการปรับขนาดได้ของเซิร์ฟเวอร์ที่ติดตั้งภายในศูนย์ข้อมูล การติดตั้ง EDW เริ่มเป็นที่นิยมมากขึ้นเมื่อผู้ค้าขายเริ่มให้บริการเครื่องมือคลังข้อมูล แต่อย่างไรก็ตาม ยังคงมีหลายบริษัทที่มีแนวโน้มที่จะย้ายคลังข้อมูลทั้งหมดหรือบางส่วนเข้าสู้ระบบ Cloud เพื่อต้องการใช้ประโยชน์จาก EDW แบบ Cloud ที่สามารถปรับขนาดได้ รวมถึงสามารถเชื่อมต่อกับบริการ Cloud อื่น ๆ ได้อย่างง่ายดาย

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

คลังข้อมูลแบบบนลงล่างเมื่อเทียบกับแบบล่างขึ้นบน

มีแนวความคิดใหญ่ ๆ สองแนวเกี่ยวกับวิธีออกแบบคลังข้อมูล ความแตกต่างระหว่างสองแนวนี้เกี่ยวข้องกับทิศทางการหลั่งไหลของข้อมูลระหว่างคลังข้อมูลกับตลาดข้อมูล

  • แบบบนลงล่าง (วิธีของอินแมน) ปฏิบัติกับคลังข้อมูลเสมือนเป็นโกดังข้อมูลแบบศูนย์กลางสำหรับทั้งบริษัท ตลาดข้อมูลแยกมาจากคลังข้อมูล
  • แบบล่างขึ้นบน (วิธีของคิมบัลล์) ปฏิบัติกับตลาดข้อมูลเหมือนเป็นหน่วยหลัก และรวมกันเข้าสู่คลังข้อมูล ในคำอธิบายของคิมบัลล์ คลังข้อมูล “เป็นสำเนาข้อมูลธุรกรรมที่มีโครงสร้างโดยเฉพาะสำหรับคิวรี (query) และการวิเคราะห์”

โดยปกติ การใช้งาน EDW ในส่วนงานด้านการประกันและการผลิต มักจะชอบวิธีการของแบบบนลงล่าง ส่วนส่วนงานด้านการตลาดมักจะชอบวิธีของคิมบัลล์

ระบบทะเลสาบข้อมูล ตลาดข้อมูล หรือคลังข้อมูล องค์กรของคุณควรเลือกแบบใด?

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

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

บทความโดย Martin Heller
เนื้อหาจากบทความของ InfoWorld
แปลและเรียบเรียงโดย ไอสวรรค์ ไชยชะนะ
ตรวจทานและปรับปรุงโดย ปพจน์ ธรรมเจริญพร

Recommended Posts