สารบัญ:
คำจำกัดความ - NoSQL หมายถึงอะไร
NoSQL เป็นคลาสของระบบการจัดการฐานข้อมูล (DBMS) ที่ไม่ปฏิบัติตามกฎทั้งหมดของ DBMS เชิงสัมพันธ์และไม่สามารถใช้ SQL แบบดั้งเดิมในการสืบค้นข้อมูล คำนี้ค่อนข้างเข้าใจผิดเมื่อแปลว่า "ไม่ใช้ SQL" และส่วนใหญ่แปลว่า "ไม่ใช่เฉพาะ SQL" เนื่องจากฐานข้อมูลประเภทนี้ไม่ใช่การแทนที่โดยทั่วไป แต่เป็นการเพิ่มเติมนอกเหนือจาก RDBMS และ SQL
โดยทั่วไปแล้วระบบที่ใช้ NoSQL นั้นจะใช้ในฐานข้อมูลขนาดใหญ่มากซึ่งโดยเฉพาะอย่างยิ่งปัญหาด้านประสิทธิภาพที่เกิดจากข้อ จำกัด ของ SQL และโมเดลเชิงสัมพันธ์ของฐานข้อมูล หลายคนคิดว่า NoSQL เป็นฐานข้อมูลที่ทันสมัยซึ่งเป็นทางเลือกที่ปรับขนาดตามความต้องการของเว็บ การใช้งาน NoSQL ที่โดดเด่นบางอย่างคือฐานข้อมูล Cassandra ของ Facebook, BigTable ของ Google และ SimpleDB และ Dynamo ของ Amazon
Techopedia อธิบาย NoSQL
ฐานข้อมูล NoSQL ไม่จำเป็นต้องเป็นไปตามกฎที่เข้มงวดซึ่งควบคุมธุรกรรมในฐานข้อมูลเชิงสัมพันธ์ กฎที่ละเมิดเหล่านี้เป็นที่รู้จักกันโดยย่อกรด (Atomicity, Consistency, Integrity, Durability) ตัวอย่างเช่นฐานข้อมูล NoSQL ไม่ใช้โครงสร้างสคีมาคงที่และ SQL เข้าร่วม
ใน RDBMS ดั้งเดิมการดำเนินการพื้นฐานจะอ่านและเขียน การอ่านอาจถูกปรับอัตราส่วนโดยการเรพลิเคตข้อมูลไปยังหลายเครื่องดังนั้นการร้องขอการอ่านบาลานซ์ อย่างไรก็ตามสิ่งนี้มีผลต่อการเขียนเนื่องจากต้องรักษาความสอดคล้องของข้อมูล การเขียนอาจถูกปรับอัตราส่วนโดยการแบ่งพาร์ติชันข้อมูลเท่านั้น สิ่งนี้มีผลต่อการอ่านเนื่องจากการเชื่อมต่อแบบกระจายมักจะช้าและใช้งานยาก นอกจากนี้เพื่อรักษาคุณสมบัติ ACID ฐานข้อมูลต้องล็อคข้อมูล ซึ่งหมายความว่าเมื่อผู้ใช้รายหนึ่งเปิดรายการข้อมูลผู้ใช้รายอื่นจะไม่สามารถทำการเปลี่ยนแปลงรายการเดียวกันได้ ข้อ จำกัด นี้มีผลกระทบอย่างรุนแรงต่อประสิทธิภาพ
ข้อ จำกัด เหล่านี้ไม่ได้เป็นปัญหาใหญ่ในอดีต อย่างไรก็ตามด้วยการปรากฎตัวของเครือข่ายสังคมออนไลน์และข้อมูลขนาดใหญ่ทำให้มีฐานข้อมูลขนาดใหญ่จำนวนหนึ่งที่ถูกบังคับให้รับใช้ลูกค้านับสิบหรือหลายร้อยล้านคนทั่วโลกด้วยการอ่านและเขียนหลายพันครั้งทุกนาที RDBMS แบบดั้งเดิมไม่สามารถตอบสนองความต้องการนี้ได้เพราะพวกเขาสามารถ "ขยายตัว" หรือเพิ่มทรัพยากรบนเซิร์ฟเวอร์กลางเท่านั้น ในทางตรงกันข้ามการใช้ NoSQL สามารถ "ขยาย" หรือกระจายโหลดฐานข้อมูลข้ามเซิร์ฟเวอร์ได้มากขึ้น
ฐานข้อมูล NoSQL มุ่งเน้นไปที่ปัญหาที่เฉพาะเจาะจง - จากการยืดหยุ่นมากขึ้นเกี่ยวกับข้อมูลที่เก็บไว้ (ที่เก็บเอกสาร) ไปจนถึงการกำหนดเป้าหมายการใช้กรณีเช่นความสัมพันธ์ (ฐานข้อมูลกราฟ) และข้อมูลรวม (ฐานข้อมูลคอลัมน์) หรือทำให้แนวคิดของฐานข้อมูลง่ายขึ้น สิ่งที่เก็บค่า (ที่เก็บคีย์ / ค่า)
ฐานข้อมูล NoSQL นำเสนอข้อดีของการปรับขนาดได้อย่างรวดเร็วประสิทธิภาพที่ดีขึ้นมากและโครงสร้างที่ง่ายกว่าเมื่อเทียบกับ RDBMS อย่างไรก็ตามพวกเขายังประสบกับการเป็นเทคโนโลยีที่ค่อนข้างใหม่และไม่ได้รับการพิสูจน์และพวกเขาไม่สามารถให้ฟังก์ชันการรายงานและการวิเคราะห์ที่หลากหลายของ RDBMS
