Data Engineering

Data Engineering

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

All Data Engineering

PostType Filter En

บทความ

Zero ETL: อนาคตของการทำ data integration
“Zero ETL จะเป็นอนาคตของการทำ data integration จริง ๆ หรือจะเป็นเพียง buzzword ที่ผ่านมาแล้วก็หายไปตามกาลเวลา” ในบทความนี้เราจะมารู้จักกันว่า Zero ETL คืออะไร มีข้อดี ข้อเสียอย่างไร และเหมาะสมกับการใช้งานของเราหรือไม่กันครับ
18 May 2023

บทความ

ทำไมใคร ๆ ก็อยากจะมาเป็นวิศวกรข้อมูล (Data Engineer)
เราทุกคนเคยได้ยินคำโปรยว่า — Data Scientist, the sexiest job of the 21st Century (นักวิทยาศาสตร์ข้อมูลเป็นอาชีพที่เซ็กซี่ที่สุดแห่งศตวรรษที่ 21) แต่มันจริงหรือไม่ ? ( data engineer คือ ) สำหรับหลาย ๆ คนที่ยังใหม่ในวงการข้อมูล วิทยาศาสตร์ข้อมูล (Data Science) จะเป็นสิ่งแรกที่ได้ยิน และชื่อมันติดหู  ไม่ทันไร ใคร ๆ ก็เป็นนักวิทยาศาสตร์ข้อมูลกันหมดแล้ว หรือใฝ่ฝันจะเป็น แต่ว่านั่นไม่ใช่อาชีพเดียวในวงการนี้ มีหลายอาชีพที่เกี่ยวข้องกับข้อมูล นักวิทยาศาสตร์ข้อมูลได้เป็นผู้บุกเบิกข้อมูลมานานเกินไปแล้ว ถึงเวลาเปลี่ยนผ่านเข้าสู่ยุคของวิศวกรข้อมูลและอาชีพอื่น ๆ ที่เกี่ยวข้อมกับข้อมูลแล้วล่ะ ซึ่งสิ่งนี้มันถูกพิสูจน์ว่าเกิดขึ้นแล้วจากข้อมูลในปี 2020 วิทยาศาสตร์ข้อมูลอาจอยู่ในช่วงขาลง ตาม รายงานการสัมภาษณ์งานด้านวิทยาศาสตร์ข้อมูลปี 2021 โดย interviewquery.com ที่รับเอาประสบการณ์สัมภาษณ์งานด้านวิทยาศาสตร์ข้อมูลมากกว่า 10,000 ราย พบว่า การสัมภาษณ์งานด้านวิทยาศาตร์ข้อมูลเติบโตขึ้นเพียงแค่ 10% เมื่อเทียบกับ การสัมภาษณ์งานด้านวิศวกรรมข้อมูล ซึ่งเติบโตถึง 40% ในปี 2020 ในเรื่องการเติบโตของอาชีพ ได้มีการรวบรวมข้อมูลมาจากบริษัทเทคโนโลยีมากกว่า 450 แห่ง ทำให้เห็นว่าสำหรับอาชีพนักวิทยาศาสตร์ข้อมูลที่จริงแล้วอัตรา การเติบโตของอาชีพนี้ลดลง 15% ในปี 2020 เมื่อเทียบกับปี 2019  การลดลงนี้ถูกทดแทนด้วยการเติบโตขึ้นในอาชีพอื่น ๆ ที่เกี่ยวข้องกับข้อมูล เช่น นักวิเคราะห์ธุรกิจ (Business Analyst) และวิศวกรข้อมูล (Data Engineer)  ฉะนั้นเราไม่สามารถพูดได้แล้วว่า นักวิทยาศาสตร์ข้อมูลยังคงเป็นอาชีพที่เซ็กซี่ที่สุด เพราะเดี๋ยวนี้มีอาชีพอื่น ๆ ที่ ‘ฮ็อตกว่า’ ในวงการข้อมูลเกิดขึ้นมาแล้ว และอาชีพวิศวกรข้อมูลก็เป็นหนึ่งในนั้น อนาคตของอาชีพ มาคุยกันเรื่องการเติบโต และความต้องการของอาชีพวิศวกรข้อมูล จากรายงาน DICE’s 2020 Tech Job Report วิศวกรข้อมูลเป็นอาชีพที่เติบโตเร็วที่สุดในปี 2019 โตขึ้นถึง 50% เมื่อเทียบกับปีก่อน นักวิทยาศาสตร์ข้อมูลก็อยู่ในลิสต์ด้วย แต่โตขึ้นเพียง 32% เมื่อเทียบกับปีก่อน แต่ไม่ใช่แค่นั้น การศึกษาเรื่องค่าแรงจากที่อื่น ๆ ก็พบผลลัพธ์ที่คล้ายกันเกี่ยวกับอาชีพวิศวกรข้อมูล — ในฐานะเป็นผู้ประกอบอาชีพด้านข้อมูล เราเข้าใจว่าข้อมูลดังกล่าวเป็นความจริง ข้อมูลระบุว่าวิศวกรรมข้อมูลเป็นหนึ่งในอาชีพที่เติบโตเร็วที่สุดในไม่กี่ปีที่ผ่านมานี้ ซึ่งแซงหน้าอาชีพวิทยาศาสตร์ข้อมูลไปแล้วอีกด้วย ทำไมถึงเป็นเช่นนี้ได้ล่ะ? การใช้จ่ายที่สูงขึ้น จากแบบสำรวจของ IDG Cloud Survey ซึ่งเก็บข้อมูลจากผู้ซื้อเทคโนโลยีขนาดใหญ่ 551 คน พบว่า มีเพียงแค่ 38% ของอุปกรณ์ไอทีทั้งหมดของพวกเขาที่อยู่ในระบบคลาวด์ ณ ปัจจุบันนี้ (2020) ใน 18 เดือน อุปกรณ์ไอทีเหล่านี้คาดว่าจะอยู่ในระบบคลาวด์ 59% ผู้ซื้อเทคโนโลยีกลุ่มเดียวกันได้จัดสรรงบประมาณไอที 32% ให้กับบริการคลาวด์คอมพิวติ้ง ซึ่งเป็นจำนวนเงิน 73.8 ล้านดอลลาร์ต่อบริษัทเทคโนโลยี (เพิ่มขึ้น 59% จากปี 2018) หลังจากการเพิ่มขึ้นอย่างต่อเนื่องของนักวิทยาศาสตร์ข้อมูล บริษัทต่าง ๆ ตระหนักว่าพวกเขาต้องการโครงสร้างพื้นฐานข้อมูลที่เหมาะสม เพื่อจะทำการวิเคราะห์ข้อมูลได้อย่างเกิดประโยชน์สูงสุด  บริษัทเริ่มใช้เงินกับโครงสร้างพื้นฐานของระบบคลาวด์ที่เหมาะสม สถาปัตยกรรมข้อมูล และการจ้างงานผู้เชี่ยวชาญด้านวิศวกรรมข้อมูล ความต้องการที่สูงขึ้น หลักฐานชัดเจนอย่างหนึ่งของความต้องการอาชีพวิศวกรข้อมูลคือการเติบโตของข้อมูลขนาดใหญ่ (Big Data) เราอยากบอกคุณว่า ข้อมูลคือน้ำมันชนิดใหม่ ข้อมูลใหม่ถูกสร้างขึ้นทุกวัน และมีแต่จะเพิ่มขึ้นเรื่อย ๆ ด้วยจำนวนข้อมูลมหาศาล จึงมีความต้องการวิศวกรข้อมูลเพิ่มขึ้น เพื่อมารับมือกับข้อมูลที่เพิ่มขึ้น อีกอย่างที่บอกให้รู้คือการเติบโตของบริการด้านวิศวกรรมข้อมูลขนาดใหญ่ที่จัดให้บริการโดยบริษัทที่ปรึกษา เช่น  Accenture และบริษัทเทคโนโลยีเช่น Cognizant  ด้วยข้อมูลที่เพิ่มขึ้นบริการด้านวิศวกรรมข้อมูลที่เหมาะสมจึงเพิ่มขึ้นด้วยเช่นกัน  ตลาดการบริการด้านวิศวกรรมข้อมูลกำลังเติบโต 18% ในแต่ละปี ซึ่งคาดว่าจะขึ้นถึง 31% ในแต่ละปีจนถึงปี 2025 การแข่งขันในผู้สมัคร จาก การศึกษา ที่ทำโดยออริ ราฟาเอล (CEO ของ Upsolver) มีผู้สมัครตำแหน่งอาชีพวิศวกรข้อมูลเฉลี่ยเพียง 2.5 คนต่อตำแหน่งงานที่ลงไว้ใน LinkedIn ซึ่งถ้าเทียบกับตำแหน่งอื่น ๆ คือมีผู้สมัครในตำแหน่งอื่น ๆ เยอะว่าวิศวกรข้อมูลมาก ตัวเลขดังกล่าวบ่งชี้ว่า มีการขาดแคลนวิศวกรข้อมูล  ดังนั้น ผู้สมัครมีโอกาสต่อรองเงินเดือนที่สูงขึ้นในขั้นตอนการว่าจ้างได้ แน่นอนว่าขั้นตอนการว่าจ้างนั้นแตกต่างกันสำหรับทุกคน และขอบเขตการต่อรองขึ้นอยู่กับหลายปัจจัย เช่น ประสบการณ์ทำงาน ทักษะ ความสำเร็จที่เคยมีมาก่อน สถานที่ตั้งบริษัท ประเภทของธุรกิจ เป็นต้น พูดจากประสบการณ์ส่วนตัวของผู้เขียน ผมเห็นบริษัทที่ให้คุณค่ากับข้อมูลของตัวเองเสนอเงินเดือนที่สูงกว่ามากเมื่อเทียบกับบริษัทอื่น ๆ ตัวอย่างที่ดีของบริษัทเหล่านี้คือบริษัทที่ให้ผลิตภัณฑ์ข้อมูลบางอย่าง รวมทั้งมีเป้าหมายบางอย่างสำหรับข้อมูลของพวกเขา หน้าที่รับผิดชอบ หน้าที่หลักของ วิศวกรข้อมูล คือ การบริหารจัดการพื้นฐานหลักของโครงสร้างข้อมูลบริษัทที่อยู่ในคลังข้อมูล โดยเนื้องานมีตั้งแต่การออกแบบโครงสร้างตารางในการสร้างไปป์ไลน์ ETL/ELT เพื่อให้แน่ใจว่าโครงสร้างพื้นฐานนั้นปรับระดับได้ และมีประสิทธิภาพสูง เพื่อจะสนองความต้องการด้านข้อมูลทั้งหมดของบริษัทได้ และยังต้องรับมือกับทุกสิ่งที่เกี่ยวข้องกับระบบอัตโนมัติของข้อมูล วิศวกรข้อมูลสามารถตอบคำถามเหล่านี้ได้— วิศวกรข้อมูลที่เชี่ยวชาญกว่ายังสามารถทำงานกับไปป์ไลน์ของข้อมูล เพื่อย่อยข้อมูลเข้าสู่ตัวรับข้อมูลตามเวลาจริง ซึ่งเป็นประโยชน์มากสำหรับการใช้งาน Machine Learning ที่รับเอาข้อมูลเข้าไป และดำเนินการบางอย่างกับข้อมูลนั้นตามเวลาจริง ทักษะ มีทักษะมากมายที่จำเป็นสำหรับการเป็นวิศวกรข้อมูล นอกจากความเชี่ยวชาญในการเขียนโปรแกรมภาษต่าง ๆแล้ว วิศวกรข้อมูลจำเป็นต้องเข้าใจการทำงานของฐานข้อมูล ตลอดจนวิธีออกแบบเส้นทางการไหลของข้อมูลที่เหมาะสม เพื่อโหลดข้อมูลเข้าสู่ฐานข้อมูล ผมจะสรุปง่าย ๆ เป็นความสามารถหลัก ๆ 5 อย่าง ได้แก่ ภาษาโปรแกรม (Python and SQL), ฐานข้อมูล (SQL และ NoSQL), เทคโนโลยี ETL/ELT (Apache Airflow, Hadoop), การสตรีมข้อมูล (Apache Beam) และโครงสร้างพื้นฐาน (โครงสร้างพื้นฐานระบบคลาวด์) บทสรุป ถ้าอ่านมาถึงตรงนี้ แสดงว่าคุณเป็นหนึ่งในบุคคลที่สนใจในวิศวกรรมข้อมูล ซึ่งเป็นหนึ่งในอาชีพที่เติบโตเร็วที่สุดในวงการนี้จริง ๆ รวมถึงเป็นหนึ่งในอาชีพที่มีรายได้เฉลี่ยสูงที่สุดในโลกด้วย อาจจะฟังเหมือนฝันแต่ขอบอกไว้เลยว่านี่คือเรื่องจริง บทความโดย Nicholas Leongเนื้อหาจากบทความของ Mediumแปลและเรียบเรียงโดย ไอสวรรค์ ไชยชะนะตรวจทานและปรับปรุงโดย เมธิยาภาวิ์ ศรีมนตรินนท์
8 September 2022

