You are on page 1of 38

Machine Translated by Google

BỘ PHẬN HỆ THỐNG THÔNG TIN

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

Kho khóa-giá trị là gì?

Từ mảng đến cơ sở dữ liệu giá trị khóa

Các tính năng thiết yếu của cơ sở dữ liệu giá

trị khóa Khóa: Nhiều hơn các mã định danh


Tính bảo mật cao @NTMTHU@FIT-HCMUS
vô nghĩa Giá trị: Chỉ lưu trữ bất kỳ dữ liệu nào

bạn muốn Tóm tắt

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 2
Machine Translated by Google

it@hcmus
Đề cương

Kho khóa-giá trị là gì?

Từ mảng đến cơ sở dữ liệu giá trị khóa

Các tính năng thiết yếu của cơ sở dữ liệu giá

trị khóa Khóa: Nhiều hơn các mã định danh


Tính bảo mật cao @NTMTHU@FIT-HCMUS
vô nghĩa Giá trị: Chỉ lưu trữ bất kỳ dữ liệu nào

bạn muốn Tóm tắt

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 3
Machine Translated by Google

Cửa hàng khóa-giá trị là gì?


it@hcmus

“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)

Tính bảo mật cao @NTMTHU@FIT-HCMUS


Cơ sở dữ liệu NoSQL đơn giản nhất
Bảng băm đơn giản
Liên kết mảng
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 các
giá trị của nó (Bộ sưu tập cặp khóa-giá trị)
Chìa khóa duy nhất trong bộ sưu tập

4
Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 4


Machine Translated by Google

Cửa hàng khóa-giá trị là gì?


it@hcmus

Tính bảo mật cao @NTMTHU@FIT-HCMUS

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 5
Machine Translated by Google

it@hcmus
Đề cương

Kho khóa-giá trị là gì?

Từ mảng đến cơ sở dữ liệu giá trị khóa

Các tính năng thiết yếu của cơ sở dữ liệu giá

trị khóa Khóa: Nhiều hơn các mã định danh


Tính bảo mật cao @NTMTHU@FIT-HCMUS
vô nghĩa Giá trị: Chỉ lưu trữ bất kỳ dữ liệu nào

bạn muốn Tóm tắt

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 6
Machine Translated by Google

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.

Các giá trị đều có cùng loại.

Tính bảo mật cao @NTMTHU@FIT-HCMUS Nhược điểm:


Thông thường trong các • Chỉ số chỉ có thể là số nguyên.
ngôn ngữ lập trình là sử dụng số 0 • các giá trị của anh ấy đều phải giống nhau
thay vì số 1 làm phần tử đầu tiên
kiểu.
của mảng.

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ó

Quản lý cơ sở dữ liệu hiện đại


7
©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS
Machine Translated by Google

it@hcmus Từ mảng đến cơ sở dữ liệu giá trị khóa

Mảng kết hợp: Bắt đầu quá trình huấn luyện


Mảng kết hợp là một cấu trúc dữ liệu, giống như mảng, nhưng không bị hạn chế trong việc sử dụng số

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

Mảng kết hợp có nhiều tên khác nhau,


bao gồm từ điển, bản đồ, bản đồ băm,
bảng băm và bảng ký hiệu.

Mảng kết hợp có một số đặc điểm của mảng nhưng có


ít ràng buộc hơn về khóa và giá trị

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS
số 8
Machine Translated by Google

it@hcmus Từ mảng đến cơ sở dữ liệu giá trị khóa

Bộ nhớ đệm: Thêm bánh răng vào xe đạp Cơ sở dữ

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ở

Tính bảo mật cao @NTMTHU@FIT-HCMUS


dữ liệu. Bộ đệm trong bộ nhớ là một mảng kết hợp.

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

PhD. Nguyễn Trần Minh Thư – Khoa IS


9
Machine Translated by Google

it@hcmus
Từ mảng đến cơ sở dữ liệu giá trị khóa

Cơ sở dữ liệu khóa-giá trị trong bộ nhớ và trên đĩa: Từ xe đạp đến


Xe cơ giới

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.

Yêu cầu thiết kế duy nhất của cơ sở dữ liệu


khóa-giá trị là mỗi giá trị có một mã định
danh duy nhất ở dạng khóa.
Khóa phải là duy nhất trong không gian tên được xác
định bởi cơ sở dữ liệu khóa-giá trị. Không gian tên có
thể được gọi là nhóm, cơ sở dữ liệu hoặc một số thuật
ngữ khác biểu thị tập hợp các cặp khóa-giá trị
Khóa của cơ sở dữ liệu khóa-giá trị phải là duy nhất trong một không gian tên.

