Professional Documents
Culture Documents
Chap04a - Introduction To Key-Value Stores-Unlocked
Chap04a - Introduction To Key-Value Stores-Unlocked
KHOA CÔNG NGHỆ THÔNG TIN – ĐẠI HỌC KHOA HỌC TP.HCM
CSC12111
QUẢN LÝ CƠ SỞ DỮ LIỆU HIỆN ĐẠI
Chương 04a
Cửa hàng khóa-giá trị:
Tính về
Giới thiệu bảoCửa
mật caokhóa-giá
hàng @NTMTHU@FIT-HCMUS
trị
Giảng viên - Tiến sĩ. NGUYỄN TRẦN MINH THU
it@hcmus
Machine Translated by Google
it@hcmus
Đề cương
it@hcmus
Đề cương
“Mọi thứ nên được thực hiện đơn giản nhất có thể,
nhưng không được đơn giản hơn.”
(ALBERT EINSTEIN)
4
Quản lý cơ sở dữ liệu hiện đại
it@hcmus
Đề cương
it@hcmus
Từ mảng đến cơ sở dữ liệu giá trị khóa
Mảng: Lưu trữ giá trị chính với bánh xe đào tạo
Mảng là một danh sách các giá trị có thứ tự.
Mỗi giá trị trong mảng được liên kết với một chỉ số nguyên.
Mảng là một danh sách các phần tử có thứ tự. Tất cả các phần tử đều cùng loại.
Giá trị của từng phần tử của mảng được đọc và đặt bằng cách tham chiếu đến chỉ mục
của nó
nguyên làm chỉ mục hoặc giới hạn các giá trị ở cùng loại. Mảng kết hợp
khái quát hóa ý tưởng về một danh sách có thứ tự được lập chỉ mục bởi một mã định danh để bao gồm các
giá trị tùy ý cho các mã định danh và giá trị. Các giá trị được lưu trữ
trong mảng kết hợp có thể khác nhau. Mảng kết hợp là cấu
trúc cơ bản làm nền tảng cho khái niệm khóa-giá trị
Tính
cơ sở dữbảo
liệu mật cao @NTMTHU@FIT-HCMUS
liệu khóa-giá trị được xây dựng dựa trên khái niệm mảng kết hợp, nhưng có
là những khác biệt quan trọng.
Nhiều kho lưu trữ dữ liệu khóa-giá trị lưu giữ các bản sao dữ liệu liên tục trên bộ lưu trữ
dài hạn, chẳng hạn như ổ cứng hoặc thiết bị lash. Một số kho lưu trữ dữ liệu khóa-giá trị
chỉ lưu giữ dữ liệu
trong bộ nhớ. Chương trình có thể chạy nhanh hơn nếu lấy dữ liệu từ bộ nhớ thay vì từ cơ sở
Bộ nhớ đệm là các mảng kết hợp được các chương trình
ứng dụng sử dụng để cải thiện hiệu suất truy cập dữ liệu.
Quản lý cơ sở dữ liệu hiện đại ©2021
it@hcmus
Từ mảng đến cơ sở dữ liệu giá trị khóa
Bộ nhớ đệm rất hữu ích trong việc cải thiện hiệu suất của các ứng dụng thực hiện nhiều
truy vấn cơ sở dữ liệu.
Kho dữ liệu khóa-giá trị thậm chí còn hữu ích hơn khi chúng lưu trữ dữ liệu liên tục trên
đĩa, thiết bị lash hoặc bộ lưu trữ dài hạn khác.
Chúng mang lại lợi ích về hiệu suất nhanh của bộ nhớ đệm cộng với khả năng lưu trữ liên tục
Tính bảo mật cao @NTMTHU@FIT-HCMUS
của cơ sở dữ liệu.
it@hcmus
Đề cương
Có sẵn nhiều cơ sở dữ liệu khóa-giá trị khác nhau cho các nhà phát triển và
tất cả chúng đều có chung ba tính năng cần
thiết: Đơn
giản Tốc
Đơn giản: Dù sao thì ai cũng cần các mô hình dữ liệu phức tạp?
Trong cơ sở dữ liệu khóa-giá trị, bạn làm việc với một mô hình dữ
Có sẵn nhiều loại cơ sở dữ liệu khóa-giá trị cho các nhà phát triển và
chúng đều có chung ba đặc điểm cơ bản:
Tốc độ: Không có gì là quá nhanh
Cơ sở dữ liệu khóa-giá trị được biết đến với tốc độ
nhanh. Với cấu trúc dữ liệu mảng kết hợp đơn giản và các tính năng thiết kế để tối
ưu hóa hiệu suất, cơ sở dữ liệu khóa-giá trị có thể cung cấp các hoạt động sử dụng
nhiều dữ liệu và thông lượng cao.
TínhMột bảo
cách để mật cao
giữ cho các hoạt @NTMTHU@FIT-HCMUS
động của cơ sở dữ liệu chạy nhanh là giữ dữ liệu ở
ký ức.
Cơ sở dữ liệu khóa-giá trị có thể có ưu điểm là thao tác ghi nhanh vào RAM và
tính bền vững của lưu trữ trên đĩa bằng cách sử dụng cả hai.
Hoạt động ghi có thể trả lại quyền kiểm soát cho ứng dụng gọi điện nhanh hơn
bằng cách trước tiên ghi các phần chèn và cập nhật vào RAM, sau đó cập nhật bộ nhớ đĩa
Có nhiều thuật toán cho việc này, nhưng một phương pháp thường được sử dụng gần đây nhất được biết
đến là ít nhất đã sử dụng (LRU)
Các thuật toán ít được sử dụng gần đây nhất sẽ xóa dữ liệu chưa được
đọc hoặc ghi gần đây như các dữ liệu khác
Khi phát hiện thấy máy chủ chính bị lỗi, các máy chủ phụ sẽ
khởi tạo một giao thức để bầu một máy chủ chính mới
Cơn ác mộng tồi tệ nhất của một người hâm mộ: Nhiều người hâm mộ có thể mua vé cho cùng một chỗ ngồi
it@hcmus
Đề cương
Làm thế nào để xây dựng một chìa khóa? Sử dụng khóa để xác định vị trí giá trị?
AK8912j4'
Giỏ hàng[12387] = 'SKU AK8912j4' bạn không biết giỏ hàng này của
ai hoặc nơi vận chuyển sản phẩm.
Tính bảo mật cao @NTMTHU@FIT-HCMUS Điều này sẽ giải quyết vấn đề trước
Giám sát:12387: irstName Mọi thuộc tính được theo dõi trong ứng dụng sẽ
cần một không gian tên riêng
Tên thực thể + ':' + Mã định danh thực thể +':' + Thuộc tính thực thể
Sử dụng các khóa có ý nghĩa đòi hỏi thông tin về các thuộc tính.
28
Machine Translated by Google
Nếu các nhà thiết kế cơ sở dữ liệu khóa-giá trị sẵn sàng hạn chế bạn sử dụng số nguyên làm
giá trị khóa thì họ sẽ dễ dàng thiết kế mã để tìm nạp hoặc đặt giá trị dựa trên khóa.
Các nhà thiết kế khóa-giá trị quan tâm nhiều hơn đến việc thiết kế các kho dữ liệu hữu
ích hơn là đơn giản hóa mã truy cập dữ liệu
Hàm băm là một hàm có thể lấy một chuỗi ký tự tùy ý và tạo ra một chuỗi
ký tự có độ dài cố định, duy nhất (thường).
Trên thực tế, giá trị được hàm băm trả về không phải lúc nào cũng là duy nhất; đôi khi hai
đầu vào không liên quan có thể tạo ra cùng một đầu ra. Điều này được gọi là một vụ va chạm.
Tính bảo mật cao @NTMTHU@FIT-HCMUS
may chu
A73:CivCen:PDX:0715
Tính bảo mật cao @NTMTHU@FIT-HCMUS
Bộ A73 vào ngày 15 tháng 7
Vì khóa được ánh xạ tới máy chủ bằng cách sử dụng các phép toán
modulo nên tất cả các yêu cầu về kết hợp chỗ ngồi, vị trí
và ngày đó sẽ được chuyển đến cùng một máy chủ.
Không có cơ hội cho máy chủ khác bán chỗ đó, do đó tránh được
vấn đề các máy chủ cạnh tranh để bán cùng một vé..
it@hcmus
Đề cương
Ví dụ về lưu trữ một chuỗi cùng với khóa cho địa chỉ của khách hàng
Ví dụ về lưu trữ định dạng JSON cùng với khóa cho địa chỉ của khách hàng:
Điều quan trọng là phải xem xét các đặc điểm thiết kế của cơ sở dữ liệu
khóa-giá trị mà bạn chọn sử dụng. Tham khảo tài liệu về các giới hạn về
khóa và giá trị. Một phần của quá trình lựa chọn cơ sở dữ liệu khóa-giá
trị là xem xét sự đánh đổi của các tính năng khác nhau
(1) Các nhà phát triển ứng dụng có thể triển khai
các hoạt động tìm kiếm cần thiết trong ứng dụng của họ
Tính bảo mật cao @NTMTHU@FIT-HCMUS
Phương pháp này cho phép bạn tìm kiếm các chuỗi giá
trị nhưng không hiệu quả.
Nếu bạn cần tìm kiếm trên phạm vi dữ liệu lớn, bạn
có thể truy xuất và kiểm tra nhiều giá trị không có
thành phố mà bạn đang tìm kiếm
Hệ thống tìm kiếm tích hợp sẽ lập chỉ mục các giá trị chuỗi
được lưu trữ trong cơ sở dữ liệu và tạo chỉ mục để truy
xuất nhanh. Thay vì tìm kiếm tất cả các giá trị của một chuỗi,
hệ thống tìm kiếm sẽ giữ một danh sách các từ có khóa của từng
cặp khóa-giá trị mà từ đó xuất hiện.
Chỉ mục tìm kiếm giúp truy xuất dữ liệu một cách
hiệu quả khi chọn theo tiêu chí dựa trên các giá trị.
it@hcmus
Đề cương
dựa trên mảng kết hợp, là cấu trúc dữ liệu tổng quát hơn mảng Mảng kết hợp cho phép các giá trị
quát Khóa có thể là số nguyên, chuỗi, danh sách các giá trị, hoặc các loại
khác. Một ràng buộc quan trọng đối với các khóa là chúng phải là duy nhất
trong một
Khóa được sử dụng để tra cứu các giá trị và các giá trị đó có thể khác nhau tùy theo
loại. Có một số hạn chế thực tế về kích thước của các giá trị và những hạn chế đó
những hạn chế có thể khác nhau tùy theo việc triển khai.
Một số hạn chế của cơ sở dữ liệu khóa-giá trị, chẳng hạn như thiếu ngôn ngữ truy vấn, được giảm
thiểu bằng các tính năng bổ sung như công cụ tìm kiếm.
Cơ sở dữ liệu khóa-giá trị có khả năng mở rộng thiết kế dựa trên cả mô hình sao chép chủ-phụ và
không có chủ.
it@hcmus