Latest web development tutorials
×

MongoDB หลักสูตร

MongoDB หลักสูตร NoSQL แนะนำโดยย่อ MongoDB แนะนำโดยย่อ Window ติดตั้ง MongoDB Linux ติดตั้ง MongoDB MongoDB การแปลความหมายของแนวคิด MongoDB สัมพันธ์ MongoDB การสร้างฐานข้อมูล MongoDB ลบฐานข้อมูล MongoDB แทรกเอกสาร MongoDB การปรับปรุงเอกสาร MongoDB การลบเอกสาร MongoDB เอกสารแบบสอบถาม MongoDB ผู้ประกอบการที่มีเงื่อนไข MongoDB $type ผู้ประกอบการ MongoDB Limit & Skip MongoDB ลำดับ MongoDB ดัชนี MongoDB การรวมตัว MongoDB สำเนา MongoDB ชิ้น MongoDB สำรองและกู้คืน MongoDB หน้าจอ MongoDB Java MongoDB PHP กระจาย MongoDB PHP MongoDB PHP7

MongoDB การสอนที่ทันสมัย

MongoDB ความสัมพันธ์ MongoDB อ้างอิงฐานข้อมูล MongoDB ครอบคลุมแบบสอบถามดัชนี MongoDB การวิเคราะห์แบบสอบถาม MongoDB การดำเนินงานของอะตอม MongoDB การจัดทำดัชนีขั้นสูง MongoDB ข้อ จำกัด ของดัชนี MongoDB ObjectId MongoDB Map Reduce MongoDB ค้นหาข้อความเต็ม MongoDB นิพจน์ปกติ MongoDB เครื่องมือการจัดการ MongoDB GridFS MongoDB ชุดถาวร MongoDB การเจริญเติบโตอัตโนมัติ

ข้อมูลส่วนตัว NoSQL

NoSQL (NoSQL = ไม่เพียง แต่ SQL) ซึ่งหมายความว่า "ไม่เพียง แต่ SQL"

ในระบบคอมพิวเตอร์สมัยใหม่วันในเครือข่ายจะมีข้อมูลจำนวนมาก

ข้อมูลเหล่านี้จะเป็นส่วนใหญ่ของระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDMBSs) ที่จะจัดการกับ 1970 EFCodd เสนอแบบเชิงสัมพันธ์กระดาษ "รูปแบบความสัมพันธ์ของข้อมูลสำหรับธนาคารข้อมูลที่ใช้ร่วมกันใหญ่" ซึ่งจะทำให้การสร้างแบบจำลองข้อมูลและการประยุกต์ใช้ในการเขียนโปรแกรมได้ง่ายขึ้น

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

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

ฐานข้อมูลเชิงสัมพันธ์ที่จะปฏิบัติตามกฎระเบียบของกรด

การทำธุรกรรมเป็นภาษาอังกฤษธุรกรรมและโลกแห่งความจริงของการซื้อขายจะคล้ายกันมาก แต่ก็มีลักษณะดังต่อไปสี่:

1 A (อะตอมมิกซิตี้) ปรมาณู <br> อะตอมง่ายต่อการเข้าใจว่าการดำเนินการทั้งหมดในการทำธุรกรรมอย่างใดอย่างหนึ่งทำทั้งหมดหรือไม่ทำธุรกรรมที่มีการทำธุรกรรมเงื่อนไขสำหรับการประสบความสำเร็จในการดำเนินงานทั้งหมดจะประสบความสำเร็จตราบใดที่มี การดำเนินการล้มเหลวทำธุรกรรมทั้งหมดจะล้มเหลวต้องย้อนกลับ

เช่นโอนเงินผ่านธนาคาร, การถ่ายโอนบัญชีจาก A ไป B บัญชี 100 หยวนจะแบ่งออกเป็นสองขั้นตอนคือ 1) ใช้บัญชี 100 หยวน; 2) B 100 หยวนบัญชีเงินฝาก ทั้งสองขั้นตอนจะแล้วเสร็จทั้งสองร่วมกันหรือไม่ร่วมกันเสร็จถ้าเสร็จสมบูรณ์เพียงขั้นตอนแรกขั้นตอนที่สองล้มเหลวเงินที่จะอย่างใด 100 หยวนน้อย

2, C (Consistency) สอดคล้อง <br> สอดคล้องค่อนข้างง่ายที่จะเข้าใจที่ได้รับในฐานข้อมูลไปยังสถานะที่สอดคล้องกันเรียกการทำธุรกรรมจะไม่เปลี่ยนฐานข้อมูลเดิม จำกัด สอดคล้อง

