10 ความเข้าใจผิดเกี่ยวกับ NoSQL

10 ความเข้าใจผิดเกี่ยวกับ NoSQL - Dummies

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

NoSQL เป็นฐานข้อมูลเพียงชุดเดียว

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

คุณสามารถหาฐานข้อมูลได้หลายแบบภายใต้แบนเนอร์ NoSQL:

  • ร้านค้าคีย์ - ค่าสามารถจัดเก็บข้อมูลง่ายๆผ่านการใช้คีย์ได้อย่างง่ายดายและรวดเร็ว

  • ร้านค้าคอลัมน์ให้การสนับสนุนตารางกว้างมาก แต่ไม่ใช่ความสัมพันธ์ระหว่างตาราง

  • เอกสารสนับสนุนการจัดโครงสร้างแบบลำดับชั้นของ JSON และ / หรือ XML

  • ร้านค้าสาม (และกราฟ) ให้ความยืดหยุ่นเหมือนกันกับความสัมพันธ์ที่บันทึกฐานข้อมูล NoSQL ให้กับโครงสร้างบันทึก

ฐานข้อมูล NoSQL ไม่ใช่ ACID-compliance

ACID คือมาตรฐานด้านความปลอดภัยของข้อมูลทอง มุมมองของข้อมูลมีความสอดคล้องกันการดำเนินการไม่รบกวนการทำงานและข้อมูลจะถูกบันทึกลงในดิสก์อย่างถาวรคุณจะปกป้องข้อมูลของคุณ คนมักคิดว่าฐานข้อมูล NoSQL ไม่ได้ให้การปฏิบัติตาม ACID

ฐานข้อมูล NoSQL จำนวนมากให้การสนับสนุน ACID แบบเต็มรูปแบบผ่านคลัสเตอร์ MarkLogic Server, OrientDB, Aerospike และ Hypertable มีคุณสมบัติครบถ้วนตามข้อกำหนดของ ACID โดยให้การปฏิบัติตาม ACID ตามลำดับ หรือ อ่านอย่างเต็มรูปแบบ

ฐานข้อมูล NoSQL อื่น ๆ สามารถให้ความสอดคล้องกันของ ACID โดยใช้การตั้งค่าที่สมเหตุสมผลในโค้ดไคลเอ็นต์ โดยทั่วไปจะมีการตั้งค่า Quorum หรือ All สำหรับการดำเนินการอ่านและเขียน ฐานข้อมูลเหล่านี้ประกอบด้วย Riak, MongoDB และ Microsoft DocumentDB

ฐานข้อมูล NoSQL สูญเสียข้อมูล

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

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

นอกจากนี้ฐานข้อมูลที่สอดคล้องกันในท้ายที่สุดยังสามารถให้ความทนทานต่อข้อมูลโดยการใช้บันทึกอย่างระมัดระวัง (WAL)ฐานข้อมูล NoSQL จำนวนมากมีคุณสมบัตินี้

ฐานข้อมูล NoSQL ไม่พร้อมสำหรับแอพพลิเคชันระดับองค์กรที่มีภารกิจสำคัญ

ในทางตรงกันข้ามหลายองค์กรใช้ฐานข้อมูล NoSQL สำหรับภารกิจสำคัญ ได้แก่ :

  • หน่วยป้องกันและหน่วยข่าวกรองจัดเก็บและแชร์ข้อมูล < บริษัท สื่อที่ให้บริการแคตาล็อกข้อมูลเมตาดาต้าสำหรับสื่อวิดีโอและเสียง

  • ธนาคารที่ใช้ฐานข้อมูล NoSQL เป็นร้านค้าหลักหรือสำนักงานต่อต้านการฉ้อโกงและความเสี่ยงด้านหลังของสำนักงาน การประเมินระบบ

  • หน่วยงานรัฐบาลที่ใช้ฐานข้อมูล NoSQL เป็นจุดเริ่มต้นหลักสำหรับระบบการดูแลสุขภาพ

  • เหล่านี้ไม่ใช่ระบบขนาดเล็กหรือแคชง่ายสำหรับระบบเชิงสัมพันธ์ พวกเขาเป็นกรณีที่ NoSQL เหมาะสมดี แน่นอนฐานข้อมูล NoSQL บางอย่างพร้อมสำหรับระบบขององค์กรมากกว่าระบบอื่น ๆ

  • ฐานข้อมูล NoSQL ไม่ปลอดภัย