บทความ

แนวทางการปฏิบัติที่ดีที่สุด สำหรับการวัดความสำเร็จในการลงทุนด้านดิจิทัล (Digital Transformation)
ในยุคปัจจุบันที่แต่ละองค์กรต่างโฟกัสที่การลงทุนในการเปลี่ยนองค์กรแบบเดิม ๆ ให้กลายเป็นองค์กรดิจิทัล สิ่งสำคัญที่ควรให้ความสนใจเป็นอย่างยิ่งคือการสร้างโครงร่างที่ชัดเจนสำหรับการวัดผลความสำเร็จของ การลงทุนด้านดิจิทัล การเปลี่ยนแปลงสู่ดิจิทัล (Digital-Transformation) นั้นมีด้วยกันหลายองค์ประกอบ อาจเริ่มตั้งแต่การเปลี่ยนแปลงด้านกระบวนการและโมเดลธุรกิจไปจนถึงการเปลี่ยนแปลงด้านวัฒนธรรมและพัฒนาองค์กร การวิเคราะห์เพื่อวัดระดับความสำเร็จการลงทุนด้านดิจิทัลนั้นคำนวณจากดัชนีชี้วัดความสำเร็จ (KPI) ซึ่งบ่งชี้การทำกำไรที่เกิดขึ้นสืบเนื่องจากการลงทุนเพื่อการเปลี่ยนแปลงสู่ดิจิทัลเป็นหลัก ซึ่งการวิเคราะห์เหล่านี้จะช่วยรับรองได้ว่าการลงทุนดังกล่าวจะได้รับผลตอบแทนไม่ต่ำกว่าที่ได้คาดการณ์ไว้ในตอนแรก อย่างไรก็ตาม เมื่อไม่นานมานี้ได้มีการจัดทำแบบสำรวจผู้บริหารระดับ C ทั่วโลกโดย EY-Parthenon ซึ่งได้เปิดเผยว่าในขณะที่บริษัทต่าง ๆ ลงทุนด้านเทคโนโลยีมากขึ้นเป็นสองเท่า แต่พวกเขากลับประสบปัญหาในการวางแผนกลยุทธ์การลงทุนด้านดิจิทัลที่ชัดเจน วิธีการกำกับดูแลแบบศูนย์กลาง ในบรรดาผู้ที่ประสบความสำเร็จนั้น พวกเขามักเลือกใช้วิธีกำกับดูแลแบบเข้าสู่ศูนย์กลางในการจัดการกับผลประโยชน์และค่าใช้จ่ายที่เกี่ยวข้อง อีกทั้งกลุ่มผู้นำเหล่านี้ยังได้พัฒนาโปรแกรมทางการเพื่อใช้ระบุ วัดค่า และรายงานผลลัพธ์การลงทุนทางด้านดิจิทัลอีกด้วย “ปัญหาหลักที่คุณต้องคำนึงคือคุณจะจัดสรรเงินทุนเพื่อทำการเปลี่ยนแปลงสู่ดิจิทัลได้อย่างไร และคุณจะวัดผลตอบแทนการลงทุนได้อย่างไร” Laura McGarrity (ลอรา แม็คแกร์ริที้) หัวหน้าฝ่ายนวัตกรรมดิจิทัลของ EY-Parthenon และหนึ่งในผู้เขียนรายงานกล่าว “ถ้าคุณบอกว่าคุณจะได้รับผลตอบแทนคืน 5 เท่า คุณจะแน่ใจได้อย่างไรว่าคุณได้นำผลตอบแทนนั้นกลับคืนสู่ธุรกิจจริง ๆ” เธอยังบอกอีกว่าผู้มีส่วนได้ส่วนเสียทุกคน ตั้งแต่ CEO ลงไปจนถึงหน่วยธุรกิจรายย่อย ต้องเข้าใจชัดเจนเกี่ยวกับตัวชี้วัดที่จะช่วยขับเคลื่อนผลตอบแทนการลงทุนนั้น “สิ่งสำคัญคือคุณต้องรู้ว่าคุณกำลังพยายามทำอะไรให้สำเร็จ” McGarrity กล่าว “มันจะมีประโยชน์ต่อคุณอย่างยิ่งในระยะยาวถ้าคุณสามารถสร้างทะเลสาบข้อมูล (Data Lake) ที่สมบูรณ์ ที่ทำให้คุณสามารถเก็บสะสมข้อมูลที่คุณรวบรวมมาได้ครบถ้วนสมบูรณ์ รวมถึงทำให้คนในองค์กรสามารถเข้าถึงและเข้าใจข้อมูลเหล่านั้น ซึ่งจะทำให้พวกเข้าสามารถนำข้อมูลไปใช้ได้อย่างมีประสิทธิภาพ” กรอบการกำกับดูแลด้านดิจิทัล (Digital Governance Framework) การมี “โครงร่าง” สำหรับการกำกับดูแลด้านดิจิทัลที่ออกแบบมาอย่างดีนั้นเป็นสิ่งที่จำเป็นอย่างยิ่ง ซึ่งต้องครอบคลุมถึงการกำหนดผู้ที่มีอำนาจในการตัดสินใจและระบุผู้รับผิดชอบหรือเจ้าของโครงการที่ชัดเจนด้วยเช่นกัน โครงร่างดังกล่าวยังต้องสามารถรองรับการเปลี่ยนแปลงที่ต่อเนื่อง ทั้งในด้านของอำนาจการบริหารจัดการการเปลี่ยนสู่องค์กรดิจิทัล และการสนับสนุนหลักการในการเพิ่มยอดขาย ลดค่าใช้จ่าย การทำตามข้อกำหนด และการควบคุมความเสี่ยงอีกด้วย “สิ่งสำคัญคือการใช้กรอบการกำกับดูแลเข้ามาช่วย เพื่อให้แน่ใจว่าการเปลี่ยนแปลงสู่องค์กรดิจิทัลนั้นจะได้รับการสนับสนุน และไม่ถูกปิดกั้น” Rich Quattrocchi (ริช ควาททรอชชี) รองประธานฝ่ายการเปลี่ยนแปลงสู่ดิจิทัลของ Mutare วิสาหกิจการสื่อสารและผู้ให้บริการด้านความปลอดภัยกล่าว “การจัดสรรเงินทุนควรทำควบคู่ไปกับอัตราผลตอบแทนขั้นต่ำจากการลงทุนของวิสาหกิจเพื่อความรวดเร็วในการออกสู่ตลาด การเปลี่ยนแปลงสู่ดิจิทัลก็เช่นกัน” จากมุมมองของริช การสร้างความสมดุลระหว่างสองสิ่งเป็นเรื่องที่จำเป็น โดยเราต้องหาจุดสมดุลระหว่างคำว่า “สมบูรณ์แบบ” และคำว่า “ดีพอผ่าน” เพราะสองคำนี้เป็นศัตรูตัวฉกาจของกันและกัน “โครงการที่สนับสนุนพันธกิจ กลยุทธ์ และนโยบายที่ให้ผลกำไรตอบแทนสูงสุด ควรจะดึงดูดการลงทุนที่มากขึ้น” เขากล่าว “โดยคำนึงว่าความเร็วคือข้อได้เปรียบทางธุรกิจ ดังนั้นความพยายามในการเปลี่ยนแปลงสู่ดิจิทัลจึงต้องรวดเร็วด้วยเช่นกัน  ใช่ว่าทุกการเดิมพันจะสำเร็จเสมอไป ดังนั้นถ้าเปรียบเทียบการลงทุนเป็นที่ดิน เราก็ไม่ควรเดิมพันที่ดินทั้งหมดแค่กับที่ดินแปลงใหญ่แปลงเดียว แต่ควรลองเดิมพันทีละไร่สองไร่หลาย ๆ ที่” การมีผู้ที่มีส่วนได้ส่วนเสียที่หลากหลายเป็นเรื่องสำคัญ การวัดผลตอบแทนด้านดิจิทัลของผู้มีส่วนได้ส่วนเสียจะขึ้นอยู่กับโครงสร้างของการเปลี่ยนแปลงสู่ดิจิทัล โดยผู้มีส่วนได้ส่วนเสียที่เกี่ยวข้องจะมีตั้งแต่ผู้บริหารระดับ C หน่วยธุรกิจหลัก ทีมงานปฏิบัติการไปจนถึงทีมงานสนับสนุน และเนื่องจากผู้มีส่วนได้ส่วนเสียนั้นมีหลายฝ่าย ดังนั้นผู้มีส่วนได้ส่วนเสียหลักจึงควรเป็นคนที่รับผิดชอบต่อการทำให้ผลกำไรดีขึ้น “ประเด็นทั้งหมดของการเปลี่ยนแปลงสู่ดิจิทัลคือเพื่อเพิ่มยอดขาย ลดค่าใช้จ่าย ทำตามข้อกำหนด และลดความเสี่ยง” Quattrocchi กล่าว นอกจากนี้ McGarrity ยังเสริมอีกว่า CFO จะเป็นผู้มีส่วนได้ส่วนเสียหลักและเป็นผู้ที่ต้องอยู่หัวแถวเสมอ อีกทั้งยังต้องมีแผนที่จะใช้ในการลงทุนด้านการเปลี่ยนแปลงสู่ดิจิทัล เพื่อเตรียมพร้อมที่จะเพิ่มมูลค่าให้กับธุรกิจอยู่เสมอ “ถึงอย่างนั้นผู้มีส่วนได้ส่วนเสียหลักที่เกี่ยวข้องในการกำหนดตัวชี้วัดเหล่านี้ก็มีความหลากหลายตามแผนกและระดับชั้น” เธอกล่าวเสริม “เริ่มจากว่าใครเป็นคนผลักดันกลยุทธ์ด้านดิจิทัลสำหรับองค์กร ใช่ประธานเจ้าหน้าที่ฝ่ายกลยุทธ์ไหม? หรือเป็นประธานเจ้าหน้าที่ฝ่ายดิจิทัล? โดยทั่วไปจะเป็นหนึ่งในสองตำแหน่งนี้” Rick Sbrocca (ริค สบรอคคา) CMO ของ MNJ Technologies ผู้ให้บริการการแก้ปัญหาด้านไอที เสริมว่า ขณะที่ไอทีแบบศูนย์กลางเป็นแหล่งรวมผู้นำของการเปลี่ยนแปลงสู่ดิจิทัล ผู้มีส่วนได้ส่วนเสียหลักระดับแผนกยิ่งมีส่วนเกี่ยวข้องมากกว่าที่เคยเป็นมา ตัวอย่างเช่น หัวหน้าฝ่ายขายและฝ่ายตลาดอาจต้องใช้ระบบ CRM หัวหน้าเจ้าหน้าที่ฝ่ายทรัพยากรบุคคลอาจต้องการเครื่องมืออัตโนมัติสำหรับงาน HR มากขึ้น และ CFO อาจต้องการ FinTech และการสนับสนุนด้านการวิเคราะห์ข้อมูล “กุญแจสู่ความสำเร็จคือข้อมูล” เขากล่าว “เพราะข้อมูลจะเป็นตัวขับเคลื่อนธุรกิจและการเข้าถึงข้อมูลที่ถูกต้องในเวลาที่เหมาะสมยิ่งมีความสำคัญมากขึ้นต่อผู้มีส่วนได้ส่วนเสียหลักทุกคน” วิธีปรับใช้การวัดผล Sbrocca อธิบายว่าสิ่งสำคัญที่ต้องคำนึงคือ เราต้องใช้ตัววัดผลความสำเร็จเดียวกันทั้งองค์กรธุรกิจ เช่น ผลตอบแทนการลงทุน (ROIC) กำไร ดัชนีความพึงพอใจและการมีส่วนร่วมของพนักงาน ซึ่งสามารถนำมาปรับใช้กับโครงการการเปลี่ยนแปลงสู่ดิจิทัลได้ “วิธีการและเทคโนโลยีสำหรับการวิเคราะห์ข้อมูลควรถูกกำหนดเป็นแต่ละกรณี ๆ ไปและมุ่งให้ความสำคัญไปที่เปอร์เซ็นต์การเติบโตของธุรกิจที่จะตามมา  รวมถึงผลลัพธ์ของทีมงานอีกด้วย” เขากล่าว เทคโนโลยีที่จะเข้ามามีบทบาทมากขึ้นได้แก่การย้ายข้อมูลไปสู่คลาวด์ การเพิ่มการรักษาความปลอดภัย การคิดค้น AI และกระบวนการหุ่นยนต์อัตโนมัติ (RPA) “ธุรกิจต่าง ๆ ควรพัฒนากลยุทธ์และแผนการกำกับดูแลด้านการเปลี่ยนแปลงสู่ดิจิทัลให้มากขึ้น ซึ่งทั้งหมดควรอยู่ภายใต้ภาพรวมของธุรกิจขององค์กรอีกทีหนึ่ง” Sbrocca เสริม นี่อาจรวมไปถึงการประเมินผลอย่างต่อเนื่องของเป้าหมายธุรกิจและหาจุดที่สามารถเพิ่มประสิทธิภาพได้มากขึ้น ตลอดจนการลงทุนด้านเวลาและทรัพยากรเพื่อทำการค้นคว้าวิจัยเครื่องมือที่มีอยู่เพื่อช่วยให้องค์กรบรรลุเป้าหมายให้สำเร็จได้ การวัดผลลัพธ์อาจเป็นปัญหา Quattrocchi ชี้ให้เห็นว่าธุรกิจหลายแห่งประสบปัญหากับการวัดผลลัพธ์ที่ได้จากการลงทุนด้านดิจิทัล เนื่องจากการวางแผนที่ไม่มีประสิทธิภาพและขาดการตั้งตัวชี้วัด (KPI) ก่อนที่จะเริ่มโครงการ “ขั้นตอนแรกของโครงการการเปลี่ยนแปลงสู่ดิจิทัลคือ การระบุปัญหาที่คุณกำลังจะแก้ไข ระบุ KPI หรือตัวชี้วัดที่คุณจะใช้เพื่อนิยามความสำเร็จ และการสร้างเครื่องมือที่ทำการวัดผล” เขากล่าว “การวัดผลควรปราศจากอคติ วัดปริมาณได้ สื่อสารอย่างโปร่งใส และที่สำคัญที่สุด ไม่ควรมีผลย้อนกลับมาหากล้มเหลว” อย่างไรก็ตาม หากการลงทุนเกิดล้มเหลว ก็ต้องล้มให้ไว เพื่อให้องค์กรสามารถเปลี่ยนทิศทางได้หากจำเป็น และสามารถเดินหน้าไปยังเป้าหมายต่อไปได้ McGarrity จาก EY-Parthenon แนะนำให้เริ่มจากการเพิ่มการปรับปรุงด้านดิจิทัลเพิ่มและการพัฒนาตัววัดที่มีประสิทธิภาพที่ทำให้เห็นความสำเร็จที่เกิดขึ้น “นี่หมายถึงการเข้าใจตัวชี้วัดที่คุณกำลังสร้างขึ้นในระยะสั้น ซึ่งแม้ว่ามันอาจจะเกี่ยวพันกับกลยุทธ์ของคุณในระยะยาว ที่ไม่ได้เพิ่มรายได้หรือส่งผลต่อการเปลี่ยนแปลงทันที” เธอกล่าว “คุณต้องยึดความเป็นจริงและบอกว่า ดูนี่ เราคิดว่าเราลดค่าใช้จ่ายได้ $500,000 หากเราทำกิจกรรมเฉพาะส่วนนี้ให้เป็นอัตโนมัติได้” เธอชี้ให้เห็นว่าไม่ใช่ว่าทุกความสำเร็จจะวัดได้ด้วยรายได้ และไม่ใช่ว่าทุกการลงทุนด้านดิจิทัลจะเห็นผลทันที “เป็นสิ่งสำคัญมากที่ต้องสื่อสารกลับไปยังผู้บริหาร” McGarrity กล่าว “นี่มันขึ้นอยู่กับการเริ่มต้นเล็ก ๆ และค่อย ๆ เรียนรู้ผ่านโอกาสที่เพิ่มเข้ามา” บทความโดย Nathan Eddyเนื้อหาจากบทความของ InformationWeekแปลและเรียบเรียงโดย ไอสวรรค์ ไชยชะนะตรวจทานและปรับปรุงโดย พีรดล สามะศิริ และนววิทย์ พงศ์อนันต์
29 July 2022