ที่มีอยู่ จำกัด สมบูรณ์เช่น A + B = 10 ถ้าการทำธุรกรรมการเปลี่ยนแปลงที่เรามีการเปลี่ยนแปลง B เพื่อให้ท้ายของรายการยังคงตอบสนอง A + B = 10 มิฉะนั้นการทำธุรกรรมที่ล้มเหลว

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

4 D (Durability) ความคงทนความคงทนหมาย <br> เมื่อธุรกรรมกระทำมันแก้ไขจะถูกเก็บไว้อย่างถาวรในฐานข้อมูลก็จะไม่หายไปแม้ว่าการหยุดทำงานเกิดขึ้น


ระบบกระจาย

ระบบ (ระบบการกระจาย) ส่วนประกอบซอฟต์แวร์คอมพิวเตอร์หลายเครื่องและเชื่อมต่อการสื่อสาร (เครือข่ายท้องถิ่นหรือเครือข่ายบริเวณกว้าง) ประกอบด้วยเครือข่ายคอมพิวเตอร์กระจาย

ระบบการกระจายกำลังสร้างบนระบบเครือข่ายซอฟต์แวร์ จะแม่นยำเนื่องจากลักษณะของซอฟแวร์ระบบกระจายกับระดับสูงของการทำงานร่วมกันและความโปร่งใส

ดังนั้นความแตกต่างระหว่างเครือข่ายและระบบการกระจายที่มากขึ้นซอฟต์แวร์ระดับสูง (โดยเฉพาะระบบปฏิบัติการ) มากกว่าฮาร์ดแวร์

ระบบกระจายสามารถนำมาใช้บนแพลตฟอร์มที่แตกต่างกันเช่น PC, เวิร์คสเตชั่ LANs และ WANs และชอบ


ข้อดีของการคำนวณแบบกระจาย

ความน่าเชื่อถือ (ความอดทนความผิด):
ประโยชน์ที่สำคัญของระบบคอมพิวเตอร์กระจายมีความน่าเชื่อถือ ผิดพลาดของเซิร์ฟเวอร์ไม่ได้ส่งผลกระทบต่อส่วนที่เหลือของเซิร์ฟเวอร์

scalability:
ในระบบคอมพิวเตอร์กระจายสามารถเพิ่มเครื่องเพิ่มเติมตามความจำเป็น

ใช้ทรัพยากรร่วมกัน:
แบ่งปันข้อมูลเป็นสิ่งจำเป็นสำหรับการใช้งานเช่นธนาคาร, ระบบการจองห้องพัก

ความยืดหยุ่น:
เนื่องจากระบบมีความยืดหยุ่นมากมันเป็นเรื่องง่ายในการติดตั้งและดำเนินการแก้ปัญหาการบริการใหม่ ๆ

ความเร็วได้เร็วขึ้น:
ระบบคอมพิวเตอร์กระจายสามารถมีอำนาจในการคำนวณมากขึ้นของคอมพิวเตอร์จึงทำให้การประมวลผลความเร็วได้เร็วกว่าระบบอื่น ๆ

ระบบเปิด:
เพราะมันเป็นระบบเปิดที่สามารถเข้าถึงท้องถิ่นหรือระยะไกลการให้บริการ

ประสิทธิภาพการทำงานที่สูงขึ้น:
ส่วนกลางกลุ่มเครือข่ายคอมพิวเตอร์เทียบเพื่อให้ประสิทธิภาพสูง (และราคาที่ดีขึ้น)


ข้อเสียของการคำนวณแบบกระจาย

การแก้ไขปัญหา ::
แก้ไขปัญหาและวินิจฉัยปัญหา

ซอฟแวร์:
สนับสนุนซอฟต์แวร์น้อยเป็นข้อเสียเปรียบหลักของระบบคอมพิวเตอร์กระจาย

เครือข่าย:
ปัญหาของโครงสร้างพื้นฐานของเครือข่ายรวมถึง: ปัญหาการส่งผ่านภาระสูงข้อมูลจะหายไปและอื่น ๆ

รักษาความปลอดภัย:
ระบบคอมพิวเตอร์ลักษณะของการพัฒนาระบบช่วยกระจายความเสี่ยงที่จะเสี่ยงด้านความปลอดภัยและการแบ่งปันข้อมูลปัญหา


NoSQL คืออะไร?

NoSQL หมายถึงไม่ใช่ฐานข้อมูลเชิงสัมพันธ์ NoSQL บางครั้งก็ยังเรียกว่าย่อไม่เพียง SQL ก็จะแตกต่างจากแบบดั้งเดิมระบบจัดการฐานข้อมูลฐานข้อมูลเชิงสัมพันธ์รวม

