ฐานข้อมูล NoSQL คืออะไร
ฐานข้อมูล NoSQL สร้างขึ้นโดยเฉพาะสำหรับโมเดลข้อมูลเฉพาะ และจัดเก็บข้อมูลในรูปแบบสคีมาที่มีความยืดหยุ่นซึ่งสามารถปรับขนาดได้อย่างง่ายดายสำหรับแอปพลิเคชันสมัยใหม่ ฐานข้อมูล NoSQL เป็นที่รู้จักกันดีในด้านความง่ายในการพัฒนา การทำงาน และประสิทธิภาพตามขนาดที่ต้องการ หน้านี้ประกอบด้วยทรัพยากรเพื่อช่วยให้คุณเข้าใจฐานข้อมูล NoSQL และเริ่มต้นใช้งาน
ข้อดีของฐานข้อมูล NoSQL คืออะไร
แอปพลิเคชันสมัยใหม่เผชิญกับความท้าทายหลายประการที่สามารถแก้ไขได้โดย ฐานข้อมูล NoSQL ตัวอย่างเช่น แอปพลิเคชันประมวลผลปริมาณข้อมูลขนาดใหญ่จากแหล่งที่แตกต่างกัน เช่น โซเชียลมีเดีย เซ็นเซอร์อัจฉริยะ และฐานข้อมูลของบุคคลที่สาม ข้อมูลที่แตกต่างกันทั้งหมดนี้ไม่เหมาะกับโมเดลเชิงสัมพันธ์ การใช้โครงสร้างแบบตารางอาจนําไปสู่ความซ้ำซ้อน ข้อมูลซ้ำ และปัญหาด้านประสิทธิภาพในวงกว้าง
ฐานข้อมูล NoSQL สร้างขึ้นเพื่อโมเดลข้อมูลแบบไม่สัมพันธ์และมีสคีมาที่ยืดหยุ่นสำหรับการสร้างแอปพลิเคชันสมัยใหม่ ฐานข้อมูลประเภทนี้เป็นที่รู้จักกันดีในด้านความง่ายในการพัฒนา การทำงาน และประสิทธิภาพตามขนาดที่ต้องการ ประโยชน์ของฐานข้อมูล NoSQL มีดังต่อไปนี้
ความยืดหยุ่น
โดยทั่วไป ฐานข้อมูล NoSQL จะมีแบบแผนยืดหยุ่นที่ทำให้การพัฒนาเกิดขึ้นเร็วและทำซ้ำคำสั่งได้ดียิ่งขึ้นกว่าเดิม โมเดลข้อมูลที่ยืดหยุ่นทำให้ฐานข้อมูล NoSQL เหมาะสมที่สุดสำหรับข้อมูลแบบกึ่งมีโครงสร้างและไม่มีโครงสร้าง
ความสามารถในการปรับขนาด
โดยทั่วไป ฐานข้อมูล NoSQL มักถูกออกแบบมาให้ปรับขนาดออกได้โดยใช้คลัสเตอร์แบบกระจายของฮาร์ดแวร์แทนการปรับขนาดขึ้นโดยเพิ่มเซิร์ฟเวอร์ที่มีราคาแพงและมีประสิทธิภาพสูง ผู้ให้บริการระบบคลาวด์บางเจ้าจัดการปฏิบัติการนี้อยู่เบื้องหลังในแบบบริการที่มีการจัดการเต็มรูปแบบ
ประสิทธิภาพสูง
ฐานข้อมูล NoSQL ได้ปรับให้เหมาะสมเพื่อโมเดลข้อมูลและรูปแบบการเข้าถึงเฉพาะ ซึ่งจะทำให้ได้ประสิทธิภาพที่สูงกว่าหากต้องการฟังก์ชันการทํางานที่คล้ายกันกับฐานข้อมูลแบบเชิงสัมพันธ์
ทำงานได้ดี
ฐานข้อมูล NoSQL มี API การทำงานและประเภทข้อมูลที่สร้างตามวัตถุประสงค์สำหรับโมเดลข้อมูลแต่ละโมเดลที่สอดคล้องกัน
กรณีการใช้งานของฐานข้อมูล NoSQL มีอะไรบ้าง
คุณสามารถใช้ฐานข้อมูล NoSQL เพื่อสร้างแอปพลิเคชันมือถือ, Internet of Things (IoT), เกม และเว็บประสิทธิภาพสูงมากมายที่มอบประสบการณ์การใช้งานที่ยอดเยี่ยมในวงกว้าง รูปแบบฐานข้อมูล NoSQL และกรณีการใช้งานที่เกี่ยวข้องนั้นมีหลากหลาย แม้ว่าจะเป็นเรื่องยากที่จะกล่าวถึงชุดกรณีการใช้งานที่เป็นตัวแทนหลัก แต่ด้านล่างนี้เราจะให้ตัวอย่างบางส่วนในฐานะผู้ริเริ่มและสนับสนุนให้คุณเรียนรู้เพิ่มเติมเกี่ยวกับฐานข้อมูล NoSQL แต่ละฐานข้อมูลและกรณีการใช้งานที่เกี่ยวข้อง
การจัดการข้อมูลแบบเรียลไทม์
คุณสามารถให้คําแนะนําแบบเรียลไทม์ การปรับเปลี่ยนให้เหมาะกับตนเอง และประสบการณ์ผู้ใช้ที่ดีขึ้นด้วยฐานข้อมูล NoSQL ตัวอย่างเช่น Disney+ แสดงไลบรารีเนื้อหาดิจิทัลที่กว้างขวางให้กับผู้สมัครรับข้อมูลกว่า 150 ล้านคน + โดยใช้เทคโนโลยีฐานข้อมูล NoSQL ซึ่งสามารถปรับขนาดและส่งมอบคุณสมบัติยอดนิยมได้ เช่น รับชมต่อ รายการที่อยากดู และคําแนะนําที่ปรับให้เหมาะกับแต่ละบุคคลด้วย Amazon DynamoDB
การรักษาความปลอดภัยระบบคลาวด์
คุณสามารถใช้ฐานข้อมูลแบบกราฟเพื่อค้นหาความสัมพันธ์ที่ซับซ้อนภายในข้อมูลของคุณได้อย่างรวดเร็ว ตัวอย่างเช่น Wiz แสดงวภาพของการรักษาความปลอดภัยของระบบคลาวด์ใหม่เป็นกราฟโดยใช้ Amazon Neptune Wiz ช่วยให้ลูกค้าปรับปรุงมาตรการรักษาความปลอดภัยโดยการระบุและแก้ไขความเสี่ยงที่สําคัญที่สุดได้อย่างรวดเร็ว พวกเขาใช้โมเดลกราฟที่เก็บไว้ใน Amazon Neptune เพื่อค้นหาองค์ประกอบร้ายของปัจจัยเสี่ยงที่แสดงถึงความเสี่ยงที่สําคัญ เครื่องมือประเมินความเสี่ยง Wiz จะสํารวจกราฟและภายในไม่กี่วินาทีสรา้งชุดของปัจจัยความเสี่ยงที่เชื่อมต่อกันในกราฟความปลอดภัย
แอปพลิเคชันที่มีความพร้อมใช้งานสูง
ฐานข้อมูล NoSQL แบบกระจายนั้นยอดเยี่ยมสําหรับการสร้างแอปพลิเคชันที่มีความพร้อมใช้งานสูงและมีเวลาแฝงต่ำสําหรับการส่งข้อความโซเชียลมีเดีย การแชร์ไฟล์ และอื่น ๆ ตัวอย่างเช่น Snapchat มีผู้ใช้มากกว่า 290 ล้านคนที่ส่งรูปภาพและข้อความวิดีโอหลายพันล้านรายการต่อวัน ใช้ระบบฐานข้อมูล NoSQL เพื่อลดเวลาแฝงโดยเฉลี่ยของการส่งข้อความลง 20%
ฐานข้อมูล NoSQL ทํางานอย่างไร
ฐานข้อมูล NoSQL ใช้โมเดลข้อมูลที่หลากหลายสำหรับการเข้าถึงและจัดการข้อมูล ฐานข้อมูลประเภทนี้ได้รับการปรับให้เหมาะสมเป็นพิเศษสำหรับแอปพลิเคชันที่ต้องการโมเดลข้อมูลที่มีความยืดหยุ่น ปริมาณข้อมูลขนาดใหญ่ และมีความหน่วงต่ำ ซึ่งเกิดขึ้นได้โดยการผ่อนปรนข้อจำกัดความสอดคล้องกันของข้อมูลบางประการของฐานข้อมูลแบบเชิงสัมพันธ์ มีความแตกต่างในการใช้งานตามโมเดลข้อมูล อย่างไรก็ตาม ฐานข้อมูล NoSQL จํานวนมากใช้ Javascript Object Notation (JSON) ซึ่งเป็นรูปแบบการแลกเปลี่ยนข้อมูลแบบเปิดที่แสดงข้อมูลเป็นชุดของคู่ชื่อ-ค่า
ตัวอย่างฐานข้อมูล NoSQL
ลองพิจารณาตัวอย่างการสร้างโมเดลแบบแผนสำหรับฐานข้อมูลหนังสือแบบไม่ซับซ้อน:
- ในฐานข้อมูลแบบเชิงสัมพันธ์ บันทึกหนังสือมักถูกแยกออกจากกัน (หรือ “มาตรฐาน”) และจัดเก็บในตารางแยก ส่วนความสัมพันธ์จะถูกกำหนดโดยข้อจำกัดคีย์หลักและคีย์นอก ในตัวอย่างนี้ ตารางหนังสือมีคอลัมน์สำหรับ ISBN, ชื่อหนังสือ และครั้งที่พิมพ์ ตารางผู้เขียนมีคอลัมน์สำหรับรหัสผู้เขียนและชื่อผู้เขียน และสุดท้ายตาราง ISBN ของผู้เขียนมีคอลัมน์สำหรับรหัสผู้เขียนและ ISBN โมเดลเชิงสัมพันธ์ถูกออกแบบมาเพื่อทำให้ฐานข้อมูลสามารถบังคับใช้ความสมบูรณ์อ้างอิงระหว่างตารางต่างๆ ในฐานข้อมูล ปรับให้เป็นปกติเพื่อลดความซ้ำซ้อน และได้รับการปรับปรุงประสิทธิภาพสำหรับพื้นที่จัดเก็บอย่างทั่วถึง
- ในฐานข้อมูล NoSQL บันทึกหนังสือมักจะถูกจัดเก็บเป็นเอกสาร สำหรับหนังสือแต่ละเล่ม รายการ, ISBN, ชื่อหนังสือ ครั้งที่พิมพ์ ชื่อผู้เขียน และรหัสผู้เขียนจะถูกจัดเก็บเป็นคุณลักษณะในเอกสารเดียว ในโมเดลนี้ ข้อมูลได้รับการปรับปรุงประสิทธิภาพสำหรับการพัฒนาที่ง่ายและความสามารถในการปรับขนาดแนวนอน
คำศัพท์ SQL กับ คำศัพท์ที่เกี่ยวข้องกับ NoSQL
ตารางต่อไปนี้เปรียบเทียบคำศัพท์ที่ใช้โดยฐานข้อมูล NoSQL กับคำศัพท์ที่ใช้โดยฐานข้อมูล SQL ที่เลือก
SQL | MongoDB | DynamoDB | Cassandra | Couchbase |
---|---|---|---|---|
ตาราง | คอลเลกชัน | ตาราง | ตาราง | บัคเก็ตข้อมูล |
แถว | เอกสาร | รายการ | แถว | เอกสาร |
คอลัมน์ | ช่อง | คุณลักษณะ | คอลัมน์ | ช่อง |
คีย์หลัก | ObjectId | คีย์หลัก |
คีย์หลัก | รหัสเอกสาร |
ดัชนี | ดัชนี | ดัชนีรอง | ดัชนี | ดัชนี |
มุมมอง | มุมมอง | ดัชนีรองโดยรวม | มุมมองจริง | มุมมอง |
ตารางหรือวัตถุแบบซ้อนกัน | เอกสารแบบฝัง | แมป | แมป | แมป |
อาร์เรย์ | อาร์เรย์ | รายชื่อ | รายชื่อ | รายชื่อ |
ฐานข้อมูล NoSQL มีกี่ประเภท
ระบบฐานข้อมูล NoSQL มีอยู่หลายระบบเนื่องจากมีความผันแปรของวิธีการจัดการและจัดเก็บข้อมูลแบบไม่ใช้สคีมา เราอธิบายถึงตัวอย่างของประเภททั่วไปที่ด้านล่าง
ฐานข้อมูลแบบคีย์-ค่า
ฐานข้อมูลแบบคีย์-ค่ามีความสามารถในการแบ่งสัดส่วนที่สูงและให้การปรับขนาดในแนวนอนในระดับที่ฐานข้อมูล NoSQL ประเภทอื่นๆ ไม่สามารถทำได้ ฐานข้อมูลแบบคีย์-ค่าจัดเก็บข้อมูลในรูปของชุดคู่คีย์-ค่าซึ่งคีย์จะทำหน้าที่เป็นตัวระบุเฉพาะ คีย์และค่าสามารถเป็นอะไรก็ได้ ตั้งแต่อ็อบเจกต์ธรรมดาไปจนถึงอ็อบเจกต์แบบผสมที่ซับซ้อน กรณีใช้งาน เช่น สำหรับเล่นเกม เทคโนโลยีโฆษณา และ IoT ทำให้ฐานข้อมูลประเภทนี้เหมาะสำหรับฐานโมเดลข้อมูลแบบคีย์-ค่ามากเป็นอย่างยิ่ง Amazon DynamoDB ได้รับการออกแบบมาเพื่อมอบประสิทธิภาพที่สม่ำเสมอโดยมีเวลาแฝงเป็นมิลลิวินาทีเพียงหลักเดียวสำหรับเวิร์กโหลดทุกขนาด
ฐานข้อมูลแบบโครงสร้างเอกสาร
ฐานข้อมูลแบบโครงสร้างเอกสารจะมีรูปแบบโมเดลเอกสารเดียวกันกับที่นักพัฒนาใช้ในโค้ดของแอปพลิเคชัน พวกเขาจะจัดเก็บข้อมูลเป็นอ็อบเจกต์ JSON ที่มีความยืดหยุ่น กึ่งมีโครงสร้าง และมีลักษณะเป็นลำดับชั้น ลักษณะที่ยืดหยุ่น เป็นกึ่งโครงสร้าง และเป็นลำดับขั้นของเอกสารและฐานข้อมูลแบบโครงสร้างเอกสาร ทำให้เกิดการพัฒนาพร้อมกับความต้องการของแอปพลิเคชัน โมเดลฐานข้อมูลแบบโครงสร้างเอกสารทำงานกับแคตตาล็อก โปรไฟล์ผู้ใช้ และระบบการจัดการเนื้อหาได้เป็นอย่างดี โดยที่แต่ละเอกสารแตกต่างกันและพัฒนาอย่างต่อเนื่อง Amazon DocumentDB (พร้อมฟังก์ชันการทำงานร่วมกับ MongoDB) และ MongoDB เป็นฐานข้อมูลแบบโครงสร้างเอกสารที่ได้รับความนิยมซึ่งช่วยให้ API มีประสิทธิภาพและใช้งานง่ายสำหรับการพัฒนาที่ยืดหยุ่นและมีการทำซ้ำ
ฐานข้อมูลแบบกราฟ
ฐานข้อมูลแบบกราฟถูกสร้างขึ้นโดยเฉพาะเพื่อให้ง่ายต่อการสร้างและเรียกใช้แอปพลิเคชันที่ทำงานร่วมกับชุดข้อมูลที่เชื่อมต่อกันสูง ฐานข้อมูลชนิดนี้จะใช้โหนดเพื่อจัดเก็บเอนทิตีข้อมูลและ Edge เพื่อจัดเก็บความสัมพันธ์ระหว่างเอนทิตี Edge มักจะมีโหนดเริ่มต้น โหนดปลายทาง ชนิด และทิศทาง โดยสามารถอธิบายความสัมพันธ์ระหว่างตัวหลักและตัวย่อย การกระทำ และความเป็นเจ้าของ และที่คล้ายกัน ไม่จำกัดจำนวนและชนิดของความสัมพันธ์ที่โหนดมีได้ คุณสามารถใช้ฐานข้อมูลแบบกราฟเพื่อสร้างและเรียกใช้แอปพลิเคชันซึ่งทำงานกับชุดข้อมูลที่มีการเชื่อมโยงสูงได้ กรณีใช้งานโดยทั่วไปสำหรับฐานข้อมูลแบบกราฟรวมถึงเครือข่ายทางสังคม กลไกข้อเสนอแนะ การตรวจจับการปลอมแปลง และกราฟความรู้ Amazon Neptune เป็นบริการฐานข้อมูลแบบกราฟที่มีการจัดการเต็มรูปแบบซึ่งรองรับทั้งโมเดล Property Graph และ Resource Description Framework (RDF) โดยมีตัวเลือก API กราฟสองตัว (TinkerPop และ RDF/SPARQL)
ฐานข้อมูลแบบใช้หน่วยความจำ
ในขณะที่ฐานข้อมูลแบบไม่ใช่เชิงสัมพันธ์อื่นๆ จัดเก็บข้อมูลบนดิสก์หรือ SSD, เก็บข้อมูลในหน่วยความจํา ได้รับการออกแบบมาเพื่อขจัดความจําเป็นในการเข้าถึงดิสก์ เหมาะอย่างยิ่งสําหรับแอปพลิเคชันที่ต้องการเวลาตอบสนองระดับไมโครวินาทีหรือมีปริมาณการใช้งานที่เพิ่มขึ้นอย่างรวดเร็ว คุณสามารถใช้ฐานข้อมูลกราฟในแอปพลิเคชันเกมและเทคโนโลยีโฆษณาสําหรับคุณสมบัติต่าง ๆ ได้ เช่น กระดานจัดอันดับ ร้านค้าเซสชัน และการวิเคราะห์แบบเรียลไทม์ Amazon MemoryDB สำหรับ Redis เป็นบริการฐานข้อมูลแบบใช้หน่วยความจำที่ทนทานและใช้งานได้ร่วมกับ Redis ซึ่งมีเวลาแฝงในการอ่านระดับไมโครวินาที เวลาแฝงในการเขียนระดับมิลลิวินาทีหลักเดียว และความทนทานแบบ Multi-AZ Amazon ElastiCache เป็นบริการแคชแบบใช้หน่วยความจำที่มีการจัดการเต็มรูปแบบ ซึ่งเข้ากันได้กับทั้ง Redis และ Memcached เพื่อให้บริการเวิร์กโหลดที่มีเวลาแฝงต่ำและมีอัตราการโอนถ่ายข้อมูลสูง Amazon DynamoDB Accelerator (DAX) เป็นอีกตัวอย่างหนึ่งของพื้นที่จัดเก็บข้อมูลที่สร้างขึ้นตามวัตถุประสงค์ ซึ่งทำให้ DynamoDB สามารถอ่านลำดับความสำคัญได้เร็วขึ้น
ค้นหาฐานข้อมูล
ฐานข้อมูลเครื่องมือค้นหาเป็นฐานข้อมูลแบบไม่ใช่เชิงสัมพันธ์ประเภทหนึ่งที่มีไว้สำหรับการค้นหาเนื้อหาข้อมูลโดยเฉพาะ เช่น ข้อมูลบันทึกผลลัพธ์ของแอปพลิเคชันที่นักพัฒนาใช้เพื่อแก้ไขปัญหา ซึ่งจะใช้ดัชนีเพื่อจัดหมวดหมู่ลักษณะที่คล้ายคลึงกันในข้อมูลและอำนวยความสะดวกในการค้นหา ฐานข้อมูลเครื่องมือค้นหาได้รับการปรับให้เหมาะสมสําหรับการจัดเรียงข้อมูลที่ไม่มีโครงสร้างเช่นรูปภาพและวิดีโอ Amazon OpenSearch Service สร้างตามวัตถุประสงค์เพื่อมอบการแสดงภาพแบบใกล้เคียงเวลาจริงและการวิเคราะห์ข้อมูลที่สร้างโดยเครื่องโดยการทำดัชนี การรวบรวม และการค้นหาข้อมูลบันทึกและตัววัดแบบกึ่งมีโครงสร้าง
อะไรคือความแตกต่างระหว่างฐานข้อมูล NoSQL และ SQL
เป็นเวลาหลายทศวรรษที่โมเดลข้อมูลที่โดดเด่นเรื่องการพัฒนาแอปพลิเคชันคือแบบโมเดลข้อมูลเชิงสัมพันธ์ที่จัดเก็บข้อมูลในตารางแถวและคอลัมน์ Structured Query Language (SQL) ถูกใช้เพื่อสร้างและแก้ไขตารางเชิงสัมพันธ์เหล่านี้ ฐานข้อมูล SQL สร้างโมเดลของความสัมพันธ์ของข้อมูลเป็นตาราง แถวในตารางแทนถึงกลุ่มค่าของหนึ่งอ็อบเจกต์หรือเอนติตีที่สัมพันธ์กัน แต่ละคอลัมน์ในตารางจะแสดงแอตทริบิวต์ข้อมูล และเขตข้อมูล (หรือเซลล์ตาราง) จะเก็บค่าจริงของแอตทริบิวต์ คุณสามารถใช้ระบบการจัดการฐานข้อมูลแบบเชิงสัมพันธ์ (RDBMS) เพื่อเข้าถึงข้อมูลได้หลายวิธีโดยไม่ต้องจัดระเบียบตารางฐานข้อมูลใหม่
จนกระทั่งช่วงกลางถึงปลายปี 2000 จึงได้เริ่มมีการปรับใช้และใช้งานโมเดลข้อมูลที่ยืดหยุ่นแบบต่าง ๆ กันมากขึ้น หากต้องการแยกแยะและจัดหมวดหมู่คลาสใหม่ของฐานข้อมูลและโมเดลข้อมูล ให้ใช้คำว่า NoSQL NoSQL ย่อมาจาก ไม่ใช่แค่ SQL หรือไม่ใช่ SQL คำว่า “NoSQL” มักใช้สลับกับที่ไม่ใช่เชิงสัมพันธ์ ความแตกต่างที่สําคัญระหว่างฐานข้อมูลแบบเชิงสัมพันธ์และไม่ใช่เชิงสัมพันธ์นั้นจะแสดงไว้ในตารางด้านล่าง
|
ระบบฐานข้อมูลแบบเชิงสัมพันธ์ |
ฐานข้อมูล NoSQL |
เวิร์กโหลดที่ดีที่สุด
|
ฐานข้อมูลแบบเชิงสัมพันธ์ถูกออกแบบมาเพื่อการทำธุรกรรมและแอปพลิเคชันประมวลผลการทำธุรกรรมออนไลน์ที่มีความสม่ำเสมอมาก (OLTP) นอกจากนี้ยังเหมาะสําหรับการประมวลผลเชิงวิเคราะห์ออนไลน์ (OLAP) |
ฐานข้อมูล NoSQL ออกแบบมาสำหรับรูปแบบการเข้าถึงข้อมูลจำนวนหนึ่งซึ่งรวมถึงแอปพลิเคชันที่มีเวลาแฝงต่ำ ฐานข้อมูลการค้นหา NoSQL ถออกแบบมาเพื่อการวิเคราะห์ข้อมูลแบบกึ่งมีโครงสร้าง
|
โมเดลข้อมูล |
โมเดลเชิงสัมพันธ์ปรับข้อมูลให้ดูง่ายในรูปแบบตารางซึ่งประกอบด้วยแถวและคอลัมน์ แบบแผนจะเป็นตัวกำหนดตาราง แถว คอลัมน์ ดัชนี ความสัมพันธ์ระหว่างตาราง และส่วนประกอบฐานข้อมูลอื่นๆ โดยแท้จริง ฐานข้อมูลบังคับใช้ความสมบูรณ์อ้างอิงในความสัมพันธ์ระหว่างตารางต่างๆ |
ฐานข้อมูล NoSQL มีโมเดลข้อมูลที่หลากหลายให้ เช่น ค่าหลัก เอกสาร และกราฟ และคอลัมน์ ซึ่งปรับให้เหมาะกับประสิทธิภาพและการปรับขนาด |
ลักษณะ ACID |
ฐานข้อมูลแบบเชิงสัมพันธ์มีลักษณะ Atomicity, Consistency, Isolation และ Durability (ACID):
|
ฐานข้อมูล NoSQL ส่วนใหญ่จะทำการแลกเปลี่ยนโดยผ่อนคลายลักษณะ ACID บางรายการของฐานข้อมูลแบบเชิงสัมพันธ์เพื่อโมเดลข้อมูลที่ยืดหยุ่นขึ้นที่สามารถปรับขนาดแนวนอนได้ นี่ทำให้ฐานข้อมูล NoSQL เป็นตัวเลือกที่ดีสำหรับกรณีใช้งานที่มีอัตราการโอนถ่ายข้อมูลสูงและเวลาแฝงต่ำที่ต้องปรับขนาดแนวนอนเกินขีดจำกัดของอินสแตนซ์เดี่ยว |
ประสิทธิภาพ |
โดยทั่วไป ประสิทธิภาพขึ้นอยู่กับระบบย่อยของดิสก์ มักต้องมีการเพิ่มประสิทธิภาพในการสืบค้น ดัชนี และโครงสร้างตารางเพื่อให้ได้ประสิทธิภาพสูงสุด |
โดยทั่วไป ประสิทธิภาพหมายถึงการทำงานของฮาร์ดแวร์พื้นฐานขนาดเท่าคลัสเตอร์ เวลาแฝงของเครือข่าย และการเรียกใช้แอปพลิเคชัน |
การปรับขนาด |
ฐานข้อมูลเชิงสัมพันธ์มักจะถูกขยายขนาดขึ้นโดยเพิ่มความสามารถในการประมวลผลของฮาร์ดแวร์หรือปรับขนาดออกโดยเพิ่มแบบจำลองสำหรับเวิร์กโหลดแบบอ่านอย่างเดียว |
โดยทั่วไปแล้วฐานข้อมูล NoSQL จะแบ่งพาร์ติชันได้ เพราะรูปแบบการเข้าถึงสามารถปรับขนาดออกได้โดยใช้สถาปัตยกรรมแบบกระจายเพื่อเพิ่มอัตราการโอนถ่ายข้อมูลที่จะมอบประสิทธิภาพอย่างสม่ำเสมอในเกือบทุกขนาด |
API |
คำขอจัดเก็บและเรียกดูข้อมูลจะมีการสื่อสารโดยใช้การสืบค้นที่สอดคล้องกับ Structured Query Language (SQL) การสืบค้นเหล่านี้จะถูกแยกวิเคราะห์และดำเนินการโดยฐานข้อมูลเชิงสัมพันธ์ |
API เชิงวัตถุช่วยให้ App Developer สามารถจัดเก็บและเรียกโครงสร้างข้อมูลได้อย่างง่ายดาย คีย์พาร์ติชันช่วยแอปค้นหาคู่คีย์-ค่า ชุดคอลัมน์ หรือเอกสารแบบกึ่งมีโครงสร้างที่มีวัตถุและคุณลักษณะที่เป็นอนุกรม |
คุณควรเลือกฐานข้อมูล NoSQL เหนือฐานข้อมูล SQL เมื่อใด
ฐานข้อมูล NoSQL เหมาะที่สุดสําหรับการจัดการข้อมูลที่ไม่แน่นอน ไม่เกี่ยวข้องกัน หรือเปลี่ยนแปลงอย่างรวดเร็ว ใช้งานง่ายสําหรับนักพัฒนาเมื่อแอปพลิเคชันเป็นตัวกําหนดสคีมาฐานข้อมูล คุณสามารถใช้สําหรับแอปพลิเคชันที่:
- ต้องการสคีมาที่ยืดหยุ่นซึ่งจะช่วยให้การพัฒนาเร็วขึ้นและทำซ้ำได้มากขึ้น
- ให้ความสําคัญของประสิทธิภาพมากกว่าความสอดคล้องกันของข้อมูลและรักษาความสัมพันธ์ระหว่างตารางข้อมูล (Referential Integrity) ที่แข็งแกร่ง
- ต้องการการปรับขนาดแนวนอนโดยการแบ่งส่วนข้อมูลข้ามเซิร์ฟเวอร์
- รองรับข้อมูลที่มีโครงสร้าง กึ่งโครงสร้าง และไม่มีโครงสร้าง
คุณไม่จําเป็นต้องเลือกระหว่างสคีมาฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์และเชิงสัมพันธ์เสมอไป คุณสามารถใช้ฐานข้อมูล SQL และ NoSQL ร่วมกันในแอปพลิเคชันได้ วิธีการแบบไฮบริดนี้ค่อนข้างธรรมดาและทําให้มั่นใจได้ว่าเวิร์กโหลดแต่ละรายการจะถูกแมปเข้ากับฐานข้อมูลที่เหมาะสมเพื่อราคาที่ดีที่สุด
AWS จะรองรับข้อกำหนดฐานข้อมูล NoSQL ของคุณได้อย่างไร
AWS ยังมีบริการฐานข้อมูล NoSQL มากมายที่ตอบสนองความต้องการสำหรับ NoSQL ทั้งหมดของคุณ ตัวอย่างเช่น:
- Amazon DynamoDB เป็นบริการฐานข้อมูลแบบคีย์-ค่าแบบไม่ต้องใช้เซิร์ฟเวอร์ที่มีการจัดการเต็มรูปแบบ ซึ่งให้ประสิทธิภาพที่สม่ำเสมอเป็นตัวเลขหลักเดียวหลักมิลลิวินาทีพร้อมความสามารถในการปรับขนาดที่ไร้ขีดจํากัด
- Amazon DocumentDB (พร้อมฟังก์ชันการทำงานร่วมกับ MongoDB) คือฐานข้อมูลแบบโครงสร้างเอกสาร JSON ที่เนทีฟมีการจัดการเต็มรูปแบบซึ่งช่วยในการจัดการเวิร์กโหลดเอกสารที่สำคัญได้ง่ายและหยัดต้นทุนในทุกขนาดแบบเสมือนโดยไม่ต้องจัดการโครงสร้าง
- Amazon Neptune เป็นบริการฐานข้อมูลแบบกราฟแบบไม่ต้องใช้เซิร์ฟเวอร์ที่มีการจัดการเต็มรูปแบบซึ่งออกแบบมาเพื่อความสามารถในการปรับขนาดและความพร้อมใช้งานที่เหนือกว่า พร้อมความสามารถในการสืบค้นความสัมพันธ์นับพันล้านรายการในไม่กี่วินาที
- Amazon MemoryDB สำหรับ Redis เป็นบริการฐานข้อมูลแบบใช้หน่วยความจำที่ทนทานซึ่งให้เวลาตอบสนองการอ่านและเขียนระดับไมโครวินาทีเพื่อประสิทธิภาพที่รวดเร็วเป็นพิเศษ
- Amazon ElastiCache เป็นบริการจัดเก็บข้อมูลในหน่วยความจําและแคชที่ใช้งานได้กับ Redis และ Memcached ซึ่งมอบประสิทธิภาพแบบเรียลไทม์ที่ปรับให้เหมาะสมกับต้นทุน
- Amazon Keyspaces (สำหรับ Apache Cassandra) เป็นฐานข้อมูลแบบคอลัมน์กว้างแบบไม่ต้องใช้เซิร์ฟเวอร์ที่มีการจัดการเต็มรูปแบบซึ่งออกแบบมาเพื่อความพร้อมใช้งานสูงสุด 99.999% พร้อมการจําลองแบบหลายรีเจี้ยน บริการฐานข้อมูลที่ใช้งานร่วมกันได้กับ Apache Cassandra ซึ่งสามารถปรับขนาดได้ มีความพร้อมใช้งานสูง และมีการจัดการ
- Amazon Timestream เป็นบริการฐานข้อมูลแบบอนุกรมเวลาที่รวดเร็ว ปรับขนาดได้ และไม่ต้องใช้เซิร์ฟเวอร์ซึ่งช่วยทำให้ง่ายต่อการจัดเก็บและวิเคราะห์อีเว้นท์หลายล้านรายการต่อวันโดยเร็วกว่าฐานข้อมูลแบบเชิงสัมพันธ์ถึง 1,000 เท่า
- Amazon OpenSearch Service เป็นชุดการค้นหาและการวิเคราะห์แบบกระจายที่มีการจัดการเต็มรูปแบบ ซึ่งช่วยให้สามารถค้นหา ตรวจสอบ และวิเคราะห์ข้อมูลธุรกิจและการดําเนินงานแบบเรียลไทม์ได้
เริ่มต้นใช้งาน NoSQL บน AWS ด้วยการสร้างบัญชี AWS ฟรีวันนี้