ฐานข้อมูลแบบ NoSQL คืออะไร

NoSQL ย่อมาจาก Not only SQL เป็นแนวทางในการจัดการกับข้อมูลในฐานข้อมูลโดยไม่ใช้ภาษา SQL ทำให้ NoSQL สามารถรองรับข้อมูลได้หลากหลายรูปแบบโดยที่ข้อมูลที่ถูกจัดเก็บไม่จำเป็นต้องอยู่ในรูปของข้อความเสมอไป เช่น รูปภาพ วิดีโอ เสียง เป็นต้น รวมทั้งโครงสร้างของฐานข้อมูลที่ถูกจัดเก็บไม่จำเป็นต้องอยู่ในรูปของตารางเสมอไป

ฐานข้อมูลแบบ NoSQL คือฐานข้อมูลที่ไม่ใช้ภาษา SQL ในการจัดการกับข้อมูลในฐานข้อมูล ฐานข้อมูลแบบนี้ได้จัดเตรียมขั้นตอนในการจัดเก็บข้อมูลที่สร้างด้วยแบบจำลองของข้อมูลที่นอกเหนือจากความสัมพันธ์แบบตารางที่ใช้ในฐานข้อมูลเชิงสัมพันธ์ มักใช้กับข้อมูลแบบกึ่งโครงสร้าง

ฐานข้อมูลแบบ NoSQL มีกี่ประเภท

เราสามารถจัดประเภทของฐานข้อมูลแบบ NoSQL ได้เป็น 4 ประเภท ดังนี้

1. Document ฐานข้อมูลประเภทนี้เก็บข้อมูลประเภทกึ่งโครงสร้างในรูปแบบเอกสาร เช่น JSON, XML ช่วยให้นักพัฒนาสามารถพัฒนาและแก้ไขโปรแกรมโดยไม่จำเป็นต้องอ้างอิงมาจากสกีมาหลัก

2. Key-value ฐานข้อมูลประเภทนี้ใช้รูปแบบข้อมูลอย่างง่ายโดยการจับคู่ key เฉพาะกับค่าที่มีความสัมพันธ์กัน ฐานข้อมูลประเภทนี้เหมาะสำหรับการจัดการเซสชันและการแคชข้อมูลในเว็บแอพพลิเคชัน

3. Wide-column stores สำหรับประเภทนี้จะใช้ตาราง คอลัมน์ และแถวเช่นเดียวกับฐานข้อมูลเชิงสัมพันธ์ แต่จะใช้คอลัมน์ในการจัดเก็บข้อมูลแทนซึ่งสามารถจัดกลุ่มคอลัมน์หลายๆคอลัมน์ให้เป็นคอลัมน์เดียวได้

4. Graph สำหรับประเภทนี้จะจัดเก็บข้อมูลแบบ node และ edge ซึ่งแสดงถึงความสัมพันธ์ระหว่าง node และ edge

ในปัจจุบันมี NoSQL Database ให้เลือกใช้มากกว่า 100 ตัว โดยประกอบไปด้วยโปรแกรมประเภท opensource และ commercial ซึ่งในความเป็นจริง เราสามารถใช้โปรแกรมจัดการฐานข้อมูลแบบ NoSQL มากกว่า 1 โปรแกรมพร้อมกันใน 1 โปรเจ็คได้

ฐานข้อมูลแบบ NoSQL ที่ได้รับความนิยม ได้แก่ MongoDB, Neo4J, Elasticsearch, Amazon DynamoDB, Redis, HBase, Cassandra, OrientDB ฯลฯ

ผู้เขียน

ปวรุตม์ พงศ์พฤฒานนท์
ฝ่ายระบบสารสนเทศ
สำนักคอมพิวเตอร์
pavarudh@g.swu.ac.th