Graph Database ภาคทฤษฎี แบบมึนๆ
สำหรับบทความนี้จะประกอบไปด้วย 2 ส่วน คือ ทฎษฎีของ Big Data และ Graph โดยจะเริ่มจากส่วนของ Big Data ก่อนนะครับ
Big Data คือ ก้อนข้อมูลก้อนหนึ่ง ที่มีความหลากหลายของประเภทของข้อมูลและมีปริมาณมากมายมหาศาล ซึ่งปริมาณข้อมูลนั้นจะมีการเพิ่มขึ้นอยู่ตลอดเวลา ทำให้การค้นหาข้อมูลรวมไปถึงรูปแบบความสัมพันธ์ของข้อมูลที่มีความซับซ้อนมีความเป็นไปได้ยาก ดังนั้น จึงได้มีการพัฒนาทฤษฎี Graph ขึ้นมา เพื่อใช้สำหรับช่วยเหลือในการค้นหาและวิเคราห์ข้อมูลของ Big Data
สำหรับการวิเคราะห์ข้อมูลของ Graph จะถูกออกแบบมาให้สามารถเข้าถึงข้อมูลที่มีความซับซ้อนและหลากหลายของข้อมูล รวมทั้งยังสามารถทำนายแนวโน้มของข้อมูล จากพฤติกรรมของข้อมูลที่มีอยู่ ทำให้สะดวกและรวดเร็วเหมาะกับการพัฒนาศักยภาพขององค์กร สร้างความได้เปรียบในการแข่งขันของธุรกิจ
สำหรับการนิยามคุณลักษณะของ Big Data นั้น ในปี ค.ศ. 2001 นั้น ได้เริ่มมีการกำหนดคุณลักษณะของ Big Data ที่มีส่วนประกอบ หลักๆ หรือเรียกสั้นๆ ว่า 3V ดังนี้
- Volume คือ ข้อมูลที่มีปริมาณตั้งแต่ระดับ Terabytes หรือมีขนาด 10¹² ขึ้นไป
- Variety คือ ข้อมูลที่มีความหลากหลายจากแหล่งที่มาของข้อมูล เช่น จากแหล่ง Social Network, Data base หรือ Data warehouse ต่างๆ ซึ่งเราสามารถจำแนกได้เป็น 3 กลุ่ม ดังนี้
- Structured Data คือ ประเภทข้อมูลที่ถูกจัดเก็บตามรูปแบบหรือโครงสร้างที่ถูกกำหนดเอาไว้ โดยประกอบไปด้วย ชื่อฟิลด์, ชนิดของข้อมูล, และค่าของข้อมูลตามโครงสร้างที่กำหนดเอาไว้- Semi-Structured Data คือ ข้อมูลที่มีรูปแบบของข้อมูล แต่ไม่ได้แสดงในรูปแบบของ Table เช่นไฟล์ XML- Unstructured Data คือ ข้อมูลที่ไม่ได้มีลักษณะตายตัว เช่น ข้อมูล JSON ที่อาจจะไม่มีจำนวนของ Properties ไม่เท่ากัน
- Velocity คือ ข้อมูลที่มีการเปลี่ยนแปลงตลอดเวลา และมีอัตราเพิ่มขึ้นอย่างรวดเร็ว ซึ่งรวมไปถึงการสร้างและการประมวลผลของข้อมูล
และในภายหลัง (ปี ค.ศ. 2012) ได้มีการกำหนดคุณลักษณะของ Big Data เพิ่มเติมอีก 2V คือ
- Veracity คือ ความน่าเชื่อถือและคุณภาพของข้อมูล เช่น ข้อมูลที่เป็น Fake news ต่างๆ อาจจะทำให้ข้อมูลที่ถูกนำมาวิเคราะห์อาจเกิดความผิดพลาด
- Value คือ ข้อมูลที่มีประโยชน์ต่อการนำเอามาใช้ประมาลผล เช่น ข้อมูลสภาพอากาศ, การจราจร หรือข้อมูลตลาดหุ้น เป็นต้น
ในปี ค.ศ. 2019 นั้น ได้เพิ่ม V ตัวที่ 6 ขึ้นมา นั่นก็คือ Variability คือการผันแปรของข้อมูล ซึ่งจะหมายถึง ข้อมูลสามารถในการเปลี่ยนแปลงรูปแบบไปตามการใช้งาน หรือสามารถคิดวิเคราะห์ได้จากหลายแง่มุม และรูปแบบในการจัดเก็บข้อมูลก็อาจจะต่างกันออกไปในแต่ละแหล่งของข้อมูล
และในอนาคตอันใกล้ๆ นี้ ก็จะมี V ตัวใหม่ๆ เพิ่มขึ้นมาอีก
- Visualization หรือ การแสดงข้อมูล เพื่อช่วยสำหรับการตัดสินใจและเป็นส่วนที่ผู้ใช้งานสามารถ interact ได้อีกด้วย
- Viscosity ว่าด้วยเรื่องความเร็วในการเข้าถึงข้อมูลและการประมวลผลข้อมูลที่มีความซับซ้อนสูงมากๆ
สำหรับตัว V-Models อาจจะมีเพิ่มเติมไปจนถึง 42V ซึ่งก็คงต้องดูกันอีกต่อไปว่าจะมีการกำหนดออกมาเมื่อไร สำหรับข้อมูลเพิ่มเติมของ V อื่นๆ สามารถหาอ่านได้จากลิงค์นี้ครับ
https://www.elderresearch.com/blog/42-v-of-big-data
ทฤษฎี Graph นั้น จะเป็นโครงสร้างข้อมูล ที่จะประกอบไปด้วย กลุ่มของ Node / Vertex และมีการเชื่อมต่อแต่ละกลุ่มด้วย Edge (วรานุช แขมมณี, 2016)
สำหรับประเภทของ Graph นั้น จะถูกแบ่งออกเป็น 2 ลัษณะหลักๆ ดังนี้
- Undirected Graph คือ กราฟที่ไม่มีการระบุทิศทางการไหลของข้อมูล
- Directed Graph คือ กราฟทีมีการระบุทิศทางการไหลของข้อมูล
นอกจากนี้ ยังมีประเภทอื่นๆ อีก 3 ประเภท ดังนี้
- Cyclic Graph คือ กราฟเชิงเดี่ยวแบบมีจุดเริ่มต้น และจุดสิ้นสุด และมีความสำพันธ์ที่เชื่อมเข้าหาตัวเอง
- Acyclic Graph คือ กราฟเชิงเดี่ยวแบบมีจุดเริ่มต้น และจุดสิ้นสุด และไม่มีความสำพันธ์ที่เชื่อมเข้าหาตัวเอง
- Complete Graph คือ กราฟที่ทุก Nodes หรือ Vertex จะเชื่อมต่อเข้าหากัน
สำหรับบทความนี้ก็ขอจบเพียงเท่านี้ครับ หากผิดพลาดประการใดก็ขออภัยมา ณ ที่นี้ด้วยครับ
Reference:
- https://www.theviable.co/how-big-data-impact-to-corporate/
- https://www.techentice.com/the-data-veracity-big-data/
- Neo4j, วฤษาย์ ร่มสายหยุด. se-ed, 2563
- https://www.geeksforgeeks.org/largest-subset-graph-vertices-edges-2-colors/
- http://omtlab.com/directed-and-undirected-graph/
- https://www.researchgate.net/figure/An-example-of-a-complete-graph-with-N-7-vertices-out-of-which-k-2-are-targets_fig5_230570623
- https://hazelcast.com/glossary/directed-acyclic-graph/
- https://www.geeksforgeeks.org/detect-cycle-in-a-graph/
- http://omtlab.com/directed-and-undirected-graph/
- https://www.perceptra.tech/6-vs-of-big-data/
- https://www.m-brain.com/technology/
- https://www.elderresearch.com/blog/42-v-of-big-data