Screenshot 2018-03-24 14.05.42

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

แต่พอหันกลับไปถามว่า แล้ว Big Data ที่ว่าข้อมูลใหญ่แค่ไหน บางคนพูดแค่หลักล้านต้นๆ ไม่มี Transaction Data พอพูดถึงข้อมูลที่เปิดออกมา (Open data) ก็กลายเป็นแค่ Summary data บ้างก็เปิดมาในรูป PDF  ไม่ใช่ข้อมูลในฟอร์แมทดิจิทัลที่พร้อมใช้งาน (อย่าง CSV) ทั้งที่การทำ Big Data ต้องเน้นที่การมี Transactional Data  หรือ Detail Data ที่เก็บรายละเอียดให้มากที่สุด ซึ่งผมเคยเขียนบทความเรื่อง “Big data ต้องเริ่มต้นจากการวิเคราะห์ Transactional data ไม่ใช่เล่นกับ summary data” แต่ก็แปลกใจที่หลายๆหน่วยงานบอกว่าทำ Big Data แต่แทบไม่มีการนำ Transactional Data มาวิเคราะห์แต่อย่างใด

อีกประเด็นที่สำคัญคือโครงสร้างพื้นฐาน ที่เคยเน้นบ่อยๆว่า เราต้องปรับโครงสร้างพื้นฐานด้านข้อมูล (Information infrastructure) โดยเน้นที่การทำ Data Lake แล้วใช้ Data Science ไม่ใช่การทำ Data Warehouse แล้วใช้ Business Intelligence ในรูปแบบเดิมๆ ซึ่งผมเคยเขียนเรื่องนี้ในบทความ “การทำโครงการ Big Data อย่างรวดเร็ว ควรเริ่มอย่างไร” แต่ในปัจจุบันหลายๆหน่วยงานก็ยังไม่เข้าใจกับการทำ Data Lake แล้วก็ยังเน้นไปที่ Data Warehouse อย่างเดิมทั้งๆที่ Data Warehouse จะไม่สามารถรองรับข้อมูลขนาดใหญ่ (Volume) หรือข้อมูลหลากหลายประเภท (Variety) ซึ่งเป็นนิยามสำคัญของ Big Data ได้

Data Lake คืออะไร

Tamara Dull จาก SAS ให้คำนิยามของ Data Lake ไว้ว่า

Dark lake is a storage repository that holds a vast amount of raw data in its native format, including structured, unstructured and semi-structured data. The data structure and requirements are not defined until the data is needed.

จะเห็นได้ว่า Data Lake คือคลังข้อมูลขนาดใหญ่มหาศาล ซึ่งเราจะใช้เก็บข้อมูลที่เป็น Raw data ในหลากหลายรูปแบบทั้ง  Structure, unstructure หรือ semi-structure โดยข้อมูลที่เก็บจะยังไม่ต้องคำนึงถึงโครงสร้างหรือนิยามการใช้งานในตอนต้น

Screenshot 2018-03-27 09.52.29

รูปที่ 1 องค์ประกอบต่างๆของ  Data Lake

เทคโนโลยีที่ใช้เป็น Data Lake โดยมากคือ Hadoop เพราะมีราคาถูกกว่าเทคโนโลยีอื่นๆและมีเครื่องมือในการประมวลผลได้ ในขณะที่ Database หรือ No SQL จะมีข้อจำกัดที่ขนาดของข้อมูลหรือรูปแบบข้อมูลที่จะนำมาเก็บซึ่งอาจได้เฉพาะ  Structure data หรือ semi-structure data บางประเภท นอกจาก Hadoop ก็อาจมีเทคโนโลยีอื่นที่เหมาะในการทำเป็น Data lake ก็คือ Cloud storage หรือ Object storage ที่ราคาถูกกว่า ซึ่งขึ้นอยู่กับหน่วยงานว่าจะเลือกเทคโนโลยีใดมาเป็น Data Lake

ข้อมูลที่เก็บใน Data Lake  จะเป็น Raw Data ที่ไม่สามารถแก้ไขได้ แต่จะทำให้ผู้ใช้สามารถตรวจสอบและดูรายละเอียดของข้อมูลได้มากที่สุด และอาจดูข้อมูลย้อนหลังได้ แต่จุดด้อยของข้อมูลใน Data Lake คือยังเป็นข้อมูลดิบที่อาจไม่สมบูรณ์และขาดความถูกต้อง (Poor quality of data) ซึ่งผู้ใช้งานเช่น Data developer หรือ Data science จะต้องทำการ Cleansing ข้อมูลก่อนให้ Data analyst หรือ Business user นำไปใช้งาน นอกจากก็อาจมีเรื่องของความปลอดภัยของข้อมูล ดังนั้นการใช้งาน Data lake จำเป็นต้องมีการทำ Data Governance ที่ดี

 การจัด Zone สำหรับ Data Lake 

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