Quản lý cơ sở dữ liệu hiện đại

©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 10


Machine Translated by Google

it@hcmus
Đề cương

Kho khóa-giá trị là gì?

Từ mảng đến cơ sở dữ liệu giá trị khóa

Các tính năng thiết yếu của cơ sở dữ liệu giá

trị khóa Khóa: Nhiều hơn các mã định danh


Tính bảo mật cao @NTMTHU@FIT-HCMUS
vô nghĩa Giá trị: Chỉ lưu trữ bất kỳ dữ liệu nào

bạn muốn Tóm tắt

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 11
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus Cơ sở dữ liệu

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

độ Khả năng mở rộng

Tính bảo mật cao @NTMTHU@FIT-HCMUS

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 12
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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à
tất cả chúng đều có chung ba tính năng thiết yếu: Đơn giản:

Dù sao thì ai cũng cần các mô hình dữ liệu phức tạp?

Tính bảo mật cao @NTMTHU@FIT-HCMUS

Cơ sở dữ liệu giá trị chính

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 13
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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: 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ữ

liệu đơn giản Cú pháp thao tác dữ liệu rất đơn


giản Khi bạn chỉ xác định tên không gian tên và khóa, cơ sở dữ liệu khóa-giá t
sẽ trả về giá trị liên quan

Tính bảo mật cao @NTMTHU@FIT-HCMUS


Khi bạn muốn cập nhật giá trị liên quan đến một khóa, bạn chỉ định
không gian tên, khóa và giá trị mới.

Cơ sở dữ liệu khóa-giá trị linh hoạt và dễ tha thứ

Cơ sở dữ liệu giá trị chính

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 14
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


Cơ sở dữ liệu
it@hcmus

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

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 15
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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
Khi cơ sở dữ liệu khóa-giá trị sử dụng tất cả bộ nhớ được phân bổ cho nó, cơ sở dữ liệu sẽ cần
giải phóng một số bộ nhớ được phân bổ trước khi lưu trữ các bản sao của dữ liệu bổ sung

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)

Tính bảo mật cao @NTMTHU@FIT-HCMUS

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

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 16
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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:

Khả năng mở rộng: Theo kịp sự vội vã?


Cơ sở dữ liệu khóa-giá trị áp dụng các cách tiếp cận khác nhau để mở rộng quy mô
hoạt động đọc và ghi. Hãy xem xét hai lựa chọn:
Sao chép chính-phụ
Sao chép không chính chủ.
Tính bảo mật cao @NTMTHU@FIT-HCMUS

Sao chép chủ-nô lệ


Sao chép vô chủ

Quản lý cơ sở dữ liệu hiện


17
đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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à
tất cả đều có chung ba đặc điểm cơ bản:
Khả năng mở rộng: Theo kịp sự vội vã?

Mở rộng quy mô với Sao chép Master-Slave

Chấp nhận hoạt động đọc/ghi

Tính bảo mật cao @NTMTHU@FIT-HCMUS


• Ưu điểm của mô hình chủ-nô
là tính đơn giản.
• Mỗi nút trong cụm chỉ cần
liên lạc với một máy chủ
khác: máy chủ chính

Chấp nhận thao tác chỉ đọc

Sao chép chủ-nô lệ


Quản lý cơ sở dữ liệu hiện đại
18
©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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: Khả năng mở rộng: Theo kịp cơn sốt?


Mở rộng quy mô với Sao chép Master-Slave

• Bất lợi của chủ-nô


Tính bảo mật cao @NTMTHU@FIT-HCMUS
mô hình sao chép là nếu bản gốc bị lỗi
thì cụm không thể chấp nhận ghi. • Máy
chủ chính được biết đến như một điểm lỗi
duy nhất - tức là một thành phần duy
nhất trong hệ thống mà nếu bị lỗi thì
toàn bộ hệ thống sẽ bị lỗi hoặc ít nhất
là mất một dung lượng quan trọng, chẳng
hạn như chấp nhận ghi

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

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 19
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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: Khả năng mở rộng: Theo kịp cơn sốt?

Mở rộng quy mô bằng Masterless Replication

Tính bảo mật cao @NTMTHU@FIT-HCMUS


Chấp nhận hoạt động đọc/ghi

Sao chép vô chủ


Quản lý cơ sở dữ liệu hiện

đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS


