data lake data warehouse database

Big Data เก็บที่ไหน? Data Lake vs Data Warehouse vs Database

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

โดยทั่วไป การเก็บข้อมูลจะอยู่ในรูปแบบฐานข้อมูลแบบเดิม (Traditional Database) เป็นแบบที่มีการเก็บข้อมูลที่มีโครงสร้างชัดเจน (Structured Data) และมีขนาดไม่ใหญ่มาก ซึ่งมีความเร็วในการประมวลผลไม่มากนัก

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

ในบทความนี้เราจะมีเล่าฟังกัน ถึงความเป็นมา ความแตกต่าง การเลือกใช้งาน และตัวอย่างเทคโนโลยี

Database, Data Warehouse, Data Lake คืออะไร

เรามาเริ่มทำความรู้จักที่เก็บข้อมูลทั้งหลายกันก่อนเลย

Database คืออะไร

database
Database

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

ข้อมูลที่มีโครงสร้างชัดเจน (Structured Data) คือ ข้อมูลที่มีการจัดเรียงตัวอย่างเป็นระเบียบ มีการกำหนดตัวแปรชัดเจนพร้อมใช้งาน เช่น ข้อมูลอยู่ในรูปแบบตาราง (Excel)

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

ตัวอย่าง เทคโนโลยี Database

Postgresql Logo
PostgreSQL Logo

PostgreSQL เป็น Database ที่เป็นแบบ open source มีคุณสมบัติขั้นสูงมากมาย และยังเรียกได้ว่าเป็นเวอร์ชั่นฟรีของ Oracle อีกด้วย

MySQL Logo
MySQL Logo

MySQL เป็น Database ที่ได้รับความนิยมมากอันหนึ่งที่เป็นแบบ open-source ง่ายต่อการใช้งานและมีความเร็วสูง

นอกจากนี้ยังมี Oracle, Microsoft SQL Serverและ MongoDB โดยที่มีความแตกต่างกัน ในเรื่องของรูปแบบของข้อมูลที่เก็บไว้ เช่น Oracle, MySQL และ Microsoft SQL Server จะสามารถทำงานได้ดีกับ SQL ส่วน PostgreSQL และ MongoDB จะทำงานกับ NoSQL

สำหรับใครที่สงสัยว่า Database ของที่ไหนเป็นที่นิยมมากกว่ากัน และมี Database ชนิดอื่นๆอีกไหม สามารถเข้าไปดูได้ที่ DB-Engines

ขยับขึ้นมาจาก Database เราก็มี Data Warehouse มารองรับ

Data Warehouse คืออะไร

data warehouse 1
Data Warehouse

Data Warehouse คือที่เก็บขนาดใหญ่สำหรับข้อมูลที่มีโครงสร้างชัดเจนจากหลายแหล่ง (สามารถเก็บข้อมูลกึ่งโครงสร้างได้ใน Data Warehouse ที่แอดวานซ์) มารวมกันไว้ โดยที่บริษัทขนาดกลางไปจนถึงขนาดใหญ่มักจะมีไว้ใช้ในการแชร์ข้อมูลระหว่างทีม หรือระหว่างแผนก นักวิเคราะห์ธุรกิจ (Business Analyst) สามารถดึง insight ออกมา ทำเป็นรายงานไว้สำหรับการตัดสินใจด้านธุรกิจของฝั่งบริหาร เรียกได้ว่าเป็นแกนหลักสำหรับการวิเคราะห์ข้อมูลเลยทีเดียว

เราลองมาดูตัวอย่างผู้ให้บริการเทคโนโลยี ทั้งของ Data Warehouse กัน เพื่อให้เพื่อนๆคุ้นเคยและไม่ตกใจเวลาได้ยินคนพูดถึงกัน

ตัวอย่าง เทคโนโลยี Data Warehouse

Amazon Redshift Logo
Amazon Redshift Logo

Amazon Redshift เป็น Data Warehouse ที่ได้รับความนิยมมากอันหนึ่ง ที่สามารถรวมเข้ากับ Data Lake และ AWS environment ได้ดี ทั้งยังให้ผู้ใช้เรียกข้อมูลทั้งแบบมีโครงสร้างชัดเจน และข้อมูลกึ่งโครงสร้างจากโฮสได้ ตัวอย่างบริษัทที่ใช้ Redshift ก็มี Pfizer, Nasqaq และ Macdonald

Snowflake Elastic Data Warehouse Logo
Snowflake Elastic Data Warehouse Logo

Snowflake Elastic Data Warehouse เป็นอีก Data Warehouse หนึ่งที่ได้รับความนิยม สามารถทำให้ธุรกิจกลายเป็นธุรกิจที่ขับเคลื่อนด้วยข้อมูลได้ อีกทั้งยังจ่ายเท่าที่ใช้งาน ตัวอย่างบริษัทที่ใช้ Snowflake Elastic ก็มี Tableau, Qlik และ Inofrmatica

