ทำไม NoSQL สำคัญกว่าฐานข้อมูลเชิงสัมพันธ์สำหรับแอปพลิเคชันมือถือ

ผู้เขียน: Judy Howell
วันที่สร้าง: 1 กรกฎาคม 2021
วันที่อัปเดต: 1 กรกฎาคม 2024
Anonim
2758613-64-1-Week7 การออกแบบฐานข้อมูลแบบ NoSQL
วิดีโอ: 2758613-64-1-Week7 การออกแบบฐานข้อมูลแบบ NoSQL

เนื้อหา


Takeaway:

อุตสาหกรรมแอปพลิเคชั่นมือถือเป็นสัญญาณของ NoSQL ที่เป็นประโยชน์อีกประการหนึ่ง

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

ทำไมฐานข้อมูลเชิงสัมพันธ์ไม่ดีพอ

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


ตัวอย่างเช่นสมมติว่านักพัฒนาซอฟต์แวร์กำลังสร้างแอปที่คล้ายกับ "Angry Birds" ซึ่งตัวละครประเภทต่างๆดำเนินการต่างกัน ด้วยฐานข้อมูลเชิงสัมพันธ์การเพิ่มประเภทของตัวละครหรือการกระทำที่พวกเขาสามารถทำได้อาจต้องมีการแก้ไขสคีมาอย่างสมบูรณ์เพื่อรองรับการเปลี่ยนแปลง ขึ้นอยู่กับขนาดของการเปลี่ยนแปลงสิ่งนี้อาจใช้เวลาและความพยายามมากในตอนท้ายของนักพัฒนาซอฟต์แวร์

อีกประเด็นหนึ่งที่ฐานข้อมูลเชิงสัมพันธ์เกี่ยวข้องกับแอปพลิเคชั่นมือถือก็คือพวกเขาไม่ได้สร้างขึ้นเพื่อรองรับกรณีการใช้งานที่แตกต่างกันทั้งหมด กรณีการใช้งานสามารถแยกย่อยได้ในแง่ของประเภทอุปกรณ์มือถือระบบปฏิบัติการเฟิร์มแวร์ระบบปฏิบัติการและตำแหน่ง สิ่งนี้จะซับซ้อนมากขึ้นเมื่อคุณพิจารณาชุดค่าผสมที่แตกต่างกันซึ่งเกิดขึ้นจากผู้ใช้ที่ใช้ระบบปฏิบัติการที่ล้าสมัยการเดินทางและสถานการณ์อื่น ๆ แม้แต่ผู้สนับสนุน SQL แบบ die-hard ก็ต้องยอมรับว่าโมเดลฐานข้อมูลเชิงสัมพันธ์นั้นไม่เหมาะสำหรับแอปพลิเคชันมือถือ

ทำไม NoSQL จึงมีประสิทธิภาพ

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


ฉันพูดถึงกรณีการใช้งานที่แตกต่างกันซึ่งแอปพลิเคชันมือถือจะต้องอยู่ นี่เป็นปัญหาอื่นที่ได้รับการแก้ไขเมื่อใช้ฐานข้อมูล NoSQL หนึ่งในตัวอย่างที่ดีที่สุดของฐานข้อมูล NoSQL ที่จัดการกรณีการใช้งานที่ซับซ้อนของผู้ใช้มือถือคือ Foursquare เนื่องจาก Foursquare เป็นที่ตั้งตามผลลัพธ์ที่ผู้ใช้ได้รับจากข้อความค้นหาหรือแม้แต่ตัวเลือกที่มีให้จะแตกต่างกันไปตามสถานที่ตั้ง ความสามารถเชิงพื้นที่ของฐานข้อมูล NoSQL โอเพนซอร์สเช่น MongoDB ทำให้นักพัฒนาซอฟต์แวร์สามารถเพิ่มคุณสมบัติที่รับรู้ตำแหน่งได้อย่างง่ายดาย

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

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

ไม่มีข้อบกพร่องไม่มีความเครียด - คู่มือแบบเป็นขั้นตอนเพื่อสร้างซอฟต์แวร์ที่เปลี่ยนแปลงชีวิตโดยไม่ทำลายชีวิตของคุณ

คุณไม่สามารถพัฒนาทักษะการเขียนโปรแกรมของคุณเมื่อไม่มีใครใส่ใจคุณภาพของซอฟต์แวร์

บรรทัดล่างใน NoSQL

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