NoSQL Database

หน้าที่ของ database - ช่วยให้เราเก็บข้อมูล และ อ่านข้อมูลได้อย่างมีประสิทธิภาพ

SQL

SQL = Structured query Language

ข้อมูล มีความสัมพันธ์กัน มีการ join เอาข้อมูลสองตาราง มารวมกัน

example SQL datebase - MySQL, PostgreSQL, Microsoft SQL Server

NoSQL

NoSQL = Not only SQL


จะเก็บข้อมูลด้วย key และ value ทำให้มีความง่ายในการใช้งาน ส่งผลให้เกิดข้อดีคือความเร็วในการดึงข้อมุลมาใช้งานที่เพียงเรียกใช้จาก key ก็ได้ค่าต้องการ ข้อมูลที่จะเก็บใน NoSQL ประเภทนี้ก็คือข้อมูลที่ต้องการความเร็วและง่ายแม้มีเป็นจำนวนมาก

ประโยชน์ส่วนใหญ่จะเอาไปใช้เก็บว่าแบบ user คนนี้ล็อคอินมาหรือยัง

ตัวอย่างของฐานข้อมูลกลุ่มนี้เช่น Redis

เป็นประเภทที่เก็บข้อมูลจาก object ในโปรแกรม อย่างตอนที่เราเขียนโค้ดแล้วมีการสร้าง object ข้อมูลต่างๆ เช่น json ทำให้ NoSQL ประเภทนี้เป็นมิตรต่อ developer อย่างมากจากการที่เก็บและใช้งานได้ง่าย เพราะไม่ต้องแปลงข้อมูลไปมา ประเภทข้อมูลที่เหมาะสมเช่น ข้อมูลโปรไฟล์ผู้ใช้งาน เนื่องจากข้อมูลจะมีการเพิ่มขึ้นอย่างต่อเนื่อง

ข้อมูลข้างในเหมือนเก็บเป็น array ข้อมูลหน้าตาไม่จำเป็นต้องเหมือนกัน

ตัวอย่างของฐานข้อมูลกลุ่มนี้เช่น mongoDB

เป็นฐานข้อมูลที่มีการจัดเก็บข้อมูลในแบบ Column แทน ต่างจากฐานข้อมูล SQL ที่มักจะเก็บข้อมูลเป็น Row โดยสามารถทำการจัดเก็บข้อมูลกี่คอลัมน์สำหรับข้อมูลกี่รูปแบบก็ได้ และสามารถทำการ Group หรือ Aggregate ข้อมูลเข้าด้วยกันได้ง่าย

flexible สูง

ตัวอย่างของฐานข้อมูลกลุ่มนี้เช่น Cassandra

เป็นฐานข้อมูลที่มีการระบุความสัมพันธ์ของข้อมูลแต่ละชุดเป็น Network หรือเป็น Graph โดยข้อมูลแต่ละ Node นั้นจะสามารถจัดเก็บข้อมูลได้อย่างอิสระ

ตัวอย่างของฐานข้อมูลกลุ่มนี้เช่น Neo4j

Advantages