Distributed Database AND NoSQL Database

Get Started. It's Free
or sign up with your email address
Distributed Database AND NoSQL Database by Mind Map: Distributed Database AND NoSQL Database

1. ระบบฐานข้อมูลของ NoSQL

1.1. NoSQL ย่อมาจาก Not Only SQL NoSQL คือ แนวทางหนึ่งสำหรับจัดการข้อมูลและการออกแบบฐานข้อมูล สำหรับข้อมูลขนาดใหญ่

1.2. ข้อดี ข้อเสียของ NoSQL

1.2.1. ข้อดีของ NoSQL 1.สามารถขยายระบบได้ง่าย 2.รองรับข้อมูลขนาดใหญ่ 3.รองรับรูปแบบข้อมูลที่หลากหลาย หรือมีความยืดหยุ่นสูงได้

1.2.2. ข้อเสียของ NoSQL 1.ยังไม่เสถียรสักเท่าไร 2.เรื่อง support ยังไม่ดี 3.เรื่องของระบบ admin ที่ยังไม่ดี หรือไม่มีเลย 4.ขาดผู้มีความรู้และผู้เชี่ยวชาญ

1.3. โครงสร้างข้อมูลของ NoSQL Database 4 ชนิด ประกอบไปด้วย

1.3.1. Column-Oriented

1.3.2. Key-value

1.3.3. Document

1.3.4. Graph

1.4. นำ NoSQL ไปใช้ตรงไหน

1.4.1. ใช้งานกับข้อมูลที่มีขนาดใหญ่ ข้อมูลไม่มีโครงสร้างที่ชัดเจน ระบบทำงานแบบ realtime หรือสำหรับการวิเคราะห์ข้อมูลแบบ offline

1.5. DB ที่เป็น NoSQL Database

1.5.1. - Redis - MongoDB - Cassandra - Riak - CouchDB - HBase - HyperTable - ElasticSearch - Couchbase - Neo4j

1.6. ทำไมจึงควรใช้ฐานข้อมูล NoSQL

1.6.1. ความยืดหยุ่น: โดยทั่วไป ฐานข้อมูล NoSQL จะมีแบบแผนยืดหยุ่นที่ทำให้การพัฒนาเกิดขึ้นเร็วและทำซ้ำคำสั่งได้ดียิ่งขึ้นกว่าเดิม

1.6.2. ความสามารถในการปรับขนาด: โดยทั่วไป ฐานข้อมูล NoSQL มักถูกออกแบบมาให้ปรับขนาดออกได้โดยใช้คลัสเตอร์แบบกระจายของฮาร์ดแวร์แทนการปรับขนาดขึ้นโดยเพิ่มเซิร์ฟเวอร์ที่มีราคาแพงและมีประสิทธิภาพสูง

1.6.3. ประสิทธิภาพสูง: ฐานข้อมูล NoSQL ได้รับการปรับปรุงประสิทธิภาพสำหรับโมเดลข้อมูลบางโมเดล (เช่น เอกสาร คีย์-ค่า และกราฟ) และเข้าถึงรูปแบบที่เปิดใช้งานประสิทธิภาพที่สูงกว่าการพยายามดำเนินการทำงานที่คล้ายกันด้วยฐานข้อมูลเชิงสัมพันธ์

1.6.4. ทำงานได้ดีเยี่ยม: ฐานข้อมูล NoSQL มี API การทำงานและประเภทข้อมูลที่สร้างตามวัตถุประสงค์สำหรับโมเดลข้อมูลแต่ละโมเดลที่สอดคล้องกัน

2. ฐานข้อมูลแบบกระจาย (Distributed Database)

2.1. ระบบฐานข้อมูลแบบกระจาย (DDBMS)

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

2.1.2. (DDBMS) คือ ซอฟต์แวร์ที่ใช้สำหรับจัดการฐานข้อมูลแบบกระจายเพื่อให้ผู้ใช้งานสามารถใช้งาน โดยไม่ต้องสนใจว่าฐานข้อมูลที่จัดเก็บนั้นจัดเก็บกระจายลงบนเครื่องคอมพิวเตอร์ต่างๆ อย่างไร

2.2. ระบบฐานข้อมูลแบบรวมศูนย์

2.2.1. หมายถึงระบบฐานข้อมูลที่มีการเก็บฐานข้อมูลเอาไว้ที่ศูนย์กลางเพียงจุดเดียว