การสร้าง Data Warehouse นั้น จำเป็นต้องมีการวางแผน การออกแบบในการเก็บข้อมูลไว้ในรูปแบบที่ดี สามารถเก็บข้อมูลที่ในปัจจุบันและข้อมูลที่มีอยู่ก่อนหน้า มีข้อจำกัดตรงที่สามารถเก็บข้อมูลที่มีโครงสร้างชัดเจนได้เท่านั้น

และสิ่งที่จะมาช่วยขจัดข้อจำกัดนั้นก็คือ Data Lake นั่นเอง

Data Lake คืออะไร

data lake
Data Lake

Data Lake คือที่เก็บขนาดใหญ่ที่สามารถเก็บข้อมูลได้ทุกรูปแบบจากหลายแหล่งโดยที่ไม่ต้องมีการแปลงข้อมูลก่อน พูดให้เข้าใจง่ายๆก็คือสามารถเก็บข้อมูลดิบได้ ตั้งแต่ข้อมูลที่มีโครงสร้างชัดเจน (Structured Data) ข้อมูลกึ่งโครงสร้าง (Semi-Structured Data) และข้อมูลที่ไม่มีโครงสร้างแน่นอน (Unstructured Data)

ข้อมูลกึ่งโครงสร้าง (Semi-Structured Data) นั้นคือข้อมูลที่เกือบจะมีโครงสร้างในระดับหนึ่งแต่ก็ต้องนำมาจัดให้อยู่ในรูปแบบที่ง่ายต่อการใช้งานก่อน เช่น JSON, XML และ HTML

ข้อมูลที่ไม่มีโครงสร้างแน่นอน (Unstructured Data) คือข้อมูลที่ไม่สามารถบอกได้เลยว่าโครงสร้างเป็นอย่างไร เช่น ข้อความ รูปภาพ หรือแม้แต่เสียง

เราสามารถเปลี่ยนรูปแบบโครงสร้างของข้อมูลให้ นักวิทยาศาสตร์ข้อมูล (Data Scientist) หรือ นักวิเคราะห์ข้อมูล (Data Analyst) ใช้ในการสร้างโมเดล วิเคราะห์ข้อมูลแบบ real time ได้ แต่ก็ไม่สามารถดึงข้อมูลมาใช้สร้างรายงานหรือข้อสรุปในการตัดสินใจทางธุรกิจได้ง่ายๆเหมือนใน Data Warehouse เพราะจำเป็นต้องทำให้ข้อมูลอยู่ในรูปแบบที่ง่ายต่อการใช้งานก่อน

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

ตัวอย่าง เทคโนโลยี Data Lake

Azure Data Lake Storage Logo
Azure Data Lake Storage Logo

Azure Data Lake Storage เป็น Data Lake ที่เน้นการสร้างที่เก็บข้อมูลทั้งหมดในที่เดียว มีระบบรักษาข้อมูลที่ดี มีการจำกัดสิทธิในการเข้าถึงข้อมูลตามตำแหน่ง และจ่ายเท่าที่ใช้งาน ตัวอย่างบริษัทที่ใช้งาน เช่น Rockwell Automation, Smiths Group, Marks & Spencer

Amazon S3 Logo
Amazon S3 Logo

Amazon S3 เป็น Data Lake ที่ให้บริการในระดับ industry ทั้งเรื่องของความสามารถในการรองรับการขยายตัวของข้อมูล ความปลอดภัยของข้อมูลและประสิทธิภาพ ตัวอย่างบริษัทที่ใช้งาน Netflix และ Airbnb

วิธีการเลือกใช้งานระหว่าง Database, Data Warehouse, Data Lake

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

How to choose data storage 1
Infographic – How to choose Data storage

มาอธิบายขยายความให้เห็นกันชัดๆ

โครงสร้างข้อมูล

  • นึกว่าเราเก็บข้อมูลมาจากกี่แหล่งข้อมูล โครงสร้างเป็นแบบไหน ความถี่ของข้อมูล และช่วงเวลาที่จะเข้ามาของข้อมูลเป็นอย่างไร
  • Data Lake สามารถเก็บได้ทั้งข้อมูลที่มีโครงสร้างชัดเจนและข้อมูลที่ไม่มีโครงสร้างแน่นอนจากหลายแหล่ง เหมือนห้องเก็บของ
  • Data Warehouses สามารถเก็บได้เฉพาะข้อมูลที่มีโครงสร้างชัดเจนอย่างเดียวจากหลายแหล่ง แต่ Data Warehouses สมัยใหม่เริ่มเก็บข้อมูลกึ่งโครงสร้างได้
  • Database สามารถเก็บได้เฉพาะข้อมูลที่มีโครงสร้างชัดเจนอย่างเดียวจากแหล่งเดียว

