Taking too long? Close loading screen.

Data Engineer (DE) ผู้อยู่เบื้องหลังโลก Big Data

Aug 1, 2022

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

วิศวกรข้อมูล คือใคร ทำอะไร

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

หน้าที่และบทบาทของวิศวกรข้อมูล

คำว่า วิศวกร ถ้าแปลง่าย ๆ คือคนที่ต้องออกแบบและสร้างบางสิ่งบางอย่าง สิ่งที่ วิศวกรข้อมูลต้องออกแบบและสร้างคือ Data Pipeline ที่ทำหน้าที่ส่งข้อมูลจากหลาย ๆ แหล่ง และนำข้อมูลดิบเหล่านี้มามาแปลงในรูปแบบที่นำไปใช้ได้ง่าย และเก็บไว้ที่เดียวกัน เช่นการทำ ETL หรือการทำความสะอาดข้อมูล (Cleasing Data) ก่อนที่จะนำไปเก็บไว้ที่ Data Lake หรือ Data Warehouse นอกจากนี้ยังต้องออกแบบและจัดการแพลตฟอร์มสำหรับโครงสร้างพื้นฐาน (Infrastructure) ของ Big Data และวิธีการเก็บข้อมูลทั้งหมด เพื่อให้เก็บข้อมูลให้มีประสิทธิภาพและง่ายต่อการไปใช้งาน อีกทั้งยังต้องจัดเตรียมช่องทางสำหรับให้คนอื่นที่ต้องการนำข้อมูลไปใช้ต่อผ่านทาง API, ฐานข้อมูล, หรือในรูปแบบไฟล์

อาวุธของวิศวกรข้อมูลมีอะไร

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

  • Data Ingestion เป็นเครื่องมือสำหรับนำเข้าข้อมูลเข้าสู่ Data Lake หรือ Data Warehouse จากหลายแหล่งหลายหลายรูปแบบ ตัวอย่างเครื่องมือเช่น Apache Airflow, Apache Nifi, Azure Data Factory
  • Data Processing เครื่องมือสำหรับนำข้อมูลมาประมวลผลโดยการทำความสะอาด ดัดแปลง หรือกรอง ก่อนที่จะเก็บ ข้อมูลอาจจะมาในรูปแบบของ batch หรือแบบ streaming เข้ามาก็ได้ ตัวอย่างเครื่องมือนี้ก็คือ Apache Spark, Apache Kafka
  • Data Storage เป็นที่พักข้อมูลหรือเก็บข้อมูล เพื่อรอสำหรับการแจกจ่ายและนำไปใช้ต่อ เป็นส่วนสำคัญเช่นกัน ขึ้นอยู่กับว่าจะเก็บรูปแบบไหน ลักษณะไหน และเก็บที่ไหน เช่นใน Data Lake หรือ Data Warehouse ตามประเภทของข้อมูลและการนำไปใช้ต่อ เพื่อให้สามารถเข้าถึงได้ง่ายและรวดเร็ว
  • Database หรือ ฐานข้อมูล ถือว่าเป็นเครื่องมือเก็บข้อมูลในรูปแบบโครงสร้างหรือกึ่งโครงสร้าง และสามารถเข้าถึงได้ง่ายด้วย SQL เป็นเครื่องจำเป็นสำหรับวิศวกรข้อมูล ตัวอย่างเช่น Relational Database เช่น  MSSQL, MySQL, Postgres หรือ NoSQL Database เช่น MongoDB, Cassandra, Redis
  • Distribution System เนื่องจากวิศวกรข้อมูลต้องทำงานกับข้อมูลที่เป็น Big Data การทำงานด้วยระบบที่เป็นลักษณะเครื่องเดียว อาจจะไม่เพียงพอสำหรับการเก็บ และการประมวลผล อีกทั้งยังขยายได้ลำบาก Distribution System จึงถือว่าเป็นเครื่องมือที่สำคัญ โดยเครื่องมือที่เป็นที่รู้จักก็คือ Hadoop
  • Machine Learning Framework เพราะว่าวิศวกรข้อมูลควรจะรู้และเข้าใจเครื่องมือพื้นฐานที่นักวิทยาศาสตร์ข้อมูลใช้งานเพื่อจัดเตรียมในการวิเคราะห์ เช่น PyTorch, Tensorflow
