Redis Remote Dictionary Server là một kho lưu trữ dữ liệu trong bộ nhớ mã nguồn mở NoSQL dưới dạng khóa - giá trị key - value Hỗ trợ nhiều kiểu dữ liệu như: strings, hashes, lists, sets
Trang 1Lớp: IE103.M21.CNCL Sinh viên thực hiện:
Lưu Tấn Hưng - 20521364 Nguyễn Thanh Hiếu - 20521328
1
Tìm hiểu về hệ quản trị Redis và so sánh
điểm khác biệt với hệ quản trị SQL Server
Giáo viên hướng dẫn:
TS Lưu Thanh Sơn
TS Nguyễn Gia Tuấn Anh
Trang 201 02
Nội dung
Tổng quan về Redis So sánh Redis
và SqlServer
2
03 Kết luận
Trang 3Tổng quan về Redis
3
1 Redis là gì?
Redis (Remote Dictionary Server) là một kho lưu trữ dữ liệu
trong bộ nhớ mã nguồn mở
NoSQL dưới dạng khóa - giá trị (key - value)
Hỗ trợ nhiều kiểu dữ liệu như: strings, hashes, lists, sets, sorted.
Trang 4Tổng quan về Redis
4
2 Đặc trưng cơ bản của Redis?
Data model
Master/Slave Replication
In-memory
Persistent redis
Trang 5Tổng quan về Redis
5
2 Đặc trưng cơ bản của Redis?
Data model
STRING
HASH: Lưu trữ hash table của các cặp key-value
LIST: Danh sách liên
kết của các strings
SET: Tập hợp các string
ZSET (sorted set): Là 1 danh sách
Trang 6Tổng quan về Redis
6
2 Đặc trưng cơ bản của Redis?
Master/Slave Replication
LIST: Danh sách liên kết của các strings
- Dùng để sao chép cơ sở dữ liệu nhằm cải thiện hiệu suất
và khả năng dự phòng.
ZSET (sorted set): Là 1 danh sách
- Đây không phải là đặc trưng nổi bật, DBMS khác đều có tính năng này, tuy nhiên Redis không kém cạnh các DBMS về tính năng Replication.
Trang 7Tổng quan về Redis
7
2 Đặc trưng cơ bản của Redis?
- Tuy nhiên toàn bộ dữ liệu trên RAM sẽ bị mất khi tắt server
=> Vậy nên ta cần có cơ chế lưu dữ liệu trên ổ cứng của Redis
In-memory
LIST: Danh sách liên kết của các strings
- Redis lưu trữ dữ liệu trên RAM vậy nên tốc độ truy xuất rất nhanh chóng
ZSET (sorted set): Là 1 danh sách
Trang 8Tổng quan về Redis
8
2 Đặc trưng cơ bản của Redis?
Persistent redis
LIST: Danh sách liên kết của các strings
- Redis cần lưu trữ dữ liệu trên ổ cứng
ZSET (sorted set): Là 1 danh sách
đảm bảo toàn vẹn dữ liệu khi có sự cố xảy ra
để gửi data đến các slave server
RDB (Redis Database Backup File) AOF (Append Only File)
- 2 phương thức chính cho việc sao lưu dữ liệu ra ổ cứng
Trang 9Tổng quan về Redis
9
3 Ứng dụng của Redis?
- Caching: để làm bộ nhớ đệm và tạo ra được tốc độ ghi nhanh
Publish/Suscribe (Pub/Sub): Có thể thực hiện tạo kênh, chia sẻ các dữ
liệu.
Dù có restart Redis thì cũng không cảm nhận được việc chậm khi tải trang
Counter: Được ứng dụng để làm bộ đếm.
Đếm lượt view cho một website và các bảng xếp hạng ở trong game.
Theo dõi được các kết nối bên trong mạng xã hội cũng như các hệ thống chat
Queues: Tạo được hàng đợi để có thể xử lý lần lượt được các request.
Trang 10Tổng quan về Redis
10
4 Redis được sử dụng bởi
Trang 11So sánh Redis và SQLServer
11
1 Công cụ truy vấn
Xây dựng dữ liệu mẫu CSDL gồm
bảng customer (khóa chính: CustomerID) Phần mềm và cấu hình máy tính sử dụng
- Ngôn ngữ lập trình: Javascript và Nodejs phiên bản 16.14.2
- CSDL SQL Server 2019 Express
- CSDL Redis phiên bản 7.0
- Cấu hình máy tính: CPU Intel Core i5-1035G1, tốc độ 1.00GHz, RAM 8GB, HDD 312GB, hệ điều hành Windows 10-64bit.
Trang 122 Truy vấn Select
=> Dữ liệu càng lớn thì thời gian thực hiện câu truy vấn Select của CSDL SQL
Server lớn hơn nhiều lần so với CSDL Redis.
So sánh Redis và SQLServer
Trang 132 Truy vấn Insert
=> Dữ liệu càng lớn thì thời gian thực hiện câu truy vấn Insert của CSDL SQL
Server lớn hơn nhiều lần so với CSDL Redis.
So sánh Redis và SQLServer
Trang 142 Truy vấn Delete
=> Dữ liệu càng lớn thì thời gian thực hiện câu truy vấn Delete của CSDL SQL
Server lớn hơn nhiều lần so với CSDL Redis.
So sánh Redis và SQLServer
Trang 152 Truy vấn Update
=> Dữ liệu càng lớn thì thời gian thực hiện câu truy vấn Update của CSDL SQL
Server lớn hơn nhiều lần so với CSDL Redis.
So sánh Redis và SQLServer
Trang 16Kết luận
16
Qua dữ liệu trên ta có thể thấy được là
thời gian truy vấn của CSDL SQL Server
tỏ ra khá chậm so với CSDL Redis khi dữ
liệu ngày càng lớn
Với xu hướng hiện nay, đòi hỏi tốc độ truy
vấn dữ liệu phải nhanh chóng thì Redis là
một giải pháp tốt cho các nhà phát triển
phần mềm
Trang 17Hướng phát triển
17
- Bởi vì bản miễn phí hiện tại chỉ có hỗ trợ key - value để mở rộng để hỗ trợ nhiều data model hơn để cho cộng đồng nhiều người dùng hơn
- Redis không có hỗ trợ chính thức cho các bản dựng Windows Trong tương lai có thể phát triển cách thức dễ dàng hơn cho người dùng windows
Trang 18App ứng dụng
18
Tuy nhiên sản phẩm vẫn chưa được hoàn thiện.
Trang 19Cảm ơn thầy và các bạn đã
lắng nghe!