ความต้องการในการประมวลผลข้อมูล

  • เราจำเป็นต้องเข้าใจกระบวนการสร้างโมเดล และปรับให้ตรงกับยุทธศาสตร์การจัดการข้อมูลขององค์กร
  • Data Lake จะมีความยืดหยุ่นมากกว่าในการเก็บข้อมูล เพราะสามารถเก็บข้อมูลดิบได้ รวมถึง metadata (ข้อมูลที่มีรายละเอียดความเป็นมาของข้อมูล เช่น ข้อมูลที่มี ชื่อผู้แต่ง ชื่อเจ้าของผลงาน ผู้รับผิดชอบ ปีที่เขียน ชื่อเรื่อง อยู่ในไฟล์เดียวกัน) และมี schema ซึ่งเป็นโครงสร้างในการดึงข้อมูลที่เป็นรูปแบบออกมาวิเคราะห์
  • Database และ Data Warehouse ต้องใช้กระบวนการ ETL (Extract, Transform, Load) เข้ามาทำการแปลงข้อมูลจากข้อมูลดิบไปเป็นข้อมูลที่มีโครงสร้างที่กำหนดไว้ที่เรียกว่า schema-on-write ก่อนถึงจะสามารถใช้งานได้

ที่เก็บข้อมูล และ ข้อจำกัดของงบที่มี

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

เหตุผลและคนใช้งาน

  • ถ้าเราต้องการใช้งานในการหา insight ของธุรกิจและรายงานให้กับฝั่งบริหาร Data Warehouse ก็จะเพียงพอต่อความต้องการ แต่ก็มาพร้อมกับค่าใช้จ่ายที่สูงขึ้นในการจัดเก็บข้อมูล
  • Data Scientist อาจจะอยากใช้งาน Data Lake มากกว่าเพราะสามารถพัฒนาปัญญาประดิษฐ์ (AI) และ การเรียนรู้ของเครื่อง (ML) จากข้อมูลที่มีโครงสร้างชัดเจน และข้อมูลที่ไม่มีโครงสร้างแน่นอนได้
  • เรามักจะใช้ Database ในการเก็บข้อมูลธุรกรรมที่เข้ามาต่อเนื่องและก็เป็นตัวเลือกที่ดีในกรณีที่ผู้ใช้งานที่สามารถใช้ SQL ได้คล่อง ส่วน Data Warehouse นั้นเน้นการดึงข้อมูลที่เป็นระเบียบแล้วมาวิเคราะห์มากกว่า

เทคโนโลยี และ ระบบนิเวศข้อมูล

  • Data Lake ได้รับความนิยมเนื่องจากมีการนำ Hadoop เทคโนโลยีที่สามารถจัดการกับข้อมูลขนาดใหญ่และประมวลผลบนคอมพิวเตอร์ที่เชื่อมกันเป็นกลุ่มได้ อีกทั้งสามารถเก็บข้อมูลที่ไม่มีโครงสร้างแน่นอนจากระบบภายของบริษัทได้ทั่วทั้งบริษัทได้แบบ real time
  • เราควรพิจารณาการเข้าถึงของผู้ใช้ข้อมูลและความซับซ้อนในการเปลี่ยนแปลง ในกรณีที่มีการเปลี่ยนระบบการจัดการข้อมูลของบริษัท เปลี่ยนแหล่งข้อมูล หรือลักษณะโครงสร้างของข้อมูลที่เก็บมีการเปลี่ยนไป
  • การเปลี่ยนแปลงของ Database และ Data Warehouse จะมีค่าใช้จ่ายที่สูงกว่ามาก เนื่องจากอาจจะต้องเริ่มวางแผนและทำการสร้างใหม่ทั้งหมด

สรุป เทคโนโลยีการเก็บข้อมูล

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

สุดท้ายนี้ถ้าใครสงสัยว่าการเดินทางของข้อมูลตั้งแต่ต้นจนจบเป็นอย่างไร มีข้อมูลแล้ว คลีนแล้ว ไปเก็บไว้ที่ไหน เปิดดูบทความ Data Pipeline ของเราได้ด้านล่างนี้เลย

ถ้าเพื่อนๆคิดว่าบทความนี้มีประโยชน์ อยากฝากให้ช่วยแชร์ให้เพื่อน ๆ หน่อยนะคะ และถ้าอยากติดตามบทความดี ๆ ด้าน Data กันบน Facebook หรืออยากมาพูดคุย ติชมกัน เชิญได้ที่ Facebook Page: DataTH – Data Science ชิลชิล เลยนะค้าา

แล้วพบกันใหม่บทความหน้าค่ะ

บทความแนะนำอื่น ๆ

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

บทความที่เกี่ยวข้อง