DE-tool
ตัวอย่างเครื่องมือที่ Data Engineer ใช้งาน
(รูปภาพจาก https://dzone.com/articles/how-to-become-a-data-engineer-a-hype-profession-or)

อยากเป็นวิศวกรข้อมูลต้องรู้อะไรบ้าง

การที่จะเป็นวิศวกรข้อมูลนั้นจำเป็นต้องมีความรู้ที่หลากหลายมาก อาจจะไม่จำเป็นต้องรู้ลึกหรือเชี่ยวชาญทุกเรื่อง ทักษะที่จำเป็นต้องรู้คือ

  • Programming Language เป็นสิ่งจำเป็นมากในการเป็นวิศวกรข้อมูล โดยภาษาที่ใช้บ่อย ๆ ในสายนี้คือ Python, R, Scala
  • SQL และ NoSQL เป็นอีกทักษะที่สำคัญ ต้องมีความรู้ในการเขียน Query เช่น SQL หรือ NoSQL ในการเข้าถึงฐานข้อมูล
  • Unix Shell Script เนื่องจากวิศวกรข้อมูล จำเป็นต้องทำงานกับ Server ที่เป็น linux และไม่มี GUI จึงหลีกเลี่ยงไม่ได้ที่ต้องรู้ shell script พื้นฐานในการจัดการกับ Server
  • Software Engineering เช่น การพัฒนาซอฟต์แวร์์ การออกแบบสถาปัตยกรรมของซอฟต์แวร์ การดูแลซอฟต์แวร์์
  • Data Processing และ Algorithm เพื่อให้สามารถจัดการข้อมูลได้อย่างรวดเร็ว และมีประสิทธิภาพในการเตรียมข้อมูล
  • Distribution System เพราะเป็นสิ่งที่วิศวกรข้อมูลหลีกเลี่ยงไม่ได้ที่จะต้องพบ เนื่องจากต้องจัดการกับข้อมูลจำนวนมาก จึงต้องเข้าใจการทำงานของ Distribution System
  • Cloud Computing ปัจจุบันหลายองค์กรเริ่มไปใช้ Cloud เนื่องจากว่ามีความเสถียร และดูแลง่าย การเรียนรู้และออกแบบบน Cloud จึงถือว่าเป็นสิ่งจำเป็นในยุคนี้ โดย Cloud ที่ใช้อยู่มากคือ AWS, Azure, และ Google Cloud Platform

วิศวกรข้อมูลและนักวิทยาศาสตร์ข้อมูลต่างกันไหม

datalake
ภาพจาก https://9gag.com/gag/aBnQKvO

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

อยากเป็นวิศวกรข้อมูลต้องทำอย่างไร

DE

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

  • เรียนจบมาจากสาขาที่เกี่ยวข้อง แทบจะทุกมหาวิทยาลัยมีการเรียนการสอนนี้ และมีหลายคณะที่มีความเกี่ยวข้องกับวิศวกรข้อมูล เช่น วิศวกรรมคอมพิวเตอร์, วิทยาการคอมพิวเตอร์, เทคโนโลยีสารสนเทศ (IT), วิศวกรรมซอฟ์ตแวร์ เป็นต้น
  • เรียนรู้จากแหล่งข้อมูลเพิ่มเติมในอินเทอร์เน็ต หลายคนที่ไม่ได้จบตรงสาย ไม่ได้หมายความว่าจะไม่สามารถเป็นวิศวกรข้อมูล ได้ และถึงเรียนจบตรงก็ไม่เพียงพอสำหรับวิศวกรข้อมูล การหาข้อมูลในอินเตอร์เน็ตเป็นสิ่งสำคัญ เพราะว่าเทคโนโลยีด้าน Big Data นั้นไปไวมาก ในอินเทอร์เน็ตมีทั้งข้อมูลอื่นและคอร์สที่มีทั้งฟรีและเสียเงิน เช่น Coursera, Udemy หรือ GBDi ก็มีเปิดสอนด้วยเช่นเดียวกันนะครับ
  • เริ่มงานระดับ junior ที่เกี่ยวข้องกับ Big Data บางคนที่จบใหม่ หรือจบไม่ตรงสาย อาจจะมองภาพไม่ออก การเริ่มงานที่ทำงานกับข้อมูล ก็ทำให้สามารถมองภาพข้อมูลง่ายขึ้น และส่งผลให้สามารถนำไปต่อยอดง่ายขึ้นในอนาคต
  • สอบ Certification ในปัจจุบันมี Certification ให้สอบได้หลายหลายมาก ซึ่งข้อสอบและแนวทางสามารถหาได้ง่ายผ่านอินเทอร์เน็ตและมีคอร์สเพื่อสำหรับการสอบโดยเฉพาะ การที่มี Certification ก็ถือว่าเป็นใบเบิกทางที่ดีสำหรับในการสมัครงาน

แหล่งอ้างอิง

https://www.techtarget.com/searchdatamanagement/definition/data-engineer

https://www.mastersindatascience.org/careers/data-engineer/

https://www.codecademy.com/resources/blog/what-does-a-data-engineer-do/

https://quanthub.com/what-is-data-engineering/

เนื้อหาโดย กุศะภณ เพชรสุวรรณ

ตรวจทานและปรับปรุงโดย นววิทย์ พงศ์อนันต์

Kusapon Phetsuwan

Data Engineer Government Big Data institute (GBDi)

Navavit Ponganan

Senior Data Scientist Government Big Data Institute (GBDi)

Sign up to join Big Data Community Thailand

Make comments, write articles, and contribute to our community.