บทความ

สร้าง Automated Workflow ในการส่ง Spark Job ขึ้นไปรันบน Amazon EMR Cluster โดยใช้ Apache Airflow
ในปัจจุบันนี้การใช้งานข้อมูลในธุรกิจต่าง ๆ เป็นเรื่องที่จำเป็นอย่างมาก การนำเอาข้อมูลมาใช้ และ การประมวลผลข้อมูล จะช่วยให้เรามีการตัดสินใจในการดำเนินธุรกิจได้อย่างมีประสิทธิภาพมากขึ้น และที่สำคัญคือ ถ้าธุรกิจไหนสามารถนำข้อมูลลูกค้า และที่ได้จากลูกค้า มาช่วยให้เข้าใจลูกค้ามากยิ่งขึ้น ตอบสนองความต้องการของลูกค้าได้ดีขึ้นแล้ว ธุรกิจนั้นจะมีพลังในการแข่งขันในตลาดสูงมากขึ้นอีกด้วย ปัญหาที่พบเจอปัญหาหนึ่งคือว่า เนื่องจากว่าข้อมูลที่เราได้มาในปัจจุบันเริ่มมีมาจากหลายช่องทาง และมีขนาดใหญ่ขึ้นเรื่อย ๆ จนที่เราไม่สามารถที่จะนำมาคำนวณใส่ Excel หรือเขียน Code เพื่อประมวลผลข้อมูลบนเครื่องโน้ตบุ๊กที่เราใช้งานอยู่ได้แล้ว เครื่องมือที่เป็นตัวเลือกแรก ๆ ที่มีความสามารถในการประมวลผลข้อมูลขนาดใหญ่ คือ Apache Spark นั่นเอง แต่ทีนี้การที่จะใช้งานกับข้อมูลที่มีขนาดใหญ่นั้น แน่นอนว่าเราไม่สามารถที่จะมารันบนเครื่องเราได้อีกแล้ว จำเป็นต้องไปนึกถึงการนำคอมพิวเตอร์หลาย ๆ เครื่องมาช่วยในการประมวลผล โดยส่วนใหญ่ระบบ Cloud จะเป็นตัวเลือกอันดับต้น ๆ เพราะช่วยให้เราสามารถสร้าง และจัดการ Cluster ของคอมพิวเตอร์ได้ภายในไม่กี่นาที โดยเราไม่ต้องมาปวดหัวกับการดูแลรักษาเครื่องคอมพิวเตอร์ต่าง ๆ ที่สร้างขึ้นมา สุดท้ายถ้าเราไม่ใช้งานแล้ว เราก็สามารถ Terminate ไปได้เลย ซึ่งจะช่วยประหยัดเงินไปอีก โดยในบทความนี้จะกล่าวถึงการใช้งานบริการของ AWS ที่ชื่อว่า Amazon EMR อย่างไรก็ดี ขั้นตอนในการประมวลผลข้อมูลมักจะเป็นขั้นตอนที่เราต้องทำซ้ำ ๆ และทำอยู่เรื่อย ๆ เป็นประจำ ดังนั้นการที่เราสามารถสร้าง Workflow ให้การประมวลผลข้อมูลนั้นทำงานได้โดยอัตโนมัติได้ ซึ่งตรงนี้ก็จะสามารถมาช่วยให้เราไม่ต้องไปเสียเวลา หรือไปลงแรงในการทำงานซ้ำ ๆ เราสามารถที่จะนำเอาเวลาทำงานของเราไปเน้นที่การวิเคราะห์ข้อมูล และช่วยตอบโจทย์ต่าง ๆ ทางธุรกิจได้ ดังนั้นในบทความนี้จะมานำเสนอวิธีการสร้าง Automated Workflow ที่จะส่ง Spark Job ขึ้นไปรันบน Amazon EMR Cluster โดยใช้ Apache Airflow ครับ ซึ่งคิดว่าแนวคิดนี้จะสามารถเอาไปประยุกต์ใช้กับงานประมวลผลข้อมูลขนาดใหญ่ด้านอื่น ๆ ได้อีกด้วย ภาพรวมของ Automated Workflow หรือ Airflow DAG (Directed Acyclic Graph) ของเราจะประกอบไปด้วย 4 ขั้นตอนดังต่อไปนี้ ก่อนเริ่มเราจำเป็นต้องเตรียมสิ่งต่าง ๆ ตามนี้ก่อนครับ เริ่มต้นเราจะสร้างสิ่งที่เรียกว่า Service Role เตรียมไว้ก่อน เพื่อที่จะให้ Amazon EMR สามารถจัดการ Resource ต่าง ๆ ได้เอง เราสามารถทำตาม Service role for Amazon EMR (EMR role) และ Service role for cluster EC2 instances (EC2 instance profile) หรือจะใช้ Awscli สร้างก็ได้เช่นเดียวกัน โดยรันคำสั่งตามนี้ครับ เสร็จแล้วเราจะสร้าง S3 Bucket เพื่อเก็บ Code ที่เราจะเรียกใช้งาน Spark ไว้ ซึ่งเราจะบอกให้ EMR มาหยิบโค้ดชุดนี้ไปรันใน Cluster ซึ่งเราสามารถเข้าไปสร้าง S3 Bucket ได้ผ่านทาง AWS Console หรือว่าจะใช้คำสั่งของ Awscli ตามด้านล่างนี้ ในบทความนี้ เราจะตั้งชื่อ S3 Bucket ว่า my-spark-scripts ไว้ที่ Region ชื่อ ap-southeast-1 หรือที่ Singapore นั่นเอง (ชื่อ S3 Bucket อาจจะซ้ำกับชื่อของคนอื่นได้) ในส่วน Code ที่เราจะเตรียมไว้ประมวลผลข้อมูล เราจะเขียน Spark Job ขึ้นมา และเพื่อให้ผู้อ่านได้เห็นภาพก่อนที่จะไปลองดึงข้อมูลจริง ๆ โดยเราจะสร้าง Spark App แบบง่าย ๆ ขึ้นมาเพื่อคำนวณหาเลขคี่ และแสดงผลออกมา 5 ตัวเลข เราจะเขียนไว้ที่ไฟล์ get_odds_numbers.py และมี Code ตามนี้ เสร็จแล้วก็ให้เราอัพโหลดสคริปของเราไปไว้ที่ S3 Bucket ที่ชื่อ my-sparks-scripts ที่เราสร้างไว้ก่อนหน้านี้ครับ เพราะว่าเดี๋ยวเราจะให้เครื่องใน EMR Cluster มาหยิบไฟล์นี้ไปส่งงานให้กับ Spark ถัดไปเราจะมาเริ่มแตะในส่วนของ Airflow กัน ซึ่งการที่จะให้ Airflow เชื่อมต่อไปยัง EMR ได้ เราจำเป็นต้องมี Service Account ก่อนครับ ดังนั้นเราจะไปสร้าง AWS User ขึ้นมา โดยให้เราไปที่ AWS Account ของเรา และตอนที่สร้าง User ให้เราเลือก Credential Type เป็น “Access Key – Programmatic Access” สำหรับบทความนี้จะให้สิทธิ์กับ User เป็นแบบ Administrator Access เลยนะครับ เพื่อความง่ายสำหรับการใช้งานในบทความนี้เท่านั้นนะครับ ซึ่งในการใช้งานจริง ๆ การให้สิทธิ์แบบนี้เป็นสิ่งที่ไม่ควรทำ เราสามารถอ่านเพิ่มเติมเกี่ยวกับการกำหนดสิทธิ์ของ User ได้ที่ Access Management for AWS Resources หลังจากที่เราสร้างเสร็จ เราจะได้ Access Key ID กับ Secret Access Key มาตามรูปด้านล่าง ให้เราคัดลอกเก็บไว้ ถัดไปให้เราเข้าไปที่ Airflow และสร้าง Airflow Connection ขึ้นมา โดยตั้งชื่อ Connection Id ว่า aws_conn เลือก Connection Type เป็น Amazon Web Services ตรงช่อง Login ให้ใส่ Access Key ID และช่อง Password ให้ใส่ Secret Access Key ที่เราได้มาในขั้นตอนก่อนหน้านี้...
14 June 2022

