Tải bản đầy đủ (.pptx) (8 trang)

Giới thiệu về MongoDB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 8 trang )

BÀI CHIA SẼ

CƠ SỞ DỮ LIỆU
MONGODB


TỔNG QUAN VỀ NOSQL
1.1 NoSQL là gì?

Cơ sở dữ liệu NoSQL hay còn gọi là “Not
Only SQL” là một thế hệ của cơ sở dữ liệu phi
quan hệ (non-relational).
Giữa các Collection sẽ khơng có khóa
chính, khóa ngoại nên sẽ giảm bớt sự ràng
buộc khi dữ liệu có quá nhiều bảng.
NoSQL đặc biệt nhấn mạnh đến mơ hình lưu
trữ cặp giá trị “key – value” và phù hợp với
kho dữ liệu phân tán cũng như dữ liệu lớn.


TỔNG QUAN VỀ NOSQL
1.2 Phân biệt NoSQL với SQL?
NoSQL Database
Được phát triển vào những năm 2000 để giải quyết các hạn
Được phát triển vào những năm 1970 với làn sóng ứng
Lịch sử
chế liên quan đến quy mô, nhân rộng và lưu trữ dữ liệu phi cấu
dụng lưu trữ dữ liệu đầu tiên.
trúc.
CSDL đại diện MySQL, Postgres, Oracle Database
MongoDB, Cassandra, HBase, Neo4j


Mơ hình quan hệ chuẩn hóa dữ liệu vào bảng được hình
Mơ hình dữ liệu
Kiểu Document-based, Column-base, Key-value, Graph-base.
thành từ hàng và cột.
Theo chiều dọc, có nghĩa là máy chủ duy nhất phải ngày Theo chiều ngang, có nghĩa là để thêm dung lượng, người
Khả năng mở càng mạnh mẽ để đáp ứng nhu cầu mở rộng của dữ liệu. quản trị cơ sở dữ liệu chỉ cần thêm nhiều máy chủ hoặc đám
rộng
Có thể mở rộng cơ sở dữ liệu SQL trên nhiều máy chủ, mây. Cơ sở dữ liệu NoSQL tự động phân tán dữ liệu trên các
nhưng cần bổ sung thêm kỹ thuật quan trọng.
máy chủ khi cần thiết
Mơ hình phát Kết hợp mã nguồn mở (ví dụ: Postgres, MySQL) và mã
Mã nguồn mở
triển
nguồn đóng (ví dụ: Cơ sở dữ liệu Oracle)
Thao tác dữ
Ngôn ngữ cụ thể bằng cách sử dụng các câu lệnh Select,
Thông qua các API hướng đối tượng
liệu
Insert, Update.
Phụ thuộc vào hệ thống. Có hệ thống ưu tiên cung cấp tính
Tính nhất qn Có tính nhất quán mạnh mẽ
nhất quán (ví dụ: MongoDB) trong khi một số khác cung cấp
tính nhất quán cuối cùng (ví dụ: Cassandra)
Tiêu chí

SQL Database


TỔNG QUAN VỀ NOSQL
1.3 Các kiểu dữ liệu NoSQL?

 Key-value stores: là cơ sở dữ liệu NoSQL đơn giản
nhất. Mỗi mục trong cơ sở dữ liệu được lưu trữ dưới
dạng tên thuộc tính (hoặc 'khóa'), cùng với giá trị
của nó. Ví dụ về Key-value stores là Riak, Berkeley
DB, Amazon DynamoDB...
 Column-oriented stores: như Cassandra và HBase
được tối ưu hóa cho các truy vấn trên các bộ dữ liệu
lớn và lưu trữ các cột dữ liệu cùng nhau, thay vì các
hàng.
 Graph stores: được sử dụng để lưu trữ thông tin về
các mạng dữ liệu, chẳng hạn như các kết nối xã hội.
Ví dụ về Graph stores: Neo4J và Giraph...
 Document Oriented databases: ghép từng khóa