Screenshot 2018-03-27 10.07.21

รูปที่  2 แสดงโซนต่างๆ ของ Data Lake (จาก Data Lake Governance Best Practices, Parth Patel and Adam Diaz)

  1. Transient Zone ข้อมูลที่เข้าสู่ Data Lake จะถูกนำมาพักไว้ใน Zone นี้ก่อนบันทึกลง Storage  
  2. Raw Zone เป็นข้อมูลดิบที่ยังไม่ผ่านการทำความสะอาดหรือปรับรูปแบบใดๆ ซึ่งโดยส่วนใหญ่แล้วนักพัฒนาข้อมูล หรือนักวิทยาศาสตร์ข้อมูลมักจะใช้ข้อมูลใน Raw Zone นี้
  3. Trusted Zone เป็นข้อมูลที่มาจาก Raw Zone ซึ่งผ่านกระบวนการทำความสะอาดข้อมูลตามมาตรฐานและกฎเกณฑ์ที่กำหนดแล้วเพื่อคุณภาพข้อมูล ข้อมูลใน Zone นี้เป็นแหล่งข้อมูลหลักที่จะถูกใช้โดยนักวิเคราะห์ข้อมูลและผู้ใช้โดยทั่วไป เพื่อให้สามารถใช้ข้อมูลได้ง่าย
  4. Refined Zone เป็นข้อมูลที่ผ่านกระบวนการประมวลผลแล้ว

การจัดทำ Data Catalog

การแบ่งโฟลเดอร์ต่างๆ ใน Data Lake อาจช่วยทำให้ผู้ใช้สามารถเข้าใจโครงสร้างข้อมูลต่างๆ ที่อยู่ใน Hadoop Cluster ได้ดีขึ้น แต่ยังจำเป็นต้องหาเครื่องมือมาทำ Data Catalog เพื่อ

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

ควรจะต้องเป็นเครื่องมือที่สามารถทำ Catalog ได้โดยอัตโนมัติและสามารถใช้งานได้โดยง่าย ซึ่งในปัจจุบันมีผู้ผลิตหลายราย เช่น Teradata Loom, Waterline Data Invertory, Cloudera Navigator, Informatica Governed หรือ Apache Atlas เป็นต้น

การใช้งาน Data Lake

เราสามารถสรุปตัวอย่างการทำงานต่างๆของ Data Lake ได้ในรูปที่ 3 ซึ่งจะเห็นขั้นตอนต่างๆในการใช้งาน Data Lake  (ในรูปคือ Hadoop ที่อาจใช้ Distribution ต่างๆอาทิเช่น Cloudera, Hortonworks หรือ  MapR) ดังนี้

Screenshot 2018-03-27 10.10.16

รูปที่  3 Data Lake ​Workflow (จาก Enterprise Data Lake: Architecture Using Big Data Technologies – Bhushan Satpute)

  1. มีการดึงมูลจากแหล่งต่างๆอาทิเช่น Transaction, OLTP, Document, IoT หรือ Social Media เข้ามาเก็บใน Data Lake
  2. ข้อมูลที่ดึงเข้ามาอาจเป็น Real-time streaming data ในบางกรณี
  3. กรณีข้อมูลที่เก็บใน Data lake เป็นข้อมูลที่มีความอ่อนไหว (sensitive data) เราอาจต้องทำการเข้ารหัสข้อมูล
  4. Data developer สามารถใช้เครื่องมือในการประมวลข้อมูลที่มากับ Data Lake เช่น Apache spark หรือ Hive เพื่อปรับปรุงข้อมูลให้มีคุณภาพมากขึ้น และอาจเก็บใน Trusted zone
  5. ทำการเคลื่อนย้ายข้อมูลที่มีคุณภาพมากขึ้นเข้าสู่ Data warehouse เพื่อให้นักวิเคราะห์ข้อมูล (Data Analyst) หรือผู้ใช้ทั่วไป (Business user) ใช้งานต่อ
  6. มีการสร้าง Schema หรือ meta-data ของข้อมูล รวมถึงการทำ Governance
  7. นักวิเคราะห์ข้อมูลหรือผู้ใช้ทั่วไป สามารถใช้เครื่องมืออย่าง Data visualization เพื่อวิเคราะห์ข้อมูลจาก  Data warehouse ได้
  8. Data scientist หรือ Data developer  ก็สามารถที่จะเข้าถึงข้อมูลของ Data Lake แล้วนำข้อมูลมาทำ Big data analytics ได้

ที่เขียนมาทั้งหมดนี้ก็เพื่อสร้างความเข้าใจให้เห็นภาพว่า หัวใจสำคัญของการทำ Big data เรื่องหนึ่งคือการพัฒนา Data Lake ในองค์กร

ธนชาติ นุ่มนนท์

IMC Institute

มีนาคม 2561

 

 

 

 

 

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

Connecting to %s