ข้อมูลส่วนตัว 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 ยังเป็นอย่างดีสามารถจัดการกับข้อมูลขนาดใหญ่เหล่านี้
ตัวอย่าง
เครือข่ายสังคม:
บันทึกเฉพาะกิจการ: UserID, first_name, last_name อายุเพศ ...
ภารกิจ: หาเพื่อนทั้งหมดของเพื่อนของเพื่อนของเพื่อน ... ของผู้ใช้ที่กำหนด
หน้าวิกิพีเดีย:
การรวมกันของข้อมูลโครงสร้างและไม่มีโครงสร้าง
ภารกิจ: ดึงหน้าเกี่ยวกับการแข่งขันกีฬาโอลิมปิกฤดูร้อนปี 1950 ก่อนที่จะ
RDBMS VS NoSQL
RDBMS
- โครงสร้างการจัดระเบียบของข้อมูลสูง
- ภาษาของแบบสอบถาม (SQL) (SQL)
- ข้อมูลและความสัมพันธ์ที่ถูกเก็บไว้ในตารางที่แยกต่างหาก
- จัดการข้อมูลภาษา, ภาษานิยามข้อมูล
- ความสอดคล้องเข้มงวด
- บริการขั้นพื้นฐาน
NoSQL
- หมายถึงไม่ได้เป็นเพียง SQL
- ไม่มีภาษาแบบสอบถามที่เปิดเผย
- ไม่มีรูปแบบที่กำหนดไว้ล่วงหน้า
- คู่ค่าจัดเก็บคอลัมน์การจัดเก็บเอกสาร, กราฟิก, ฐานข้อมูล - คีย์
- ความสอดคล้องในที่สุดมากกว่าคุณสมบัติ ACID
- ข้อมูลที่ไม่แน่นอนและไม่มีโครงสร้าง
- ทฤษฏี CAP
- ประสิทธิภาพสูงพร้อมใช้งานสูงและความยืดหยุ่น
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 - พบกับห้องว่างอดทนพาร์ทิชันของระบบมักจะต้องการความสอดคล้องอาจจะต่ำ
ข้อดี 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 คือ:- Mozilla
- อะโดบี
- foursquare
- Digg
- McGraw-Hill ศึกษา
- วิทยุสาธารณะเวอร์มอนต์