บทความ

หลักการเลือกใช้ Database 6 ประเภท
การเลือกเครื่องมือ (tools) ที่ดีที่สุดอาจไม่ใช่เครื่องมือที่มี แต่เป็นเครื่องมือที่เหมาะสม การเลือกเครื่องมือที่ไม่เหมาะสมมาใช้งานนั้นย่อมทำให้คุณภาพงานออกมาได้ไม่ดีเท่าที่ควร หรือบางทีอาจส่งผลแย่ต่องานด้วยซ้ำ อีกทั้งบางทียังมีผลต่อความปลอดภัยต่อผู้ใช้งานอีกด้วย ในวงการ tech ก็เช่นกัน การเลือกใช้ระบบฐานข้อมูล (Database) ที่เหมาะกับ product ของเรา จำเป็นต้องผ่านการวางแผนที่ดี รอบคอบ รวมถึงรู้จักถึง tools ต่าง ๆ ที่นำมาเลือกใช้ว่าเหมาะกับ requirement หรือไม่ เนื่องจาก tools แต่ละชิ้นนั้นมีข้อดี ข้อเสีย ความเหมาะสมที่แตกต่างกันออกไปในแต่ละงาน การเลือก tools มาใช้งานผิดประเภทเช่น การนำเลื่อยมาตอกตะปู อาจส่งผลให้ตะปูไม่แน่นพอ หรือเลื่อยอาจบาดขาได้ ซึ่งการออกแบบระบบ software ก็เช่นกัน การเลือก tools ผิดประเภทนั้นย่อมมี cost ที่ตามมาทีหลัง ทั้งระยะสั้น หรือระยะยาวได้ ดังนั้นบทความนี้จะพยายามมาตีแผ่วิธีการเลือกใช้  Database ประเภทต่าง ๆ ข้อดีข้อเสียของ Database แต่ละแบบ รวมถึง use case ใดที่เหมาะกับการใช้ Database รูปแบบนั้น Key-Value Database การเก็บข้อมูลจะอยู่ในลักษณะ key กับ value โดยที่แต่ละ key นั้นจะไม่ซ้ำกัน และใช้ในการเป็น index สำหรับการเข้าถึง value เพราะฉะนั้นลักษณะของ Database ประเภทนี้จะเปรียบเสมือน Python dictionary หรือ JSON Object ขนาดใหญ่ที่สามารถเข้าถึง value ต่าง ๆ ได้ด้วยการ indexing ผ่าน key นอกจากนี้พวก Key-value Database อย่างเช่น Redis (เป็น in-memory data structure store ที่ถูกนำมาใช้เป็น Key-value Database) นั้นจะเก็บ Data อยู่ในส่วนของ RAM หรือ Cache ของ machine ทำให้ความเร็วในการทำ operations อย่าง read, write นั้นสูงกว่า Database ประเภทอื่นมาก (ความเร็วอยู่ในระดับ millisecond) อีกทั้งตัว value ยังรองรับ Data Type หลายประเภทอีกด้วย (String, List, Set, Hash, Bitmap, etc) ในเมื่อถ้ามันเร็วขนาดนี้ ทำไมไม่เอามาใช้แทนพวก MSSQL, MongoDB หรือ Database ประเภทอื่น ๆ เลยหล่ะ? เนื่องจากมันมีแค่ key กับ value ทำให้ไม่มีสามารถทำการ query, JOIN operations หรือมี Data Model ที่นอกเหนือจาก key-value ได้ ทำให้ไม่เหมาะกับ Complex Data อีกทั้งเนื่องจาก Data ถูก store อยู่ใน RAM ทำให้ไม่สามารถเก็บข้อมูลได้เยอะ เมื่อเทียบกับ disk storage ทั่วไป ข้อดี ข้อเสีย เมื่อไหร่ที่ควรใช้ Key-value Database Wide-column Database Database ประเภทนี้จะคล้ายกับการนำ Key-value Database มาปรับแต่งในส่วนของ value โดยที่ value นั้นจะ store ในส่วนที่อยู่ในลักษณะ set ของ column แทนที่จะเป็น value เดี่ยว ๆ เหมือนใน Key-value Database นอกจากนั้น Wide-column Database ก็ยังไม่มี Schema ที่ตายตัว (Schema-less) ทำให้สามารถจัดการกับ unstructured ได้ อีกทั้งยังมีระบบ fault tolerant ในตัวจากการที่เก็บข้อมูลไว้หลาย Data Node เช่น Apache H-Base ที่ operate อยู่บน Hadoop file system จะมีการเก็บข้อมูลเดียวกันไว้ 3 Data Nodes เพื่อที่ว่าหากมี Data Node อันใดอันหนึ่งเสียไป จะสามารถ recover ข้อมูลกลับมาได้ มีภาษาที่ใช้ในการ query ข้อมูลที่คล้าย SQL แต่ไม่ทรงพลังเท่า (เพราะว่า perform JOIN operation ไม่ได้) อย่าง CQL (สำหรับ Cassandra) รวมถึงยังไม่สามารถ index value นอกเหนือจาก key ของมันได้ ข้อดี ข้อเสีย เมื่อไหร่ที่ควรใช้ Wide-column Database ถึง Wide-column Database นั้นจะสามารถ scale horizontally หรือสามารถทำ write operation ที่มีปริมาณมาก ๆ ได้ แต่ก็ยังไม่เหมาะสำหรับการใช้เป็น General-purpose Database อยู่ดีแต่อาจเหมาะกับการเป็น Data Lake ที่ต้องการความสามารถในการ dump data ที่หลากหลายเข้ามาตลอดเวลา (High Write, Large variety) Document Database Document Database เป็นหนึ่งใน Database ที่นิยมใช้มากที่สุดในยุคปัจจุบัน โดยภายใน Database จะเก็บ Document ที่เป็นเซ็ตของ key-value pairs (หรือก็คือ JSON) และ Document เหล่านั้นจะถูกเก็บไว้ใน Collection (เปรียบเทียบคล้ายกับ Table ใน Relational Database Management System (RDBMS)) อีกที เพื่อทำให้ง่ายต่อการทำ Data Model Document Database นั้นจะใช้คอนเซ็ปต์ของการทำ Denormalization ซึ่งตรงกันข้ามกับการทำ Normalization table ต่าง ๆ ใน RDBMS การทำ Denormalization จะคล้ายกับการรวมหลายข้อมูลจาก table มาแล้วให้เป็นหนึ่งเดียว ทำให้มัน read ข้อมูลได้ไวมาก เมื่อเทียบกับ RDBMS ที่ต้องทำการ JOIN หลายสิบ table และมีจำนวนมากพร้อมกัน นอกจากนั้นภายในแต่ละ Collection นั้นไม่จำเป็นต้องมี Schema ที่ตายตัว (Schema-less) ทำให้มีความยืดหยุ่น และสามารถรองรับ Data ทุกประเภท หรือ Data Structure ที่ซับซ้อนได้ เช่น Embedded Document, Nested JSON อีกทั้งยังมีการ query ข้อมูลที่คล้ายกับ RDBMS เพียงแต่ JOIN ไม่ได้ แต่ความที่มันเป็น Schema-less นั้นมันก็ทำให้มี Trade-off ในเรื่องของ redundancy และ inconsistency ของข้อมูล ส่งผลให้การ write หรือ update ข้อมูลนั้นซับซ้อนยิ่งขึ้นเพราะไม่มีตัว validate schema เหมือนดั่ง RDBMS ข้อดี ข้อเสีย เมื่อไหร่ที่ควรใช้ Relational Database Management System (RDBMS) เป็นหนึ่งใน Database ที่นิยมใช้กันมากที่สุดอีกหนึ่งตัว โดยจะบริหารจัดการข้อมูลอยู่ในลักษณะของความสัมพันธ์ระหว่างข้องมูล (Relational)  ซึ่งจะเก็บข้อมูลอยู่เป็นหมวดหมู่ในลักษณะของตาราง (Table) และแต่ละตารางสามารถบรรยายความสัมพันธ์กับตารางอื่นได้ ส่งผลให้สามารถ query ข้อมูลแบบซับซ้อนได้ (เช่นการทำ JOIN operation) การเก็บข้อมูลในรูปแบบของตารางตาม Data Model ที่วางไว้ทำให้การเก็บข้อมูลมีความเป็นระเบียบเรียบร้อย นอกจากนั้น Database ยังทำหน้าที่ยืนยันว่าข้อมูลที่เข้ามานั้นจะตรงตาม Data Model ที่วางไว้เสมอ (consistency) ความเป็น Relational ลองจินตนาการภาพการผลิตสิ่งของบางอย่างจากโรงงานหนึ่งอย่างเช่น คอมพิวเตอร์ คอมพิวเตอร์นั้นเกิดจากการนำ components ต่าง ๆ เช่น RAM, DISK, CPU, POWER SUPPLY, GPU, MOTHERBOARD มาต่อกันเป็นคอมพิวเตอร์เครื่องหนึ่ง และแต่ละ component ก็จะมี Unique ID ของ Hardware ติดมาด้วย ดังนั้นการจะผลิตคอมพิวเตอร์ขึ้นมาจำนวนมาก ๆ ในโรงงานได้ อย่างมีประสิทธิภาพ จึงจำเป็นต้องมี Blueprint ที่บอกถึงส่วนประกอบของ component ส่วนต่าง ๆ รวมถึง computer เองด้วยเช่น RAM ควรมีส่วน component ย่อยอะไรบ้าง จำนวณเท่าไหร่ เช่น clock, register, speed chip ซึ่งตัว Blueprint สามารถเรียกได้ว่าเป็น Schema ที่ถูกใช้ใน RDBMS RDBMS ยังสามารถรองรับการทำ transaction เป็นข้อดีที่สุดอย่างหนึ่งของ Database ประเภทนี้ หมายความว่าถ้าหากมี query ย่อย ๆ หลาย ๆ อันที่มี relation ต่อกัน การทำ transaction จะทำให้มั่นใจได้ว่าชุดของ query ภายใน transaction นี้ต้อง success ทั้งหมด หรือถ้ามีอันใดอันหนึ่ง fail ก็จะ fail พร้อมกันทั้งหมด (Atomicity) และแต่ละ transaction จะเป็นเอกเทศต่อกันหมายความว่าถ้า transaction A มีข้อผิดพลาดบางอย่างเกิดขึ้นจะไม่ส่งผลต่อการทำ transaction B  (Isolation) เพื่อป้องกัน business logic ที่ผิดพลาด เช่น ลูกค้าซื้อสินค้า 1 ชิ้น ต้องมี query update 3 ตาราง ได้แก่ สมมติว่า query ทั้งหมดสำเร็จไปเพียงแค่สองในสามหมายความว่าทำให้อาจเกิดเหตุการณ์ที่ นอกจากนี้เมื่อ transaction ถูก submit หรือ commit ไปแล้วจะถูกเก็บรักษาไว้อย่างดี เพื่อป้องกันเวลาระบบล่ม หรือไฟดับ จะมั่นใจได้ว่าข้อมูลทุกอย่างยังอยู่ตามเดิม (Durability) โดย feature ที่กล่าวมาทั้งหมดข้างต้นได้แก่ atomicity, consistency, isolation, durability หรือที่เรียกว่า ACID operations นั่นเองซึ่งถือเป็นหนึ่งในข้อดีหลักของการเลือกใช้ RDBMS ข้อดีของความเป็น Relational ข้อเสียของความเป็น Relational เมื่อไหร่ที่ควรใช้ Relational DB Graph Database ภายใน Database นั้นจะเก็บอยู่ในลักษณะของ Node และ Edge โดยข้อมูลจะถูก store อยู่ใน Node และมีการ define relationship ของแต่ละ Node ผ่าน Edges การจะหาว่ามีนักเรียนคนใดบ้างที่ลงคอร์สเรียน English ไปบ้างนั้น จำเป็นต้องมี Lookup/Middleman Table ทีเก็บข้อมูลว่านักเรียนคนไหนลงคอร์สใดไปบ้าง (การทำ Normalization ใน RDBMS) และจำเป็นต้องการใช้ JOIN ระหว่าง Table ดังภาพด้านบน แต่ถ้าหากเป็น Graph Database นั้นมันจะ define relationship ลักษณะนี้ได้โดยไม่ต้องมี Table ที่ต้องมาเก็บ relationship ระหว่าง Data แต่หลักการของ Graph Database จะสามารถ define relationship ได้ที่ Edge โดยตรงดังภาพด้านบน ให้การเก็บข้อมูลในลักษณะนี้ บรรยายความสัมพันธ์ระหว่าง Entity ได้โดยง่าย และตรงไปตรงมา นอกจากนั้นยังหลีกเลี่ยง complex query อย่างการ JOIN หลายตารางมาก ๆ ที่เป็นปัญหาหนึ่งใน RDBMS ข้อดี ข้อเสีย เมื่อไหร่ที่ควรใช้ Graph Database Search Database จะมีลักษณะคล้าย Document Database แต่มีความต่างกันตรงที่ Document Database จะ assign index แล้วจึง insert document บน index นั้น ในขณะที่ Search Database จะทำตรงกันข้ามนั้นก็คือหลังจาก insert document เข้าไปแล้วตัว Search Database จะทำการ generate index ขึ้นมาให้จากคำสำคัญ หรือ term ต่าง ๆ (inverted index) เหมือนกับหน้า appendix ในหนังสือที่เราไว้ใช้ค้นหา Term หรือ Keyword สำคัญต่าง ๆ ว่าอยู่หน้าใดของหนังสือบ้าง ข้อดี ข้อเสีย เมื่อไหร่ที่ควรใช้ ดังนั้นหลักการนี้จึงทำให้เหมาะกับการทำ Search Engine หรือพวก Type Ahead (Auto-suggestion ตอนพิมพ์คำ) มาก ๆ เนื่องจากเป็นการใช้ search text ที่มักจะเป็น Term ต่าง ๆ ที่ store อยู่ใน inverted...
9 September 2021

