Professional Documents
Culture Documents
MDS - Mau Trinh Bay Bao Cao
MDS - Mau Trinh Bay Bao Cao
ĐẠI HỌC KHOA HỌC TỰ NHIÊN THÀNH PHỐ HỒ CHÍ MINH, ĐẠI HỌC QUỐC GIA TP HCM
Mã nhóm: 20HTTT2_5
Tên nhóm:
Five humans
Số lượng: 5
MSSV Họ tên Email Điện thoại Hình ảnh
20127103 Nguyễn Đức An 20127103@student.hcmus.edu.vn 0819394076
…
…
…
Bảng phân công & đánh giá hoàn thành công việc
Công việc thực hiện Người thực hiện Mức độ hoàn thành Đánh giá của nhóm
Công việc X 1122333-Nguyễn Văn A 80% 7/10
Key value stores, hoặc key value database là kiểu cơ sở dữ liệu sử dụng mảng
kết hợp. Trong đó mỗi key sẽ tồn tại duy nhất một value trong collection. Mỗi
quan hệ này được gọi là một cặp key-value.
b. Nguyên lý
Lưu trữ kiểu key-value là kiểu lưu trữ dữ liệu NoSQL đơn giản nhất sử dụng từ
một API. Chúng ta có thể nhận được giá trị cho khóa, đặt một giá trị cho một
khóa, hoặc xóa một khóa từ dữ liệu. Ví dụ, giá trị là ‘blob’ được lưu trữ thì chúng
ta không cần quan tâm hoặc biết những gì ở bên trong. Từ các cặp giá trị được
lưu trữ luôn luôn sử dụng truy cập thông qua khóa chính và thường có hiệu năng
truy cập tốt và có thể dễ dàng thu nhỏ lại.
Một vài cơ sở dữ liệu key-value phổ biến là Riak, Redis(thường dùng phía
server), memcached, Berkeley DB, HamsterDB, Amazon DynamoDB(mã nguồn
đóng), Project Voldemort và Couchbase. Tất cả các cơ sở dữ liệu kiểu key-value
đều không giống nhau, có rất nhiều điểm khác nhau giữa các sản phẩm. Ví dụ,
dữ liệu của memcached không được nhất quán trong khi ngược lại với Riak. Đấy
là những điểm nổi bật quan trọng khi chọn giải pháp phù hợp để sử dụng.
Cụ thể hơn là khi chúng ta cần cài đặt caching cho nội dung yêu thích của người
dùng, cài đặt sử dụng memcached có nghĩa là khi các nút hỏng hết dẫn tới dữ
liệu bị mất và cần phải làm mới lại từ hệ thống nguồn. Tuy nhiên, nếu chúng ta
lưu trữ cùng dữ liệu đó trong Riak, chúng ta không cần lo lắng về việc mất dữ
liệu nhưng cần phải xem xét việc cập nhật trạng thái của dữ liệu như thế nào.
Điều này là quan trọng không chỉ cho chọn cơ sở dữ liệu key-value cho hệ thống
và còn quan trọng cho việc chọn cơ sở dữ liệu key-value nào.
c. Use case
d. Object Store
Object storage, hay còn được gọi là object-based storage, là kiến trúc lưu trữ dữ
liệu handle dữ liệu lớn (không có cấu trúc)
Object Storage chia dữ liệu lớn thành các unit nhỏ (có kích thước giới hạn). Mỗi
Object bao gồm data, meta data (for index, management). Cuối cùng là ID, sử
dụng để tìm kiếm trong hệ cơ sở dữ liệu phân tán (Distributed System)
Performs best for big content and high stream throughput – Cung cấp
hiệu năng tuyệt vời cho dữ liệu lớn và luồng dữ liệu khổng lồ.
Data can be stored across multiple regions – Dữ liệu có thể được lưu trữ
trên nhiều vùng.
Scales infinitely to petabytes and beyond – Quy mô lớn, mở rộng lên tới
hàng petabytes.
e. In-Memory Database
In Memory DB giống như cái tên của nó. Thay về sử dụng SSD, Hard Disk để
lưu trữ dữ liệu. IM DB muốn sử dụng Ram hoặc các phần Memory khác để lưu
trữ dữ liệu.
Đại diện tiêu biểu của In Memory là Amazon Elasticache for Redis.
Use case phổ biến thường được áp dụng là Real-time bidding (đấu giá trực
tuyến). Real-time bidding đề cập lớn vấn đề mua bán trên các trang online.
Thông thường các lệnh đặt được thực hiện khi người dùng đang loading
webpage, chỉ trong 100-120 milliseconds, đôi khi là dưới 50 milliseconds.
Để đáp ứng độ trễ này, In Memory tỏ ra là giải pháp hoàn hảo. Tất nhiên, IMDB
cũng là vị trí lưu trữ, cách thức lưu trữ thì vẫn giống như Object Store. Cả hai
đều là Key Value Stores.
Kiểu dữ liệu
Avaibility
Scalability
Consistency
Performance
Khả năng
tương thích
Community
Chi phí
Tính bảo mật