với cấu trúc dữ liệu phức tạp được gọi là tài liệu. Tài
liệu có thể chứa nhiều cặp khóa-giá trị khác nhau
hoặc cặp khóa-mảng hoặc thậm chí các tài liệu lồng


GIỚI THIỆU VỀ MONGODB
2.1 MongoDB là gì?

MongoDB là một phần mềm cơ sở dữ liệu mã
nguồn mở cho NoSQL.

Được viết bằng ngôn ngữ C++ và lưu trữ dữ liệu
dưới dạng Document JSON.

Ngoài ra, MongoDB là một cơ sở dữ liệu đa nền
tảng, hoạt động trên các khái niệm Collection và
Document, nó cung cấp hiệu suất cao, tính khả

dụng cao và khả năng mở rộng dễ dàng.


GIỚI THIỆU VỀ MONGODB
2.2 Quản trị cơ bản CSDL
Tạo database
• Cú pháp: use <DBName>
• Ví dụ: >use myDB
Xóa database
• Cú pháp: db.dropDatabase()
Tạo Collection
• Cú pháp: db.createCollection(name, options)
• Ví dụ: >db.createCollection(“Employees”)
Xóa Collection
• Cú pháp: db.COLLECTION_NAME.drop()
• Ví dụ: >db.Employees.drop()
Thêm tài liệu vào bảng
• Cú pháp: db.COLLECTION_NAME.insert(document)
• Ví dụ: >db.Employees.insert({name: “Quoc Hai”, age: 23})

Truy vấn dữ liệu
• Cú pháp: db.COLLECTION_NAME.find()
• Ví dụ: Lấy ra name của nhân viên có tuổi là 33
db.Employees.find({age:33}, {name:1})
Cập nhật dữ liệu
• Cú pháp: db.COLLECTION_NAME.update()
• Ví dụ: Sửa tên nhân viên Quoc Hai thành tên Bau Ne
>db.Employees.update({‘name’:Quoc Hai'},{$set:
{‘name’:’Bau Ne'}})
Xóa dữ liệu

• Cú pháp: db.COLLECTION_NAME.remove()
• Ví dụ: >db.Employees.remove({‘name’:’Bau Ne'})
Tổng hợp tài liệu
• Cú pháp: >db.mycol.aggregate([{$group : {_id : "$by_user",
num_tutorial : {$sum : 1}}}])


GIỚI THIỆU VỀ MONGODB
2.3 Ưu điểm và nhược điểm
 Ưu điểm:
 Hiệu suất cao do tốc độ truy vấn (find, update, insert, delete) của MongoDB nhanh
 Dữ liệu linh hoạt do MongoDB là document database, dữ liệu lưu dưới dạng JSON
 Tích hợp dễ dàng với BigData Hadoop
 Ngơn ngữ truy vấn dựa trên tài liệu mạnh mẽ như SQL
 Khả năng mở rộng cao – Sharding
 Nhược điểm:
 Không ràng buộc tồn vẹn nên khơng ứng dụng được cho các mơ hình giao dịch u cầu độ chính xác cao.
 Khơng có cơ chế transaction (giao dịch) để phục vụ các ứng dụng ngân hàng.
 Dữ liệu được caching, lấy RAM làm trọng tâm hoạt động vì vậy khi hoạt động yêu cầu một bộ nhớ RAM lớn.
 Phát triển tốt cho:
 Hệ thống realtime (thời gian thực) yêu cầu phản hồi nhanh
 Các hệ thống bigdata với yêu cầu truy vấn nhanh.
 Các hệ thống có tần suất write/insert lớn


LỜI KẾT
1. Kết quả mong muốn
 Tìm hiểu tổng quan về cơ sở dữ liệu NoSQL
 Giới thiệu về MongoDB
 Bài viết chia sẽ thơng tin bổ ích về mảng dữ liệu


2. Tài liệu tham khảo





/> /> /> />


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×