NoSQL สำหรับจัดเก็บข้อมูลขนาดใหญ่ (เช่น Google หรือ Facebook ล้านล้านบิตต่อวันเก็บไว้สำหรับผู้ใช้ของตน) เหล่านี้ประเภทของการจัดเก็บข้อมูลไม่จำเป็นต้องมีรูปแบบคงที่ไม่มีการดำเนินการเป็นพิเศษสามารถขยายด้านข้าง

ทำไม NoSQL?

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

เว็บข้อมูลภาพ

ตัวอย่าง

เครือข่ายสังคม:

แต่ละระเบียน: UserID1, UserID2
บันทึกเฉพาะกิจการ: UserID, first_name, last_name อายุเพศ ...
ภารกิจ: หาเพื่อนทั้งหมดของเพื่อนของเพื่อนของเพื่อน ... ของผู้ใช้ที่กำหนด

หน้าวิกิพีเดีย:

คอลเลกชันขนาดใหญ่ของเอกสาร
การรวมกันของข้อมูลโครงสร้างและไม่มีโครงสร้าง
ภารกิจ: ดึงหน้าเกี่ยวกับการแข่งขันกีฬาโอลิมปิกฤดูร้อนปี 1950 ก่อนที่จะ

RDBMS VS NoSQL

RDBMS
- โครงสร้างการจัดระเบียบของข้อมูลสูง
- ภาษาของแบบสอบถาม (SQL) (SQL)
- ข้อมูลและความสัมพันธ์ที่ถูกเก็บไว้ในตารางที่แยกต่างหาก
- จัดการข้อมูลภาษา, ภาษานิยามข้อมูล
- ความสอดคล้องเข้มงวด
- บริการขั้นพื้นฐาน

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

BigData

NoSQL ประวัติโดยย่อ

NoSQL คำที่ปรากฏตัวครั้งแรกในปี 1998 คือการพัฒนาคาร์โล Strozzi น้ำหนักเบาเปิดแหล่งที่มาไม่ให้การทำงานฐานข้อมูล SQL สัมพันธ์

2009 Last.fm ของโจฮาน Oskarsson ริเริ่มการอภิปรายเกี่ยวกับแหล่งที่มาเปิดฐานข้อมูลแบบกระจาย [2], เอริคอีแวนส์จาก Rackspace อีกครั้งที่นำเสนอแนวคิดของ NoSQL ที่แล้ว NoSQL ส่วนใหญ่หมายถึงไม่สัมพันธ์กระจายไม่ได้ให้ กรดรูปแบบการออกแบบฐานข้อมูล

2009 ที่จัดขึ้นในแอตแลนตา "No: SQL (ภาคอีสาน)" การสัมมนาเป็นขั้นที่มีสโลแกน "เลือกสนุกกำไรจากการ real_world ที่สัมพันธ์ = false;" ดังนั้น NoSQL คำอธิบายที่พบมากที่สุดคือ "ไม่เกี่ยวข้องประเภท" เน้นข้อดีของ key-value ร้านค้าและฐานข้อมูลเอกสารมากกว่าเพียงฝ่ายค้าน RDBMS


CAP ทฤษฎีบท (CAP ทฤษฎีบท)

ในสาขาวิทยาศาสตร์คอมพิวเตอร์, CAP ทฤษฎีบท (CAP ทฤษฎีบท) ยังเป็นที่รู้จักกันในนามบรูเออร์ทฤษฎีบท (ทฤษฎีบทเหล้า) ซึ่งชี้ให้เห็นว่าระบบการคำนวณแบบกระจายไม่สามารถตอบสนองความพร้อมกันสามจุดต่อไป:

  • ความสอดคล้อง (Consistency) (โหนดทั้งหมดมีข้อมูลเดียวกันในเวลาเดียวกัน)
  • ความพร้อมใช้งาน (มีจำหน่าย) (ให้แน่ใจว่าทุกคำขอมีการตอบสนองโดยไม่คำนึงถึงความสำเร็จหรือความล้มเหลว)
  • ความอดทนพาร์ทิชัน (ความอดทน Partition) (ขาดทุนระบบหรือล้มเหลวของข้อมูลใด ๆ ที่ไม่ได้ส่งผลกระทบต่อการดำเนินงานอย่างต่อเนื่องของระบบ)

ทฤษฎีหลัก CAP คือระบบกระจายไม่พร้อมกันตอบสนองความสอดคล้องว่าง, ความอดทนความผิดและพาร์ทิชันที่สามเหล่านี้ต้องการเพียงสามารถตอบสนองที่ดีในขณะที่สอง

