Q: ข้อมูลในโลกนี้แบ่งได้กี่ประเภทหลักๆ?
A: แบ่งได้สองประเภทคือ Structured vs. Unstructured Data
แล้วทั้งสองแบบแตกต่างกันยังไง? แบบไหนที่คนใช้มากกว่า? หาคำตอบได้ในบทความวันนี้เลย อ่านจบรู้เรื่อง!
Structured vs. Unstructured Data

Structured Data คือข้อมูลที่ค่อนข้างสะอาด จัดเรียงในรูปแบบของ Rectangular Table ได้ง่าย — ภาษาอังกฤษใช้คำว่า High Degree of Organization — ข้อมูลประเภทนี้จะถูกเก็บใน relational database ทั่วไปอย่าง MySQL ฯลฯ ส่วนใหญ่จะถูกเก็บเป็นตัวเลข หรือ text สั้นๆ เช่น
- ยอดขาย
- รายได้
- จำนวนพนักงาน
- ชื่อ-นามสกุลลูกค้า
- ที่อยู่
Unstructured Data จะมีความซับซ้อนกว่าข้อมูลประเภทแรกมาก (น่าจะพอเดาได้จากชื่อ) ต้องมีการทำ Data Wrangling ทำความสะอาด ปรับหน้าตาข้อมูลหลายขั้นตอนก่อนจะนำไปใช้งานจริง ส่วนเทคโนโลยีที่ใช้กันอย่างแพร่พลายในปัจจุบันคือ NoSQL ที่ย่อมาจากคำว่า “Not Only SQL” ตัวอย่างของข้อมูลประเภทนี้ เช่น
- รูปภาพ
- ไฟล์เสียง
- วีดีโอ
- คอมเม้นและข้อความบน social networks
- sensor รูปแบบต่างๆ
วันนี้เราจะเน้นเรื่อง Structured Data เป็นหลัก ซึ่งเหมาะสำหรับการทำ Data Analysis ในระดับเบื้องต้น (เพราะข้อมูลในตารางค่อนข้างคลีน เอามาใช้ต่อได้ง่ายกว่า)
Elements of Structured Data
Structured Data ยังแบ่งได้อีกสองประเภทใหญ่ และแตกย่อยได้ตามนี้
- Numeric
- Continuous
- Discrete
- Categorical
- Nominal
- Ordinal
- Binary
Numeric คือข้อมูลหรือตัวแปรที่เป็นตัวเลขเชิงปริมาณ ทั้งแบบ Continuous (ตัวเลขที่มีทศนิยมได้ i.e. take any possible values) เช่น ส่วนสูง น้ำหนัก รายได้ อุณหภูมิ เป็นต้น และแบบ Discrete (ตัวเลขจำนวนเต็ม หรืออีกชื่อคือ Integer | Count) ทั้งสองแบบสามารถนำไปคำนวณผลทางสถิติได้ค่อนข้างหลากหลาย เช่น count, mean, median, mode, sd, variance เป็นต้น
Categorical คือข้อมูลเชิงคุณภาพที่ take fixed set of values หลักๆแบ่งย่อยได้อีกสามแบบ ตัวแรกคือ Nominal เช่น เมื่อเช้ากินข้าวอะไรมา? ข้าวขาหมู, ข้าวมันไก่, โจ๊กหมูสับ, ข้าวเหนียวหมูปิ้ง เป็นต้น ส่วน Ordinal เป็นตัวแปรคุณภาพที่สามารถเรียงสูงต่ำได้ เช่น low < medium < high และสุดท้ายคือ Binary อย่างที่ชื่อบอกเลยคือตัวแปรที่มีได้แค่สองค่า 1|0 หรือ true|false ก็ได้
Glimpse of SQL Database
ตัวอย่างของ SQL database (tables) จะหน้าตาเหมือนกับตาราง Excel ทั่วไปที่เราน่าจะคุ้นเคยอยู่แล้ว มี column headers [article, dealer, price]
และเก็บข้อมูลตาม rows [0001, ..., 0004]
# Example from mysql.com SELECT * FROM shop; +---------+--------+-------+ | article | dealer | price | +---------+--------+-------+ | 0001 | A | 3.45 | | 0001 | B | 3.99 | | 0002 | A | 10.99 | | 0003 | B | 1.45 | | 0003 | C | 1.69 | | 0003 | D | 1.25 | | 0004 | D | 19.95 | +---------+--------+-------+
Glimpse of NoSQL Database
IBM ประเมินว่าข้อมูลในโลกมากกว่า 80% เป็นแบบ Unstructured Data ที่รอให้เรานำไปวิเคราะห์ และ Big Data เหล่านี้เองที่ทำให้ NoSQL skill กำลังเป็นที่ต้องการในตลาดปัจจุบัน ถ้าใครเขียน SQL เป็นแล้ว ลองศึกษา NoSQL เพิ่มเติม มีประโยชน์ต่อการทำงานแน่นอน
อ่านกระทู้ Quora เรื่อง Why Should I learn NoSQL?
ตัวอย่างหน้าตาของ MongoDB (NoSQL database) ที่ได้รับความนิยมในปัจจุบัน เก็บข้อมูลแบบ JSON object จะคล้ายกับการขียน nested dictionary (key-value pairs) ใน Python
{ patron_id: "joe", name: "Joe Bookreader" street: "123 Fake Street", city: "Faketon", state: "MA", zip: "12345" }
ถ้าใครอยากเริ่มศึกษา NoSQL สมัครเรียนฟรีกับ MongoDB University ที่เว็บไซต์ https://university.mongodb.com/ (สอนโดยทีม MongoDB experts)
Final Thoughts
- Data Types เป็นตัวกำหนดสถิติและเครื่องมือต่างๆในการวิเคราะห์ผล ตัวแปรแต่ละแบบอาศัยทักษะในการวิเคราะห์ไม่เหมือนกัน
- Structured Data จะทำงานด้วยง่ายกว่า ส่วนใหญ่เก็บอยู่ในรูปของ SQL database/ tables
- Unstructured Data จะมีขั้นตอนในการทำความสะอาด ปรับหน้าตาให้สวยก่อนใช้งาน โลกเรามีข้อมูลประเภทนี้มากกว่า 80% ที่รอให้เราดึงมาวิเคราะห์ เช่น facebook comments ของคนทั่วโลก, กระทู้ใน pantip, วีดีโอบน youtube เป็นต้น
Leave a Reply