อ่าน 6 นาที
NoSQL
NoSQL (ชื่อเรียกแบบไม่เป็นทางการที่ต่อมากลายเป็นชื่อทางการ หมายถึง "ไม่ใช่แค่ SQL " หรือ "ไม่ใช่เชิงสัมพันธ์") [ 1 ] หมายถึงรูปแบบ การออกแบบ ฐานข้อมูล ประเภทหนึ่ง...
NoSQL
NoSQL (ชื่อเรียกแบบไม่เป็นทางการที่ต่อมากลายเป็นชื่อทางการ หมายถึง "ไม่ใช่แค่SQL " หรือ "ไม่ใช่เชิงสัมพันธ์") [ 1 ]หมายถึงรูปแบบ การออกแบบ ฐานข้อมูล ประเภทหนึ่ง ที่จัดเก็บและเรียกค้นข้อมูลแตกต่างจากโครงสร้างแบบตารางดั้งเดิมของฐานข้อมูลเชิงสัมพันธ์ต่างจากฐานข้อมูลเชิงสัมพันธ์ที่จัดระเบียบข้อมูลเป็นแถวและคอลัมน์เหมือนสเปรดชีต ฐานข้อมูล NoSQL ใช้โครงสร้างข้อมูลเดียว เช่นคู่คีย์-ค่าคอลัมน์กว้าง กราฟหรือเอกสารเพื่อเก็บข้อมูล เนื่องจากรูปแบบการออกแบบที่ไม่ใช่เชิงสัมพันธ์นี้ไม่จำเป็นต้องมีสคีมา ที่ตายตัว จึงสามารถปรับขนาดได้ง่ายเพื่อจัดการ ชุดข้อมูลขนาดใหญ่ ซึ่งมักไม่มีโครงสร้าง [ 2 ]บางครั้งระบบ NoSQL ถูกเรียกว่า"ไม่ใช่แค่ SQL"เพราะสามารถรองรับ ภาษาการสืบค้นที่คล้าย SQLหรือทำงานร่วมกับฐานข้อมูล SQL ใน การตั้งค่าแบบ polyglot-persistentซึ่งมีการรวมฐานข้อมูลหลายประเภทเข้าด้วยกัน[ 3 ] [ 4 ]ฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์มีมาตั้งแต่ช่วงปลายทศวรรษ 1960 แต่คำว่า "NoSQL" ปรากฏขึ้นในช่วงต้นทศวรรษ 2000 โดยได้รับแรงกระตุ้นจากความต้องการของ บริษัท Web 2.0เช่น แพลตฟอร์มโซเชียลมีเดีย[ 5 ] [ 6 ]
ฐานข้อมูล NoSQL เป็นที่นิยมใน แอปพลิเคชันเว็บ ขนาดใหญ่และแบบเรียลไทม์เนื่องจากการออกแบบที่เรียบง่าย ความสามารถในการปรับขนาดข้ามคลัสเตอร์ของเครื่อง (เรียกว่าการปรับขนาดแนวนอน ) และการควบคุมความพร้อมใช้งาน ของข้อมูล ที่ แม่นยำ [ 7 ] [ 8 ]โครงสร้างเหล่านี้สามารถเร่งความเร็วงานบางอย่างและมักถือว่ามีความยืดหยุ่นมากกว่าตารางฐานข้อมูลแบบตายตัว[ 9 ]อย่างไรก็ตาม ระบบ NoSQL จำนวนมากให้ความสำคัญกับความเร็วและความพร้อมใช้งานมากกว่าความสอดคล้องอย่างเคร่งครัด (ตามทฤษฎี CAP ) โดยใช้ความสอดคล้องในที่สุด ซึ่งการอัปเดตจะไปถึงโหนดทั้งหมดในที่สุด โดยทั่วไปภายในไม่กี่มิลลิวินาที แต่อาจทำให้เกิดความล่าช้าเล็กน้อยในการเข้าถึงข้อมูลล่าสุด ซึ่งเรียกว่าการอ่านที่ล้าสมัย[ 10 ]ในขณะที่ส่วนใหญ่ขาด การสนับสนุนธุรกรรม ACID อย่างเต็มรูปแบบ แต่บางระบบ เช่นMongoDBก็มีให้เป็นคุณสมบัติหลัก[ 11 ]
อุปสรรคต่อการนำไปใช้
อุปสรรคต่อการนำ NoSQL มาใช้ในวงกว้าง ได้แก่ การใช้ ภาษาการสืบค้นระดับต่ำแทน SQL ความไม่สามารถในการเชื่อมต่อ แบบเฉพาะกิจ ระหว่างตาราง การขาดอินเทอร์เฟซที่เป็นมาตรฐาน และการลงทุนจำนวนมากที่ทำไปแล้วในฐานข้อมูลเชิงสัมพันธ์[ 12 ]ระบบ NoSQL บางระบบมีความเสี่ยงที่จะสูญเสียข้อมูลผ่านการเขียนที่สูญหายหรือรูปแบบอื่นๆ แม้ว่าคุณสมบัติเช่นการบันทึกการเขียนล่วงหน้าซึ่งเป็นวิธีการบันทึกการเปลี่ยนแปลงก่อนที่จะนำไปใช้ จะช่วยป้องกันสิ่งนี้ได้[ 13 ] [ 14 ]สำหรับการประมวลผลธุรกรรมแบบกระจายข้ามฐานข้อมูลหลายแห่ง การรักษาความสอดคล้องของข้อมูลเป็นความท้าทายสำหรับทั้งระบบ NoSQL และระบบเชิงสัมพันธ์ เนื่องจากฐานข้อมูลเชิงสัมพันธ์ไม่สามารถบังคับใช้กฎที่เชื่อมโยงฐานข้อมูลที่แยกจากกันได้ และมีระบบเพียงไม่กี่ระบบที่รองรับทั้ง ธุรกรรม ACIDและ มาตรฐาน X/Open XAสำหรับการจัดการการอัปเดตแบบกระจาย[ 15 ] [ 16 ] ข้อจำกัดภายในสภาพแวดล้อมอินเทอร์เฟซได้รับการแก้ไขโดยใช้โปรโตคอลการจำลองเสมือนเชิงความหมาย เพื่อให้บริการ NoSQL สามารถเข้าถึงได้โดยระบบปฏิบัติการ ส่วนใหญ่ [ 17 ]
ประวัติศาสตร์

