บ้าน การเงินส่วนบุคคล ลักษณะทั่วไปของ NoSQL - Dummies

ลักษณะทั่วไปของ NoSQL - Dummies

สารบัญ:

วีดีโอ: SQL Index โดย 9Expert Training 2024

วีดีโอ: SQL Index โดย 9Expert Training 2024
Anonim

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

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

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

  • Schema Agnostic

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

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

คุณอาจต้องปรับเปลี่ยนคำค้นหาตามลำดับอาจเพิ่มดัชนี

เฉพาะบางครั้ง

(เช่นดัชนีช่วงจำนวนเต็มเพื่อให้น้อยกว่าและมากกว่าแบบสอบถามเฉพาะชนิดข้อมูล) แต่กระบวนการทั้งหมดเป็น เจ็บปวดมากน้อยกว่าที่เป็นอยู่กับ RDBMS

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

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

เลขที่บัญชี

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

Nonrelational

ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์เป็นวิธีที่โดดเด่นในการจัดเก็บข้อมูลแอพพลิเคมานานกว่า 20 ปี การทำงานทางคณิตศาสตร์ได้ดำเนินการอย่างมากเพื่อพิสูจน์ทฤษฎีที่เป็นรากฐานของพวกเขา การหนุนนี้อธิบายว่าตารางต่างๆเกี่ยวข้องกันอย่างไร แถวคำสั่งซื้อเดียวอาจเกี่ยวข้องกับแถวที่อยู่จัดส่ง แต่แต่ละแถวที่อยู่การส่งมอบยังเกี่ยวข้องกับแถวลำดับอีกด้วย นี่คือ หลาย

-

ถึง

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

ในทฤษฎีฐานข้อมูลเชิงสัมพันธ์เป้าหมายคือ

ทำให้ข้อมูลของคุณเป็นแบบปกติ

(นั่นคือเพื่อจัดระเบียบเขตข้อมูลและตารางเพื่อลบข้อมูลที่ซ้ำกัน) ใน NoSQL ฐานข้อมูล - โดยเฉพาะอย่างยิ่งเอกสารหรือฐานข้อมูลรวม - คุณมักจะ denormately denormalize ข้อมูลการจัดเก็บข้อมูลบางอย่างหลายครั้ง

คุณสามารถจัดเก็บตัวอย่างเช่น "ที่อยู่จัดส่งลูกค้า" หลาย ๆ ครั้งในใบสั่งซื้อจำนวนมากที่ลูกค้าทำขึ้นเมื่อเวลาผ่านไปแทนที่จะจัดเก็บเพียงครั้งเดียวและอ้างถึงคำสั่งซื้อหลายรายการ การทำเช่นนี้ต้องใช้พื้นที่เก็บข้อมูลเพิ่มและมีความรอบคอบในการจัดการแอปพลิเคชันของคุณ ทำไมมันถึงทำ?

มีข้อดีสองอย่างในการจัดเก็บข้อมูลหลาย ๆ ครั้ง: การจัดเก็บและเรียกค้นข้อมูลได้ง่าย: เพียงบันทึกและรับระเบียนเดียว

ความเร็วในการค้นหา:

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

  • มุมมองเชิงสัมพันธ์และการ denormalizations ของ NoSQL เป็นแนวทางที่แตกต่างสำหรับปัญหาการแพร่กระจายข้อมูลข้ามระเบียน ใน NoSQL คุณอาจต้องรักษาข้อมูลซ้ำหลาย ๆ อันที่แสดงมุมมองที่แตกต่างกันของข้อมูลเดียวกัน วิธีนี้จะเพิ่มต้นทุนในการจัดเก็บข้อมูล แต่ช่วยให้คุณได้เวลาสืบค้นข้อมูลที่ดีมากขึ้น เนื่องจากต้นทุนในการจัดเก็บข้อมูลที่เพิ่มขึ้นตลอดเวลาและความเร็วในการพัฒนาและการสืบค้นข้อมูลที่เพิ่มขึ้นข้อมูล denormalized (aka

  • materialized views ) ไม่ใช่เหตุผลที่นักฆ่าจะลดปัญหา NoSQL นี่เป็นวิธีที่แตกต่างในการแก้ไขปัญหาเดียวกันโดยมีข้อดีและข้อเสียของตัวเอง

NoSQL สามารถแบ่งจำหน่ายได้เป็นอย่างมากและใช้ฮาร์ดแวร์สินค้าโภคภัณฑ์

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

ข้อดีของการกระจายฐานข้อมูลของคุณคือคุณสามารถใช้เซิร์ฟเวอร์ที่มีราคาถูกกว่าที่เรียกว่า

เซิร์ฟเวอร์สินค้า

แม้แต่ชุดข้อมูลขนาดเล็กก็อาจจะมีราคาถูกกว่าที่จะซื้อเซิร์ฟเวอร์สินค้าโภคภัณฑ์สามชุดแทนที่จะเป็นเซิร์ฟเวอร์ที่ใช้พลังงานสูงเพียงเครื่องเดียว

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

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

ลักษณะทั่วไปของ NoSQL - Dummies

ตัวเลือกของบรรณาธิการ

ใช้สำเนียงกระดาษในการจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัดหนังสือ

ใช้สำเนียงกระดาษในการจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัดหนังสือ

สำเนียงกระดาษเช่นอุปกรณ์และของตกแต่งอื่น ๆ สามารถนำเสนออาหารได้อย่างดีสำหรับกล้องในรูปแบบอาหารและภาพถ่ายอาหารของคุณ เอกสารที่ละเอียดอ่อนเหล่านี้อาจเป็นสำเนียงเล็ก ๆ น้อย ๆ ที่สมบูรณ์แบบสำหรับการตั้งค่าการถ่ายภาพธรรมดาและบางครั้งก็น่าเบื่อ ถ้าใช้แบบดั้งเดิมตุ๊กตาหมุดก็ไม่ใช่ของคุณหรือถ้าคุณกำลังมองหาบางสิ่งบางอย่าง ...

ใช้ขาตั้งกล้องเพื่อลดการสั่นของกล้อง - มัมมี่

ใช้ขาตั้งกล้องเพื่อลดการสั่นของกล้อง - มัมมี่

ในการถ่ายภาพระยะใกล้และระยะใกล้มากที่สุด อุปสรรคยากที่จะเอาชนะ คุณอาจพบวัตถุที่เคลื่อนที่ (เช่นผึ้งยุ่ง) กล้องของคุณอาจสั่นสะเทือนในระหว่างการรับแสงเนื่องจากสาเหตุต่างๆและลมอาจทำให้ทุกสิ่งในฉากของคุณเคลื่อนที่ได้ การจัดการกับท่าทางของคุณขึ้นอยู่กับเรื่องของคุณ ...

การใช้ภาพถ่ายและผ้าลินินเพื่อจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัมมี่

การใช้ภาพถ่ายและผ้าลินินเพื่อจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัมมี่

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

ตัวเลือกของบรรณาธิการ

การเพิ่มข้อมูลลงในภาพเดียวบน Canon EOS 6D ของคุณ - หุ่น

การเพิ่มข้อมูลลงในภาพเดียวบน Canon EOS 6D ของคุณ - หุ่น

ข้อมูลเมตามีประสิทธิภาพมาก เมื่อคุณเพิ่มข้อมูลเมตาลงในรูปภาพใน EOS 6D จะหาได้ง่ายขึ้น ข้อมูลนี้สามารถใช้งานได้หากคุณตัดสินใจแยกสาขาออกและพยายามขายรูปภาพบางส่วนในหน่วยงานภาพสต็อก ข้อมูลเมตายิ่งมีมากเท่าไหร่ก็ยิ่งหาได้ง่ายกว่า ...

การปรับช่องมองภาพบนกล้อง Canon EOS 70D - Dummies

การปรับช่องมองภาพบนกล้อง Canon EOS 70D - Dummies

ใน Canon EOS 70D, ใกล้ด้านขวาบนของสายยางที่ล้อมรอบช่องมองภาพเป็นปุ่มหมุน (ดูรูปต่อไปนี้) ที่ช่วยให้คุณปรับโฟกัสของช่องมองภาพให้ตรงกับสายตาของคุณ ปุ่มหมุนนี้เป็นที่รู้จักอย่างเป็นทางการว่าเป็นตัวควบคุมการปรับสายตา หากไม่ใช้ขั้นตอนนี้ฉากที่ปรากฏ ...

ตัวเลือกของบรรณาธิการ

สิ่งที่ควรค้นหาในซอฟต์แวร์การถ่ายภาพ HDR - ดัมมี่

สิ่งที่ควรค้นหาในซอฟต์แวร์การถ่ายภาพ HDR - ดัมมี่

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

เมื่อต้องการแปลง HDR เป็นขาวดำ - ม้วน

เมื่อต้องการแปลง HDR เป็นขาวดำ - ม้วน

หนึ่งตัวเลือกเพื่อสร้างสีดำและสีขาวสูง ภาพช่วงไดนามิก (HDR) คือการแปลงภาพถ่ายสีของคุณให้เป็นขาวดำก่อนใช้ภาพเหล่านี้เพื่อสร้างภาพ HDR คุณมีสองตัวเลือกเพื่อเลือกว่านี่คือทิศทางที่คุณต้องการหรือไม่: แปลงระหว่าง Conversion ดิบ แปลงระหว่างการทำแผนที่โทน หากเลือก ...

สิ่งที่ควรนำมาสู่การถ่ายภาพอาหารนอกสถานที่ - มัมมี่

สิ่งที่ควรนำมาสู่การถ่ายภาพอาหารนอกสถานที่ - มัมมี่

รายการตรวจสอบคือ เพียงวิธีเดียวในการจดจำทุกอย่างที่คุณต้องการสำหรับการถ่ายภาพอาหารนอกสถานที่ขนาดใหญ่ เมื่อเขียนรายการตรวจสอบลองพิจารณาด้านต่างๆของการถ่ายทำที่กำลังจะเกิดขึ้น รายการที่ครอบคลุมมากขึ้นดีกว่า จดจำพื้นฐานสำหรับการจัดเตรียมอาหารและการถ่ายภาพอย่าลืมข้อมูลเบื้องต้นเกี่ยวกับชุดของคุณ ...