บทความ

IoT กับ Big Data
ทุกวันนี้ปฏิเสธไม่ได้เลยว่า อินเทอร์เน็ตมีบทบาทในชีวิตประจำวันค่อนข้างมาก และมีแนวโน้มว่าจะมีบทบาทมากยิ่งขึ้นในอนาคต ยิ่งไปกว่านั้นสิ่งที่เชื่อมต่ออินเทอร์เน็ต ไม่ได้มีเพียงแค่คอมพิวเตอร์ หรือ สมาร์ทโฟนเท่านั้น แต่ยังมีเครื่องใช้ไฟฟ้าทั้ง โทรทัศน์ ตู้เย็น นาฬิกา หรืออุปกรณ์เครื่องใช้ทั่วไปก็สามารถที่จะต่ออินเทอร์เน็ตได้ สิ่งเหล่านี้มักจะมาพร้อมกับคำว่า IoT (Internet of Things) หรือบางครั้งจะมีคำว่า Big Data ต่อท้าย ซึ่งบางท่านอาจจะเคยได้ยินกันตามโฆษณา บทความนี้จึงอยากขอเล่าเรื่องว่า IoT กับ Big Data คืออะไร เหมือนกันหรือไม่ แล้วตอนนี้เราพร้อมรับมือกับเทคโนโลยีนี้แล้วหรือยัง IoT (Internet of Things) คืออะไร Internet of Things (IoT) กล่าวได้ว่า เป็นแนวคิดทางเทคโนโลยีที่ถูกพูดถึงตั้งแต่ปี 1990 เกี่ยวกับการที่อุปกรณ์ต่าง ๆ ที่ถูกติดตั้งด้วยเซนเซอร์ โปรแกรม หรือเทคโนโลยีอื่น ๆ สามารถเชื่อมต่อกัน ผ่านเครือข่ายอินเทอร์เน็ต ทำให้แต่ละอุปกรณ์สามารถสื่อสาร และแลกเปลี่ยนข้อมูลระหว่างกันได้ นอกจากนี้ยังสามารถที่จะส่งคำสั่ง เพื่อควบคุมอุปกรณ์อื่น ๆ ภายใต้เครือข่ายอินเทอร์เน็ตได้อีกด้วย อุปกรณ์ในที่นี้ไม่ได้หมายความถึงแค่ คอมพิวเตอร์ หรือ สมาร์ทโฟน เท่านั้น แต่อาจจะเป็นเครื่องใช้ไฟฟ้าหลากหลายขนาด ตั้งแต่ขนาดเล็ก อย่างเช่น หลอดไฟ ไปจนถึงอุปกรณ์ขนาดใหญ่ อย่างเช่น ตู้เย็น หรือบางทีแม้กระทั้งเครื่องแต่งกายหรือภาชนะก็สามารถเป็นอุปกรณ์ IoT ได้ด้วยเทคโนโลยีอิเล็กทรอนิกส์ เช่น Embedded System IoT มีประโยชน์อย่างไร การที่อุปกรณ์เชื่อมต่ออินเทอร์เน็ตได้ หรือสามารถสื่อสารระหว่างอุปกรณ์ได้ มีประโยชน์ในหลายมิติ เช่น การเข้าถึงข้อมูลของอุปกรณ์ได้โดยไม่จำเป็นต้องอยู่ภายใต้เครือข่ายใดเครือข่ายหนึ่ง ทำให้สามารถแสดงข้อมูล ควบคุมอุปกรณ์ หรือจัดการทางระยะไกลแบบ real time ได้จากทั่วทุกมุมของโลก ข้อมูลที่ได้จะเป็นข้อมูลที่มีการอัพเดทตลอดเวลา ซึ่งประโยชน์นี้ไม่ใช่เพียงแค่องค์กรขนาดใหญ่หรือในภาคอุตสาหกรรมเท่านั้นที่จะได้รับ แม้แต่ผู้ใช้ทั่วไปที่อยู่ตามบ้านที่สามารถเข้าถึงอินเทอร์เน็ตก็สามารถใช้ประโยชน์ได้เช่นกัน ทั้งนี้ ถึงแม้ IoT จะสามารถก่อให้เกิดธุรกิจใหม่ได้มากมาย และสามารถช่วยลดต้นทุนในภาคธุรกิจได้ แต่อย่างไรก็ตาม IoT ก็มีความเสี่ยงในเรื่องการรักษาความปลอดภัยของข้อมูลไม่ให้ถูกเข้าถึงได้ง่าย เนื่องจากข้อมูลจากอุปกรณ์ IoT ส่วนใหญ่นั้น มีความเป็นส่วนตัวหรือส่วนบุคคล และสามารถถูกติดตามได้ตลอดเวลา จึงต้องมีการพัฒนาในส่วนนี้ต่อไป ตัวอย่างของ IoT IoT เกี่ยวอะไรกับ Big Data IoT ที่จะก่อให้เกิดประโยชน์อย่างมากมายนั้น ไม่ใช่แค่การเชื่อมต่อของอุปกรณ์หลักสิบหรือหลักร้อย  แต่ในโลกของความเป็นจริง มีเป็นหลักหมื่นขึ้นไป ซึ่งมีการคาดการณ์เอาไว้ว่าจะมีอุปกรณ์ที่เชื่อมต่ออินเทอร์เน็ตได้ในปี 2021 ประมาณ 3.5 หมื่นล้านชิ้นทั่วโลก อุปกรณ์ IoT พวกนี้จะทำการสร้างข้อมูลทุกชั่วโมง ทุกนาที หรืออาจจะทุกวินาทีตามความต้องการ บางครั้ง ข้อมูลเหล่านี้ก็ยังมีหลากหลายประเภท เช่น มาจากทางการเกษตร อุตสาหกรรม สาธารณสุข จากที่กล่าวมาจะเห็นได้ว่า ข้อมูลที่อยู่ภายใต้เครือข่าย IoT นั้น มีจำนวนมากและหลากหลาย ดังนั้น จึงต้องมีการใช้เทคนิคทาง Big Data เพื่อจัดการกับข้อมูลประเภทนี้ ลักษณะข้อมูลจาก IoT ข้อมูล IoT ถือว่าเป็น Big Data แบบหนึ่งในลักษณะของปริมาณที่มาก และมีจำนวนที่เพิ่มขึ้นอย่างรวดเร็ว โดยข้อมูลที่ถูกสร้างจาก IoT จะมีลักษณะเฉพาะตัวเป็นดังนี้ ตัวอย่างการใช้เทคโนโลยี Big Data ใน IoT เนื่องจาก IoT เป็นข้อมูล Big Data จึงจำเป็นต้องใช้เทคนิคทาง Big Data เพื่อใช้ในการเก็บและประมวลผล เช่น เครือข่าย IoT จะทำการสร้างข้อมูลดิบจากอุปกรณ์หรือเซนเซอร์ และถูกจัดเก็บในที่จัดเก็บข้อมูลรวมที่เรียกว่า Data Lake โดยที่ภายในจะเก็บทั้งข้อมูลที่มีโครงสร้าง เช่น ข้อมูลของลูกค้า และ ข้อมูลที่ไม่มีโครงสร้าง เช่น ข้อมูลบน Social Media หลังจากนั้น มีการใช้ประโยชน์ของ Big Data Analytics มาเพื่อใช้ในการสร้างรายงานและแผนภาพจากข้อมูลที่ถูกเก็บไว้ใน Data Lake หรือที่เรียกว่าการทำ Business Intelligence (BI) นอกจากนี้ ยังอาจมีการใช้ Artificial Intelligence (AI) มาช่วยวิเคราะห์ข้อมูล IoT ที่มีจำนวนมากและหลากหลาย เพื่อให้สามารถวิเคราะห์ข้อมูลได้อย่างแม่นยำและเป็นแบบ real time โดยไม่จำเป็นต้องให้มนุษย์มานั่งวิเคราะห์ เตรียมพร้อมกับการมาของ IoT การมาของ IoT ทำให้เกิดการปรับเปลี่ยนของพฤติกรรมของผู้บริโภค ทำให้เกิดช่องทางทางธุรกิจใหม่ ๆ บริการใหม่ ๆ ในแวดวงนี้ หรือแม้แต่อุปกรณ์ใหม่ ๆ ซึ่งในอนาคต เป็นไปได้ว่าทุกคนจะมีอุปกรณ์ IoT มากขึ้น อาจจะถึง 10 ชิ้น เลยทีเดียว การเติบโตขึ้นของอุปกรณ์ที่ฉลาดขึ้นนี้ จะทำให้เกิดการลงทุน และความจำเป็นต้องเตรียมระบบเพื่อรองรับการเติบโตนี้ ระบบที่พูดถึงนี้ หมายความรวมตั้งแต่ ระบบเซนเซอร์ อุปกรณ์ IoT โครงข่ายอินเทอร์เน็ต ระบบ Cloud Storage และระบบ AI เป็นต้น สุดท้ายนี้ การมาของ IoT จะเป็นประโยชน์ต่อทั้งผู้ผลิตและผู้บริโภค ก่อให้เกิดการเปลี่ยนแปลงของเศรษฐกิจได้ในอนาคต และกลายเป็นสิ่งจำเป็นที่ขาดไม่ได้ในชีวิตประจำวัน แต่ถึงแม้ว่า IoT จะสามารถช่วยสร้างความสะดวกหลายอย่าง ทั้งในด้านธุรกิจ ด้านสุขภาพ และด้านการศึกษา ในทางกลับกัน ความสะดวกเหล่านี้อาจจะนำมาซึ่งผลเสียต่อความเป็นส่วนตัวหรือความมั่นคงปลอดภัยของข้อมูล ได้เช่นเดียวกัน แหล่งอ้างอิง https://www.iotacommunications.com/blog/iot-big-data/ https://www.soracom.io/blog/what-is-the-relationship-between-iot-and-big-data/ https://builtin.com/big-data/iot-big-data-analytics-examples https://www.tiempodev.com/blog/real-time-processing-of-data-for-iot-applications/
5 July 2021