20
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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: Khả năng mở rộng: Theo kịp cơn sốt?

Mở rộng quy mô bằng Masterless Replication

Tính bảo mật cao @NTMTHU@FIT-HCMUS

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

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 21
Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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à
tất cả đều có chung ba đặc điểm cơ bản:
Khả năng mở rộng: Theo kịp sự vội vã?

Mở rộng quy mô bằng Masterless Replication

Tính bảo mật cao @NTMTHU@FIT-HCMUS


Trong mô hình sao chép không có bản gốc,

không có một máy chủ nào có bản sao chính của

dữ liệu đã cập nhật, vì vậy không có máy chủ

nào có thể sao chép dữ liệu của nó sang tất cả


các máy chủ khác.

Thay vào đó, các máy chủ trong mô hình sao

chép không có chủ sẽ hoạt động theo nhóm để

giúp đỡ các máy chủ lân cận.

Cụm tám máy chủ trong cấu hình vòng

Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 22


Machine Translated by Google

Các tính năng thiết yếu của khóa-giá trị


it@hcmus
Cơ sở dữ liệu
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à
tất cả đều có chung ba đặc điểm cơ bản:
Khả năng mở rộng: Theo kịp sự vội vã?

Mở rộng quy mô bằng Masterless Replication

Tính bảo mật cao @NTMTHU@FIT-HCMUS


Quản trị viên cơ sở dữ liệu có

thể định cấu hình cơ sở dữ liệu khóa-


giá trị để giữ một số lượng cụ thể
bản sao.

Một cụm tám máy chủ trong cấu hình vòng


có hệ số sao chép là 4
Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 23


Machine Translated by Google

it@hcmus
Đề cương

Kho khóa-giá trị là gì?

Từ mảng đến cơ sở dữ liệu giá trị khóa

Các tính năng thiết yếu của cơ sở dữ liệu giá

trị khóa Khóa: Nhiều hơn các mã định danh


Tính bảo mật cao @NTMTHU@FIT-HCMUS
vô nghĩa Giá trị: Chỉ lưu trữ bất kỳ dữ liệu nào

bạn muốn Tóm tắt

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 24
Machine Translated by Google

Chìa khóa: Hơn cả vô nghĩa


it@hcmus
Số nhận dạng
Khóa được sử dụng để xác định, lập chỉ mục hoặc tham chiếu đến một

giá trị trong cơ sở dữ liệu giá trị khóa.

Thuộc tính cơ bản của khóa là nó phải là duy nhất

trong một không gian tên

Điều này làm cho các phím nghe có vẻ khá đơn


giản NHƯNG….
Tính bảo mật cao @NTMTHU@FIT-HCMUS

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ị?

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 25
Machine Translated by Google

Chìa khóa: Hơn cả vô nghĩa


it@hcmus
Số nhận dạng

Làm thế nào để xây dựng một khóa?

Bảo mật cao


@NTMTHU@FIT-HCMUS
Cơ sở dữ liệu giá trị chính
Bạn có thể đã sử dụng bộ đếm
hoặc chuỗi để tạo khóa
Cơ sở dữ liệu khóa-giá trị không
có cấu trúc bảng tích hợp
Việc sử dụng các khóa vô nghĩa trong
thiết kế cơ sở dữ liệu quan hệ được coi Không có bàn thì không có
là một cách thực hành tốt. cột. Không có cột nên không có
cách nào để biết giá trị là gì
Khóa chính không nên thay đổi. ngoại trừ khóa

Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 26


Machine Translated by Google

Chìa khóa: Hơn cả vô nghĩa


it@hcmus
Số nhận dạng

Làm thế nào để xây dựng một khóa?

Ví dụ về ứng dụng giỏ hàng sử dụng cơ sở dữ


liệu khóa-giá trị với các khóa vô nghĩa:
một giỏ hàng được xác định theo
số 12387 có một mặt hàng tên là 'SKU

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

mắt là xác định ai là người sở hữu xe

CustName[12387] = 'Katherine Smith' hàng, nhưng bạn có thể thấy rằng


cách tiếp cận này không khái quát hóa
tốt.

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.

Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 27


Chìa khóa: Hơn cả vô nghĩa
Machine Translated by Google

it@hcmus Số nhận dạng

Tính bảo mật cao @NTMTHU@FIT-HCMUS

28
Machine Translated by Google

Chìa khóa: Hơn cả vô nghĩa


it@hcmus
Số nhận dạng
Sử dụng khóa để định vị giá trị

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

