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 ฯลฯ