2.3. ความแตกต่างของฐานข้อมูลแบบกระจายและแบบรวมศูนย์

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

2.4. ทำไมต้องใช้แบบกระจาย

2.4.1. ลดการทำงานของเครื่อง server ได้

2.4.2. หากระบบใดเสียหายก็สามารถเรียกใช้ระบบอื่นได้ตามที่เรากระจายไว้

2.4.3. ผู้ดูแลสามารถกำหนดได้ว่าผู้ใช้จากจุดใดสามารถเข้าใช้ข้อมูลได้บ้าง

2.4.4. การข้อหาข้อมูลต่างๆสามารถทำได้เร็วขึ้น

2.5. ลักษณะสำคัญของ DDBMS

2.5.1. 1. ความเป็นอิสระของแต่ละส่วนงาน

2.5.1.1. 7. การประมวลผลคิวรี่เป็นแบบกระจาย

2.5.2. 2. การไม่ขึ้นกับไซต์ที่เป็นส่วนกลาง

2.5.2.1. 8. การจัดการรายการเปลี่ยนแปลงเป็นแบบกระจาย

2.5.3. 3. การทำงานต้องเป็นไปอย่างต่อเนื่อง

2.5.3.1. 9. ความอิสระกับฮาร์ดแวร์

2.5.4. 4. ความเป็นอิสระจากสถานที่

2.5.4.1. 10. ความอิสระกับระบบปฏิบัติการ

2.5.5. 5. ความเป็นอิสระในการแบ่งส่วนข้อมูล

2.5.5.1. 11. ความอิสระกับเครือข่าย

2.5.6. 6. ความเป็นอิสระในการทำสำเนาข้อมูล

2.5.6.1. 12. ความอิสระกับระบบจัดการฐานข้อมูล

2.6. ข้อดีแบบกระจาย

2.6.1. การทำงานเป็นไปแบบอิสระต่อกัน

2.6.2. หากข้อมูลของส่วนงานอื่นเสียหายก็ไม่ส่งผลกระทบกับส่วนงานอื่นๆ

2.6.3. มีความน่าเชื่อถือสูง

2.6.4. มีประสิทธิภาพในการทำงานสูง

2.6.5. ประหยัดค่าใช้จ่ายเมื่อเทียบกับเครื่องคอมพิวเตอร์ระดับใหญ่

2.6.6. เหมาะสำหรับหน่วยงานที่มีแนวโน้มการเจริญเติบโตอยู่ตลอดเวลาเช่น การเพิ่มไซต์หรือสาขา ซึ่งรองรับต่อการขยายระบบในอนาคต

2.7. ข้อเสียแบบกระจาย

2.7.1. มีความสลับซับซ้อนกว่าแบบรวมศูนย์

2.7.2. มีค่าใช้จ่ายเกี่ยวกับการบำรุงรักษาสูง

2.7.3. สูญเสียการควบคุมความปลอดภัยเมื่อเทียบกับแบบรวมศูนย์ซึ่งควบคุมง่ายกว่า

2.7.4. การควบคุมความถูกต้องตรงกันของข้อมูลเป็นไปได้ค่อนข้างยาก

2.7.5. ยังไม่มีหลักการหรือมาตรฐานการจัดการที่แน่นอนและชัดเจน

2.7.6. ขาดแคลนผู้เชี่ยวชาญ

2.8. ชนิดของระบบการจัดการฐานข้อมูลแบบกระจาย

2.8.1. 1. Homogeneous DDBMS

2.8.1.1. เป็นการจัดการฐานข้อมูลที่ใช้ DBMS แบบเดียวกันทำให้ฐานข้อมูลแต่ละไซตืเป็นรูปแบบเดียวกันส่งผลให้การจัดการนั้นสะดวกและง่ายขึ้น เหมาะกับองค์ที่เพิ่งเริ่มต้นการใช้งานและจัดการฐานข้อมูล

2.8.2. 2. Heterogeneous DDBMS

2.8.2.1. ต่างจาก Homogeneous DDBMS คือใช้ DBMS คนละตัวกันทำให้แต่ละสาขามีรูปแบบที่แตกต่างกัน ทำให้เกิดปัญหาในการรวมข้อมูลจึงต้องใช้ gateway เพื่อให้สามารใช้ฐานข้อมูลรูปแบบหนึีงมาใช้กับฐานข้อมูลตนเองได้