Agile Data Science - SQL เทียบกับ NoSQL

จุดเน้นที่สมบูรณ์ของบทช่วยสอนนี้คือการปฏิบัติตามวิธีการที่คล่องตัวโดยมีขั้นตอนน้อยลงและใช้เครื่องมือที่มีประโยชน์มากขึ้น เพื่อให้เข้าใจสิ่งนี้สิ่งสำคัญคือต้องทราบความแตกต่างระหว่างฐานข้อมูล SQL และ NoSQL

ผู้ใช้ส่วนใหญ่รู้จักฐานข้อมูล SQL และมีความรู้เป็นอย่างดีเกี่ยวกับ MySQL, Oracle หรือฐานข้อมูล SQL อื่น ๆ ในช่วงหลายปีที่ผ่านมาฐานข้อมูล NoSQL ได้รับการนำไปใช้อย่างกว้างขวางเพื่อแก้ปัญหาทางธุรกิจและข้อกำหนดต่างๆของโครงการ

ตารางต่อไปนี้แสดงความแตกต่างระหว่างฐานข้อมูล SQL และ NoSQL -

SQL NoSQL
ฐานข้อมูล SQL ส่วนใหญ่เรียกว่าระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ฐานข้อมูล NoSQL เรียกอีกอย่างว่าฐานข้อมูล documentoriented มันไม่เกี่ยวข้องและกระจาย
ฐานข้อมูลที่ใช้ SQL ประกอบด้วยโครงสร้างของตารางที่มีแถวและคอลัมน์ การรวบรวมตารางและโครงสร้างสคีมาอื่น ๆ ที่เรียกว่าฐานข้อมูล ฐานข้อมูล NoSQL ประกอบด้วยเอกสารเป็นโครงสร้างหลักและการรวมเอกสารเรียกว่าการรวบรวม
ฐานข้อมูล SQL ประกอบด้วยสคีมาที่กำหนดไว้ล่วงหน้า ฐานข้อมูล NoSQL มีข้อมูลแบบไดนามิกและรวมถึงข้อมูลที่ไม่มีโครงสร้าง
ฐานข้อมูล SQL สามารถปรับขนาดได้ตามแนวตั้ง ฐานข้อมูล NoSQL สามารถปรับขนาดได้ในแนวนอน
ฐานข้อมูล SQL เหมาะสำหรับสภาพแวดล้อมการสืบค้นที่ซับซ้อน NoSQL ไม่มีอินเทอร์เฟซมาตรฐานสำหรับการพัฒนาแบบสอบถามที่ซับซ้อน
ฐานข้อมูล SQL ไม่สามารถจัดเก็บข้อมูลแบบลำดับชั้นได้ ฐานข้อมูล NoSQL เหมาะสำหรับการจัดเก็บข้อมูลแบบลำดับชั้น
ฐานข้อมูล SQL เหมาะสมที่สุดสำหรับการทำธุรกรรมจำนวนมากในแอปพลิเคชันที่ระบุ ฐานข้อมูล NoSQL ยังถือว่าไม่สามารถเทียบเคียงได้กับภาระงานสูงสำหรับแอปพลิเคชันธุรกรรมที่ซับซ้อน
ฐานข้อมูล SQL ให้การสนับสนุนที่ดีเยี่ยมสำหรับผู้ขายของตน ฐานข้อมูล NoSQL ยังคงอาศัยการสนับสนุนจากชุมชน มีผู้เชี่ยวชาญเพียงไม่กี่คนที่พร้อมสำหรับการติดตั้งและปรับใช้สำหรับการปรับใช้ NoSQL ขนาดใหญ่
ฐานข้อมูล SQL มุ่งเน้นไปที่คุณสมบัติของกรด - อะตอม, ความสม่ำเสมอ, การแยกและความทนทาน ฐานข้อมูล NoSQL มุ่งเน้นไปที่คุณสมบัติของ CAP - ความสม่ำเสมอความพร้อมใช้งานและความทนทานต่อพาร์ติชัน
ฐานข้อมูล SQL สามารถจัดประเภทเป็นโอเพ่นซอร์สหรือซอร์สแบบปิดโดยขึ้นอยู่กับผู้ขายที่เลือกใช้ ฐานข้อมูล NoSQL ถูกจัดประเภทตามประเภทการจัดเก็บ ฐานข้อมูล NoSQL เป็นโอเพ่นซอร์สตามค่าเริ่มต้น

ทำไม NoSQL ถึงคล่องตัว?

การเปรียบเทียบดังกล่าวข้างต้นแสดงให้เห็นว่าฐานข้อมูลเอกสาร NoSQL สนับสนุนการพัฒนาแบบ Agile อย่างสมบูรณ์ เป็นสคีมาน้อยและไม่ได้มุ่งเน้นไปที่การสร้างแบบจำลองข้อมูลอย่างสมบูรณ์ แต่ NoSQL ชะลอการใช้งานแอปพลิเคชันและบริการดังนั้นนักพัฒนาจึงมีแนวคิดที่ดีขึ้นว่าจะจำลองข้อมูลได้อย่างไร NoSQL กำหนดโมเดลข้อมูลเป็นรูปแบบแอปพลิเคชัน

การติดตั้ง MongoDB

ตลอดบทช่วยสอนนี้เราจะให้ความสำคัญกับตัวอย่างของ MongoDB มากขึ้นเนื่องจากถือว่าเป็น“ NoSQL schema” ที่ดีที่สุด