คำว่าNoSQLถูกใช้โดยCarlo Strozziในปี 1998 เพื่อตั้งชื่อฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์ส Strozzi NoSQL ที่มีน้ำหนักเบา ซึ่งไม่ได้เปิดเผย อินเทอร์เฟซ ภาษาการสอบถามเชิงโครงสร้าง (SQL) มาตรฐาน แต่ยังคงเป็นเชิงสัมพันธ์[ 18 ] RDBMS NoSQL ของเขาแตกต่างจากแนวคิดทั่วไปของฐานข้อมูล NoSQL ในช่วงประมาณปี 2009 Strozzi แนะนำว่า เนื่องจากขบวนการ NoSQL ในปัจจุบัน "แยกตัวออกจากแบบจำลองเชิงสัมพันธ์โดยสิ้นเชิง ดังนั้นจึงควรเรียกว่า 'NoREL' ให้เหมาะสมกว่า" [ 19 ]ซึ่งหมายถึง "ไม่ใช่เชิงสัมพันธ์"
Johan Oskarsson ซึ่งในขณะนั้นเป็นนักพัฒนาที่Last.fmได้นำคำว่าNoSQL กลับมาใช้อีกครั้ง ในช่วงต้นปี 2552 เมื่อเขาจัดงานเพื่อหารือเกี่ยวกับ " ฐานข้อมูล แบบกระจายที่ไม่ใช่เชิงสัมพันธ์แบบ โอเพนซอร์ส " [ 20 ]ชื่อนี้พยายามที่จะระบุการเกิดขึ้นของแหล่งเก็บข้อมูลแบบกระจายที่ไม่ใช่เชิงสัมพันธ์จำนวนมากขึ้นเรื่อยๆ รวมถึงโคลนโอเพนซอร์สของBigtable / MapReduce ของ Google และ DynamoDBของ Amazon
ประเภทและตัวอย่าง
มีวิธีการต่างๆ มากมายในการจำแนกฐานข้อมูล NoSQL โดยมีหมวดหมู่และหมวดหมู่ย่อยที่แตกต่างกัน ซึ่งบางส่วนอาจทับซ้อนกัน ต่อไปนี้เป็นการจำแนกประเภทที่ไม่ครบถ้วนตามแบบจำลองข้อมูล พร้อมตัวอย่าง: [ 21 ]
ร้านค้าคีย์-ค่า
ระบบจัดเก็บข้อมูลแบบคีย์-ค่า (KV) ใช้อาร์เรย์แบบเชื่อมโยง (เรียกอีกอย่างว่าแผนที่หรือพจนานุกรม) เป็นแบบจำลองข้อมูลพื้นฐาน ในแบบจำลองนี้ ข้อมูลจะถูกแสดงเป็นชุดของคู่คีย์-ค่า โดยที่คีย์ที่เป็นไปได้แต่ละคีย์จะปรากฏในชุดได้มากที่สุดเพียงครั้งเดียว[ 24 ] [ 25 ]
แบบจำลองคีย์-ค่าเป็นหนึ่งในแบบจำลองข้อมูลที่ไม่ธรรมดาที่ง่ายที่สุด และแบบจำลองข้อมูลที่ซับซ้อนกว่ามักจะถูกนำไปใช้เป็นส่วนขยายของแบบจำลองคีย์-ค่า แบบจำลองคีย์-ค่าสามารถขยายไปเป็นแบบจำลองที่มีลำดับแบบไม่ต่อเนื่องซึ่งรักษาคีย์ในลำดับพจนานุกรม ส่วนขยายนี้มีประสิทธิภาพในการ คำนวณ สูง เนื่องจากสามารถเรียก ช่วงคีย์ที่เลือกได้อย่างมีประสิทธิภาพ[ 26 ]
ระบบจัดเก็บข้อมูลแบบคีย์-ค่าสามารถใช้โมเดลความสอดคล้องได้หลากหลายตั้งแต่ความสอดคล้องในที่สุด (eventual consistency ) ไปจนถึง ความสามารถ ในการเรียงลำดับ (serializability ) ฐานข้อมูลบางประเภทสนับสนุนการเรียงลำดับของคีย์ มีการใช้งานฮาร์ดแวร์หลายรูปแบบ และผู้ใช้บางรายจัดเก็บข้อมูลในหน่วยความจำ (RAM) ในขณะที่บางรายจัดเก็บไว้ในไดรฟ์โซลิดสเตต (SSD) หรือดิสก์หมุน (หรือที่เรียกว่าฮาร์ดดิสก์ไดรฟ์ (HDD))
ที่เก็บเอกสาร
แนวคิดหลักของฐานข้อมูลแบบเอกสารคือ "เอกสาร" แม้ว่ารายละเอียดของคำจำกัดความนี้จะแตกต่างกันไปในแต่ละฐานข้อมูลแบบเอกสาร แต่ทั้งหมดก็ถือว่าเอกสารนั้นบรรจุและเข้ารหัสข้อมูล (หรือสารสนเทศ) ในรูปแบบหรือการเข้ารหัสมาตรฐานบางอย่าง การเข้ารหัสที่ใช้กันทั่วไป ได้แก่XML , YAML , JSONและ รูปแบบ ไบนารีเช่นBSONเอกสารจะถูกระบุในฐานข้อมูลโดยใช้คีย์ เฉพาะ ที่แทนเอกสารนั้น ลักษณะเด่นอีกประการหนึ่งของฐานข้อมูลแบบเอกสารคือAPIหรือภาษาการสืบค้นเพื่อดึงเอกสารตามเนื้อหาของเอกสารนั้น
ระบบแต่ละแบบมีวิธีการจัดระเบียบและ/หรือจัดกลุ่มเอกสารที่แตกต่างกัน:
- คอลเลกชัน
- แท็ก
- เมตาเดต้าที่ไม่สามารถมองเห็นได้
- ลำดับชั้นของไดเร็กทอรี
เมื่อเปรียบเทียบกับฐานข้อมูลเชิงสัมพันธ์แล้ว คอลเลกชันอาจเปรียบได้กับตาราง และเอกสารอาจเปรียบได้กับระเบียน แต่ทั้งสองอย่างแตกต่างกัน – ทุกระเบียนในตารางจะมีลำดับของฟิลด์เหมือนกัน ในขณะที่เอกสารในคอลเลกชันอาจมีฟิลด์ที่แตกต่างกันอย่างสิ้นเชิง
กราฟ
ฐานข้อมูลกราฟถูกออกแบบมาสำหรับข้อมูลที่มีความสัมพันธ์ซึ่งสามารถแสดงได้อย่างดีในรูปกราฟที่ประกอบด้วยองค์ประกอบที่เชื่อมต่อกันด้วยความสัมพันธ์จำนวนจำกัด ตัวอย่างข้อมูลได้แก่ความสัมพันธ์ทางสังคมการเชื่อมโยงระบบขนส่งสาธารณะ แผนที่ถนน โครงสร้างเครือข่าย เป็นต้น
- ฐานข้อมูลกราฟและภาษาการสืบค้นข้อมูลของฐานข้อมูลเหล่านั้น
ผลงาน
โดยทั่วไปแล้ว ประสิทธิภาพของฐานข้อมูล NoSQL จะถูกประเมินโดยใช้ตัวชี้วัดปริมาณงาน (throughput ) ซึ่งวัดเป็นจำนวนการดำเนินการต่อวินาที การประเมินประสิทธิภาพต้องให้ความสำคัญกับเกณฑ์มาตรฐาน ที่เหมาะสม เช่น การกำหนดค่าในสภาพแวดล้อมการผลิต พารามิเตอร์ของฐานข้อมูล ปริมาณข้อมูลที่คาดการณ์ไว้ และภาระงาน ของผู้ ใช้ พร้อมกัน
Ben Scofield จัดอันดับฐานข้อมูล NoSQL ประเภทต่างๆ ดังนี้: [ 28 ]
| แบบจำลองข้อมูล | ผลงาน | ความสามารถในการปรับขนาด | ความยืดหยุ่น | ความซับซ้อน | ความถูกต้องของข้อมูล | ฟังก์ชันการทำงาน |
|---|---|---|---|---|---|---|
| ร้านค้าคีย์-ค่า | สูง | สูง | สูง | ไม่มี | ต่ำ | ตัวแปร (ไม่มี) |
| ร้านค้าแบบเสาเรียง | สูง | สูง | ปานกลาง | ต่ำ | ต่ำ | น้อยที่สุด |
| ร้านค้าที่เน้นเอกสารเป็นหลัก | สูง | ตัวแปร (สูง) | สูง | ต่ำ | ต่ำ | ตัวแปร (ต่ำ) |
| ฐานข้อมูลกราฟ | ตัวแปร | ตัวแปร | สูง | สูง | ต่ำ-ปานกลาง | ทฤษฎีกราฟ |
| ฐานข้อมูลเชิงสัมพันธ์ | ตัวแปร | ตัวแปร | ต่ำ | ปานกลาง | สูง | พีชคณิตเชิงสัมพันธ์ |
การเปรียบเทียบประสิทธิภาพและความสามารถในการขยายขนาดมักทำโดยใช้เกณฑ์มาตรฐาน YCSB เป็นหลัก
การจัดการข้อมูลเชิงสัมพันธ์
เนื่องจากฐานข้อมูล NoSQL ส่วนใหญ่ไม่มีความสามารถในการใช้การเชื่อมตาราง (joins) ในการสืบค้นข้อมูล ดังนั้นโครงสร้างฐานข้อมูลจึงจำเป็นต้องออกแบบแตกต่างออกไป มีเทคนิคหลักสามประการสำหรับการจัดการข้อมูลเชิงสัมพันธ์ในฐานข้อมูล NoSQL (ดูการเชื่อมตารางและการสนับสนุน ACIDสำหรับฐานข้อมูล NoSQL ที่รองรับการเชื่อมตาราง)
คำถามหลายข้อ
แทนที่จะดึงข้อมูลทั้งหมดด้วยการสืบค้นเพียงครั้งเดียว มักจะต้องทำการสืบค้นหลายครั้งเพื่อให้ได้ข้อมูลที่ต้องการ การสืบค้นแบบ NoSQL มักจะเร็วกว่าการสืบค้นแบบ SQL แบบดั้งเดิม ดังนั้นต้นทุนของการสืบค้นเพิ่มเติมอาจยอมรับได้ หากจำเป็นต้องทำการสืบค้นจำนวนมากเกินไป วิธีการอีกสองวิธีที่เหลือจะเหมาะสมกว่า
การแคช การจำลองแบบ และข้อมูลที่ไม่ได้รับการปรับให้เป็นมาตรฐาน
แทนที่จะเก็บเฉพาะคีย์ต่างประเทศ เป็นเรื่องปกติที่จะเก็บค่าต่างประเทศจริงไว้พร้อมกับข้อมูลของโมเดล ตัวอย่างเช่น ความคิดเห็นในบล็อกแต่ละรายการอาจมีชื่อผู้ใช้ นอกเหนือจากรหัสผู้ใช้ ทำให้เข้าถึงชื่อผู้ใช้ได้ง่ายโดยไม่ต้องค้นหาเพิ่มเติม อย่างไรก็ตาม เมื่อชื่อผู้ใช้เปลี่ยนไป จะต้องเปลี่ยนชื่อผู้ใช้ในหลายที่ในฐานข้อมูล ดังนั้นวิธีการนี้จึงทำงานได้ดีกว่าเมื่อการอ่านบ่อยกว่าการเขียน[ 29 ]
ข้อมูลรัง
ในฐานข้อมูลแบบเอกสาร เช่น MongoDB เป็นเรื่องปกติที่จะจัดเก็บข้อมูลจำนวนมากไว้ในคอลเลกชันจำนวนน้อย ตัวอย่างเช่น ในแอปพลิเคชันบล็อก เราอาจเลือกที่จะจัดเก็บความคิดเห็นไว้ในเอกสารของบทความบล็อก เพื่อให้สามารถเรียกดูความคิดเห็นทั้งหมดได้ด้วยการเรียกใช้เพียงครั้งเดียว ดังนั้นในแนวทางนี้ เอกสารเดียวจึงมีข้อมูลทั้งหมดที่จำเป็นสำหรับงานเฉพาะนั้นๆ
ACID และเข้าร่วมสนับสนุน
ฐานข้อมูลจะถูกระบุว่ารองรับ คุณสมบัติ ACID (ความเป็นอะตอม ความสอดคล้อง การแยก และความคงทน) หรือ การดำเนินการ เชื่อมต่อ (join ) หากเอกสารประกอบของฐานข้อมูลนั้นระบุเช่นนั้น อย่างไรก็ตาม นี่ไม่ได้หมายความว่าความสามารถนั้นได้รับการสนับสนุนอย่างเต็มที่ในลักษณะเดียวกับฐานข้อมูล SQL ส่วนใหญ่เสมอไป
| ฐานข้อมูล | กรด | เข้าร่วม |
|---|---|---|
| แอโรสไปค์ | ใช่ | เลขที่ |
| เอเจนส์กราฟ | ใช่ | ใช่ |
| อะปาเช่ อิกไนต์ | ใช่ | ใช่ |
| อารังโกดีบี | ใช่ | ใช่ |
| อเมซอน ไดนาโมดีบี | ใช่ | เลขที่ |
| คอชเบส | ใช่ | ใช่ |
| คอชดีบี | ใช่ | ใช่ |
| IBM Db2 | ใช่ | ใช่ |
| อินฟินิตี้ดีบี | ใช่ | เลขที่ |
| LMDB | ใช่ | เลขที่ |
| มาร์คลอจิก | ใช่ | ใช่[ nb 1 ] |
| มงโกดีบี | ใช่ | ใช่[ nb 2 ] |
| โอเรียนท์ดีบี | ใช่ | ใช่[ nb 3 ] |
การเพิ่มประสิทธิภาพการค้นหาและการสร้างดัชนีในฐานข้อมูล NoSQL
ฐานข้อมูล NoSQL ต่างๆ เช่นDynamoDB , MongoDB , Cassandra , Couchbase , HBase และ Redis แสดงพฤติกรรมที่แตกต่างกันเมื่อทำการค้นหาข้อมูลในฟิลด์ที่ไม่มีดัชนี หลายฐานข้อมูลจะทำการสแกนทั้งตารางหรือทั้งคอลเลกชันสำหรับการค้นหาดังกล่าว จากนั้นจึงทำการกรองข้อมูลหลังจากดึงข้อมูลเสร็จแล้ว อย่างไรก็ตาม ฐานข้อมูล NoSQL สมัยใหม่มักจะรวมเอาคุณสมบัติขั้นสูงเพื่อเพิ่มประสิทธิภาพการค้นหา ตัวอย่างเช่น MongoDB รองรับดัชนีแบบผสมและกลยุทธ์การเพิ่มประสิทธิภาพการค้นหา Cassandra มีดัชนีรองและมุมมองแบบ Materialized View และ Redis ใช้กลไกการสร้างดัชนีแบบกำหนดเองที่ปรับให้เหมาะกับกรณีการใช้งานเฉพาะ ระบบอย่าง Elasticsearch ใช้ดัชนีแบบกลับด้านสำหรับการค้นหาข้อความที่มีประสิทธิภาพ แต่ก็ยังอาจต้องทำการสแกนแบบเต็มสำหรับฟิลด์ที่ไม่มีดัชนี พฤติกรรมนี้สะท้อนให้เห็นถึงจุดเน้นในการออกแบบของระบบ NoSQL หลายๆ ระบบที่เน้นเรื่องความสามารถในการขยายขนาดและการดำเนินการตามคีย์ที่มีประสิทธิภาพ มากกว่าการค้นหาข้อมูลที่เหมาะสมที่สุดสำหรับฟิลด์ต่างๆ ดังนั้น แม้ว่าฐานข้อมูลเหล่านี้จะโดดเด่นในด้าน การดำเนินการ CRUD พื้นฐาน และการค้นหาตามคีย์ แต่ความเหมาะสมสำหรับการสืบค้นที่ซับซ้อนซึ่งเกี่ยวข้องกับการเชื่อมต่อหรือการกรองที่ไม่ใช้ดัชนีจะแตกต่างกันไปตามประเภทของฐานข้อมูล—เอกสาร คีย์-ค่า คอลัมน์กว้าง หรือกราฟ—และการใช้งานเฉพาะ[ 33 ]
ดูเพิ่มเติม
- ทฤษฎีบท CAP
- การเปรียบเทียบระบบจัดการฐานข้อมูลเชิงวัตถุ
- การเปรียบเทียบซอฟต์แวร์จัดเก็บข้อมูลแบบมีโครงสร้าง
- ความสามารถในการปรับขนาดของฐานข้อมูล
- แคชแบบกระจาย
- การค้นหาแบบแบ่งหมวดหมู่
- รายชื่อซอฟต์แวร์และเครื่องมือ NoSQL
- ฐานข้อมูลมัลติแวลู
- ฐานข้อมูลหลายโมเดล
- ฐานข้อมูลที่ไม่ขึ้นกับโครงสร้างข้อมูล
- ทริปเปิลสโตร์
- ฐานข้อมูลเวกเตอร์
อ่านเพิ่มเติม
- Sadalage, Pramod; Fowler, Martin (2012). NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence . Addison-Wesley. ISBN 978-0-321-82662-6.
- McCreary, Dan; Kelly, Ann (2013). ทำความเข้าใจ NoSQL: คู่มือสำหรับผู้จัดการและพวกเราทุกคน . Manning. ISBN 9781617291074.
- Wiese, Lena (2015). การจัดการข้อมูลขั้นสูงสำหรับ SQL, NoSQL, คลาวด์ และฐานข้อมูลแบบกระจาย . DeGruyter/Oldenbourg. ISBN 978-3-11-044140-6.
- Strauch, Christof (2012). "ฐานข้อมูล NoSQL" (PDF )
- Moniruzzaman, AB; Hossain, SA (2013). "ฐานข้อมูล NoSQL: ยุคใหม่ของฐานข้อมูลสำหรับการวิเคราะห์ข้อมูลขนาดใหญ่ - การจำแนกประเภท คุณลักษณะ และการเปรียบเทียบ" arXiv : 1307.0191 [ cs.DB ]
- Orend, Kai (2013). " การวิเคราะห์และการจำแนกประเภทของฐานข้อมูล NoSQL และการประเมินความสามารถในการทดแทนเลเยอร์การคงอยู่ของข้อมูลเชิงวัตถุสัมพันธ์" CiteSeerX 10.1.1.184.483
- กฤษณะ พระพิฆเนศ; กุลการ์นี, ซารัง; ทัดภาวาลา, ธรรมเมษ คีริต. “วิธีการและระบบการแบ่งปันข้อมูลตามเวอร์ชัน การรวบรวม และการรายงานข้อมูล ”
ลิงก์ภายนอก
- สตรัค, คริสตอฟ. "เอกสารข้อมูล NoSQL" (PDF ) สตุ๊ตการ์ท: Hochschule der Medien.
- เอ็ดลิช, สเตฟาน. "รายการฐานข้อมูล NoSQL" .
- นอยบาวเออร์, ปีเตอร์ (2010). "ฐานข้อมูลกราฟ, NOSQL และ Neo4j" .
- Bushik, Sergey (2012). "การเปรียบเทียบฐานข้อมูล NoSQL ที่ไม่ขึ้นกับผู้จำหน่าย: Cassandra, HBase, MongoDB, Riak" . NetworkWorld.
- Zicari, Roberto V. (2014). "คลังข้อมูล NoSQL – บทความ เอกสาร การนำเสนอ" . odbms.org .
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ NoSQL
NoSQL (ชื่อเรียกแบบไม่เป็นทางการที่ต่อมากลายเป็นชื่อทางการ หมายถึง "ไม่ใช่แค่ SQL " หรือ "ไม่ใช่เชิงสัมพันธ์") [ 1 ] หมายถึงรูปแบบ การออกแบบ ฐานข้อมูล ประเภทหนึ่ง...
อุปสรรคต่อการนำไปใช้
อุปสรรคต่อการนำ NoSQL มาใช้ในวงกว้าง ได้แก่ การใช้ ภาษาการสืบค้น ระดับต่ำแทน SQL ความไม่สามารถใน การเชื่อมต่อ แบบเฉพาะกิจ ระหว่างตาราง การขาดอินเทอร์เฟซที่เป็นมาตรฐาน และการลงทุนจำนวนมากที่ทำไปแล้วในฐานข้อมูลเชิงสัมพันธ์ [ 12 ] ระบบ NoSQL...
ประวัติศาสตร์
คำว่า NoSQL ถูกใช้โดย Carlo Strozzi ในปี 1998 เพื่อตั้งชื่อ ฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์ส Strozzi NoSQL ที่มีน้ำหนักเบา ซึ่งไม่ได้เปิดเผย อินเทอร์เฟซ ภาษาการสอบถามเชิงโครงสร้าง (SQL) มาตรฐาน แต่ยังคงเป็นเชิงสัมพันธ์ [ 18 ] RDBMS NoSQL...
ประเภทและตัวอย่าง
มีวิธีการต่างๆ มากมายในการจำแนกฐานข้อมูล NoSQL โดยมีหมวดหมู่และหมวดหมู่ย่อยที่แตกต่างกัน ซึ่งบางส่วนอาจทับซ้อนกัน ต่อไปนี้เป็นการจำแนกประเภทที่ไม่ครบถ้วนตามแบบจำลองข้อมูล พร้อมตัวอย่าง: [ 21 ]