ไม่เช่นนั้น! ฐานข้อมูล NoSQL จำนวนมากในขณะนี้มีการรักษาความปลอดภัยระดับรายการและระดับข้อมูล (เซลล์) Microsoft DocumentDB, MarkLogic Server, OrientDB, AllegroGraph และ Accumulo ให้การควบคุมการเข้าถึงตามบทบาท (RBAC) เพื่อเข้าถึงระเบียนที่จัดเก็บอยู่ภายในฐานข้อมูล NoSQL เหล่านี้

ฐานข้อมูล NoSQL จำนวนมากให้การรวมเข้ากับ Lightweight Directory Access Protocol (LDAP), Kerberos และระบบรักษาความปลอดภัยที่ใช้ใบรับรอง การสนับสนุนการเข้ารหัสผ่านสายในการสื่อสารแบบ client-to-server ทั้งหมดและการสื่อสารภายในที่อยู่ภายในคลัสเตอร์ยังอยู่ในฐานข้อมูลเหล่านี้

ฐานข้อมูล NoSQL บางแห่งได้รับการรับรองและใช้งานโดยองค์กรป้องกัน Accumulo มาจากโครงการ National Security Agency (NSA) เซิร์ฟเวอร์ MarkLogic ได้รับการรับรองอย่างเป็นอิสระภายใต้การรับรองเกณฑ์ Common Criteria ของกระทรวงกลาโหมสหรัฐ (DoD)

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

ฐานข้อมูล NoSQL ทั้งหมดเป็น open-source

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

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

มี บริษัท การค้าจำนวนมากในพื้นที่ NoSQL Microsoft, MarkLogic, Franz (Allegrograph), Hypertable และ Aerospike เป็น บริษัท การค้าที่ยอดเยี่ยมที่นำเสนอฐานข้อมูล NoSQL และพวกเขากำลังประสบความสำเร็จอย่างมากเช่นนี้

ฐานข้อมูล NoSQL สำหรับเว็บ 2. โปรแกรมประยุกต์ 0

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

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

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

NoSQL เป็นเพียง hype

Microsoft, Oracle และ IBM แต่ละคนมีฐานข้อมูล NoSQL ของตนเองในตลาดตอนนี้ แม้ว่า บริษัท เหล่านี้จะมีความเสี่ยงที่จะโผงผาง แต่ บริษัท เหล่านี้ลงทุนในเทคโนโลยีเฉพาะเมื่อพวกเขาเห็นผลกำไรเท่านั้น

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

นักพัฒนา NoSQL ไม่เข้าใจวิธีใช้ RDBMS

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

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

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

เทคโนโลยี RDBMS ที่อัปเดตจะลบความจำเป็นใน NoSQL

หลายวิธีที่จัดจำหน่ายอย่างแพร่หลายของ NoSQL กำลังมีการผสมผสานกับเทคโนโลยี RDBMS ซึ่งส่งผลให้เกิดฐานข้อมูล NewSQL มากมาย

แม้ว่า NewSQL จะช่วยจัดการกับการวิพากษ์วิจารณ์เทคโนโลยี RDBMS ของ NoSQL นักพัฒนาซอฟต์แวร์ NewSQL จะจัดโครงสร้างข้อมูลเดียวกันกับ RDBMS

ฐานข้อมูล NoSQL มีไว้สำหรับปัญหาข้อมูลที่แตกต่างกันโดยมีโครงสร้างข้อมูลและกรณีการใช้งานที่แตกต่างกัน