บทความ

กรอบการวิเคราะห์ข้อมูลขนาดใหญ่ภาครัฐ (Government Big Data Analytics Framework)
ทำความรู้จักกับกรอบการวิเคราะห์ข้อมูลขนาดใหญ่ภาครัฐ (Government Big Data Analytics Framework) ประเทศไทย
3 February 2021

บทความ

วิดีโอ : กระบวนการ และ การออกแบบโครงการ Big Data
เรียนรู้กระบวนการออกแบบโครงการ Big Data นำเสนอโดยผู้เชี่ยวชาญจาก "สถาบันบิ๊กดาต้า" (Government Big Data Institute: GBDi)
12 May 2020
PDPA Icon

We use cookies to optimize your browsing experience and improve our website’s performance. Learn more at our Privacy Policy and adjust your cookie settings at Settings

Privacy Preferences

You can choose your cookie settings by turning on/off each type of cookie as needed, except for necessary cookies.

Accept all
Manage Consent Preferences
  • Strictly Necessary Cookies
    Always Active

    This type of cookie is essential for providing services on the website of the Personal Data Protection Committee Office, allowing you to access various parts of the site. It also helps remember information you have previously provided through the website. Disabling this type of cookie will result in your inability to use key services of the Personal Data Protection Committee Office that require cookies to function.
    Cookies Details

  • Performance Cookies

    This type of cookie helps the Big Data Institute (Public Organization) understand user interactions with its website services, including which pages or areas of the site are most popular, as well as analyze other related data. The Big Data Institute (Public Organization) also uses this information to improve website performance and gain a better understanding of user behavior. Although the data collected by these cookies is non-identifiable and used solely for statistical analysis, disabling them will prevent the Big Data Institute (Public Organization) from knowing the number of website visitors and from evaluating the quality of its services.

  • Functional Cookies

    This type of cookie enables the Big Data Institute (Public Organization)’s website to remember the choices you have made and deliver enhanced features and content tailored to your usage. For example, it can remember your username or changes you have made to font sizes or other customizable settings on the page. Disabling these cookies may result in the website not functioning properly.

  • Targeting Cookies

    "This type of cookie helps the Big Data Institute (Public Organization) understand user interactions with its website services, including which pages or areas of the site are most popular, as well as analyze other related data. The Big Data Institute (Public Organization) also uses this information to improve website performance and gain a better understanding of user behavior. Although the data collected by these cookies is non-identifiable and used solely for statistical analysis, disabling them will prevent the Big Data Institute (Public Organization) from knowing the number of website visitors and from evaluating the quality of its services.

Save settings
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.