Tính bảo mật cao @NTMTHU@FIT-HCMUS


Sử dụng các con số để xác định vị trí là một ý tưởng hay nhưng nó chưa đủ linh hoạt.
Bạn có thể sử dụng số nguyên, chuỗi ký tự và thậm chí cả danh sách đối tượng làm khóa nếu
muốn.

Sử dụng hàm ánh xạ từ số nguyên, chuỗi ký tự hoặc danh


sách đối tượng thành một chuỗi hoặc số duy nhất

Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 29


Machine Translated by Google

Chìa khóa: Hơn cả vô nghĩa


it@hcmus
Số nhận dạng
Sử dụng khóa để định vị giá trị

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

Chìa khóa để ánh xạ giá trị băm


(Hàm băm SHA-1 được sử dụng để tạo các giá trị băm)
Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 30


Machine Translated by Google

Chìa khóa: Hơn cả vô nghĩa


it@hcmus
Số nhận dạng
Sử dụng khóa để định vị giá trị

Tính bảo mật cao @NTMTHU@FIT-HCMUS


Cách tận dụng
điều này sẽ
giá trị băm là bắt đầu
không tận dụng
được giá trị băm. bằng cách chia giá
trị băm cho số

may chu

Tải ghi phải được phân bổ đều


trên tất cả tám máy chủ Một cụm tám máy chủ trong cấu
hình vòng có số modulo được chỉ định

Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 31


Machine Translated by Google

Chìa khóa: Hơn cả vô nghĩa


it@hcmus
Số nhận dạng
Sử dụng khóa để định vị giá trị

A73:CivCen:PDX:0715
Tính bảo mật cao @NTMTHU@FIT-HCMUS
Bộ A73 vào ngày 15 tháng 7

Trung tâm hành chính tại Portland, Oregon

Bất kỳ ai cố gắng mua cùng một chỗ ngồi đó trong cùng


một ngày sẽ tạo ra cùng một khóa.

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é..

Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 32


Machine Translated by Google

it@hcmus
Đề cương

Kho khóa-giá trị là gì?

Từ mảng đến cơ sở dữ liệu giá trị khóa

Các tính năng thiết yếu của cơ sở dữ liệu giá

trị khóa Khóa: Nhiều hơn các mã định danh


Tính bảo mật cao @NTMTHU@FIT-HCMUS
vô nghĩa Giá trị: Chỉ lưu trữ bất kỳ dữ liệu nào

bạn muốn Tóm tắt

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 33
Machine Translated by Google

Giá trị: Lưu trữ mọi dữ liệu


it@hcmus
Bạn muốn

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

'1232 NE River Ave, St. Louis, MO'

Tính bảo mật cao @NTMTHU@FIT-HCMUS


Ví dụ về lưu trữ danh sách cùng với khóa cho địa chỉ của khách hàng:

('1232 NE River Ave', 'St. Louis', 'MO')

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:

{'Street':'1232 NE River Ave','City':'St. Louis','State':'MO'}

Đ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

Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 34


Machine Translated by Google

Giá trị: Lưu trữ mọi dữ liệu


it@hcmus
Bạn muốn

(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

(2) Một số cơ sở dữ liệu khóa-giá trị kết hợp


chức năng tìm kiếm trực tiếp vào cơ sở dữ liệu

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ị.

Quản lý cơ sở dữ liệu hiện đại

©2021 Tiến sĩ. Nguyễn Trần Minh Thư – Khoa IS 35


Machine Translated by Google

it@hcmus
Đề cương

Kho khóa-giá trị là gì?

Từ mảng đến cơ sở dữ liệu giá trị khóa

Các tính năng thiết yếu của cơ sở dữ liệu giá

trị khóa Khóa: Nhiều hơn các mã định danh


Tính bảo mật cao @NTMTHU@FIT-HCMUS
vô nghĩa Giá trị: Chỉ lưu trữ bất kỳ dữ liệu nào

bạn muốn Tóm tắt

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 36
Machine Translated by Google

it@hcmus Tóm tắt


Cơ sở dữ liệu khóa-giá trị đơn giản và linh hoạt Chú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ị

chỉ mục hoặc khóa tổng

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

Tính bảo mật cao @NTMTHU@FIT-HCMUS


không gian tên

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ủ.

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 37
Machine Translated by Google

it@hcmus

Tính bảo mật cao @NTMTHU@FIT-HCMUS

Quản lý cơ sở dữ liệu hiện


đại ©2021 PhD. Nguyễn Trần Minh Thư – Khoa IS 38

You might also like