ดังนั้นตามหลักการของฐานข้อมูล CAP NoSQL เข้าไปในแคลิฟอร์เนียพบหลักการเพื่อตอบสนองและตอบสนองหลักการของ CP AP หลักการสามประเภทนี้:

  • CA - จุดเดียวของความสอดคล้องคลัสเตอร์ตอบสนองความพร้อมของระบบการขยายขนาดโดยมากมักจะมีประสิทธิภาพน้อย
  • ซีพี - พบความสอดคล้องกันจะทนพาร์ทิชันของประสิทธิภาพของระบบโดยทั่วไปไม่สูงโดยเฉพาะอย่างยิ่ง
  • AP - พบกับห้องว่างอดทนพาร์ทิชันของระบบมักจะต้องการความสอดคล้องอาจจะต่ำ
หมวก theoram ภาพ

ข้อดี NoSQL / ข้อเสีย

ข้อดี:

  • - ความยืดหยุ่นสูง
  • - การคำนวณแบบกระจาย
  • - ค่าใช้จ่ายต่ำ
  • - ความยืดหยุ่นทางสถาปัตยกรรม, ข้อมูลกึ่งโครงสร้าง
  • - ไม่มีความสัมพันธ์ที่ซับซ้อน

ข้อเสีย:

  • - ไม่มีมาตรฐานคือ
  • - ฟังก์ชั่นการค้นหา จำกัด (ไกล)
  • - ข้อตกลงขั้นสุดท้ายไม่ได้เป็นโปรแกรมที่ใช้งานง่าย

BASE

BASE: มีจำหน่ายโดยทั่วไป Soft รัฐที่สอดคล้องกันในที่สุด กำหนดโดยเอริคบรูเออร์

ทฤษฎีหลัก CAP คือระบบกระจายไม่พร้อมกันตอบสนองความสอดคล้องว่าง, ความอดทนความผิดและพาร์ทิชันที่สามเหล่านี้ต้องการเพียงสามารถตอบสนองที่ดีในขณะที่สอง

ฐานเป็นฐานข้อมูล NoSQL เป็นปกติที่อ่อนแอสำหรับความพร้อมและความสอดคล้องของความต้องการหลักการ:

  • availble ทั่วไป - ขั้นพื้นฐานที่มีอยู่
  • ซอฟท์รัฐ - รัฐอ่อน / การทำธุรกรรมที่มีความยืดหยุ่น "รัฐ Soft" สามารถเข้าใจได้ว่า "ไม่มีการเชื่อมต่อ" และ "รัฐยาก" คือ "การเชื่อมต่อที่มุ่งเน้น" ใน
  • ในที่สุดความสอดคล้อง - ความสอดคล้องในที่สุดความสอดคล้องในที่สุดเป็นเป้าหมายสูงสุดของกรด

กรด VS BASE

กรด BASE
อะตอม (A tomicity) พื้นฐานที่สามารถนำมาใช้ (B asically vailable)
ความสอดคล้อง (C onsistency) รัฐอ่อน / บริการที่มีความยืดหยุ่น (S ผู้ทรงรัฐ)
การแยก (ฉัน solation) ความสอดคล้องในที่สุด (E สอดคล้อง ventual)
ถาวร (D urable)

จำแนกฐานข้อมูล NoSQL

ชนิด ผู้แทนบางคน

ลักษณะ
ร้านค้าคอลัมน์

HBase

คาสซานดรา

Hypertable

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

จัดเก็บเอกสาร

MongoDB

CouchDB

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

การจัดเก็บค่าคีย์

โตเกียวคณะรัฐมนตรี / ทรราช

Berkeley DB

memcachedb

Redis

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

หน่วยความจำแผนที่

Neo4j

FlockDB

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

การเก็บรักษาวัตถุ

db4o

Versant

ผ่านไวยากรณ์ภาษาเชิงวัตถุคล้ายกับการทำงานของฐานข้อมูลเข้าถึงได้โดยวิธีการของข้อมูลวัตถุ

ฐานข้อมูล XML

Berkeley DB XML

BaseX

การจัดเก็บข้อมูล XML ที่มีประสิทธิภาพและสนับสนุนไวยากรณ์แบบสอบถาม XML ภายในเช่น XQuery, Xpath


ที่ใช้

แล้วมีหลาย บริษัท ใช้ NoSQL คือ:
  • Google
  • Facebook
  • Mozilla
  • อะโดบี
  • foursquare
  • LinkedIn
  • Digg
  • McGraw-Hill ศึกษา
  • วิทยุสาธารณะเวอร์มอนต์