Key-value pair là gì? Tìm hiểu cặp khóa giá trị

Key-value pair là gì Tìm hiểu cặp khóa giá trị

Kho lưu trữ khóa-giá trị, hoặc cơ sở dữ liệu khóa-giá trị, là một loại chương trình phần mềm lưu trữ dữ liệu lưu trữ dữ liệu dưới dạng một tập hợp các số nhận dạng duy nhất, mỗi số có một giá trị liên kết. Ghép nối dữ liệu này được gọi là “cặp khóa-giá trị: key-value pair”. Giá trị nhận dạng duy nhất là “khóa” cho một mục dữ liệu và giá trị là dữ liệu đang được nhận dạng hoặc vị trí của dữ liệu đó.

Khóa có thể là bất kỳ thứ gì, tùy thuộc vào các hạn chế do phần mềm cơ sở dữ liệu áp đặt, nhưng nó cần phải là duy nhất trong cơ sở dữ liệu để không có sự mơ hồ khi tìm kiếm khóa và giá trị của nó. Giá trị có thể là bất kỳ thứ gì, bao gồm một danh sách hoặc một cặp khóa-giá trị khác. Một số phần mềm cơ sở dữ liệu cho phép bạn chỉ định kiểu dữ liệu cho giá trị.

Trong thiết kế cơ sở dữ liệu quan hệ truyền thống, dữ liệu được lưu trữ trong các bảng gồm các hàng và cột. Nhà phát triển cơ sở dữ liệu chỉ định nhiều thuộc tính của dữ liệu sẽ được lưu trữ trong bảng trả trước. Điều này tạo ra cơ hội đáng kể cho việc tối ưu hóa như nén dữ liệu và hiệu suất xung quanh việc tổng hợp và truy cập dữ liệu, nhưng cũng tạo ra một số tính không linh hoạt.

  Fractal đã huy động được 35 triệu đô để xây dựng thị trường NFT

Mặt khác, các cửa hàng khóa-giá trị thường linh hoạt hơn nhiều và cung cấp hiệu suất rất nhanh cho việc đọc và ghi, một phần là do cơ sở dữ liệu đang tìm kiếm một khóa duy nhất và đang trả về giá trị liên quan của nó thay vì thực hiện các tổng hợp phức tạp.

Cặp khóa-giá trị (key-value pair) có nghĩa là gì?

Cặp khóa-giá trị (key-value pair) là hai phần dữ liệu được liên kết với nhau. Khóa là một số nhận dạng duy nhất trỏ đến giá trị liên quan của nó và một giá trị là dữ liệu đang được nhận dạng hoặc một con trỏ đến dữ liệu đó.

Cặp khóa-giá trị (key-value pair) là cấu trúc dữ liệu cơ bản của kho khóa-giá trị (key-value store) hoặc cơ sở dữ liệu khóa-giá trị, nhưng các cặp khóa-giá trị (key-value pair) đã tồn tại bên ngoài phần mềm lâu hơn nữa. Danh bạ điện thoại là một ví dụ điển hình, trong đó khóa là tên người hoặc doanh nghiệp và giá trị là số điện thoại.

Hình ảnh ví dụ về Cặp khóa giá trị key-value pair
Hình ảnh ví dụ về Cặp khóa giá trị key-value pair

Dữ liệu giao dịch chứng khoán là một ví dụ khác về cặp khóa-giá trị. Trong trường hợp này, bạn có thể có một khóa được liên kết với các giá trị của mã chứng khoán, cho dù giao dịch là mua hay bán, số lượng cổ phiếu hay giá của giao dịch.

Ưu điểm của kho khóa-giá trị (key-value store)

Có một số lợi thế mà kho khóa-giá trị cung cấp so với cơ sở dữ liệu dựa trên hàng-cột truyền thống. Nhờ định dạng dữ liệu đơn giản mang lại tên cho nó, một kho lưu trữ khóa-giá trị có thể rất nhanh cho các hoạt động đọc và ghi. Và các kho lưu trữ giá trị khóa rất linh hoạt, một tài sản có giá trị trong lập trình hiện đại khi chúng tôi tạo ra nhiều dữ liệu hơn mà không có cấu trúc truyền thống.

  Các sàn giao dịch tiền điện tử ở Ấn Độ vô hiệu hóa UPI

Ngoài ra, các kho lưu trữ khóa-giá trị không yêu cầu trình giữ chỗ như “null” cho các giá trị tùy chọn, vì vậy chúng có thể có các yêu cầu lưu trữ nhỏ hơn và chúng thường chia tỷ lệ gần như tuyến tính với số lượng nút.

Các trường hợp sử dụng cơ sở dữ liệu khóa-giá trị (Key-value database)

Những ưu điểm được liệt kê ở trên tự nhiên cho phép một số trường hợp sử dụng phổ biến đối với cơ sở dữ liệu khóa-giá trị.

  • Các ứng dụng web có thể lưu trữ thông tin chi tiết về phiên người dùng và tùy chọn trong kho khóa-giá trị. Tất cả thông tin đều có thể truy cập được thông qua khóa người dùng và các cửa hàng khóa giá trị tự cho vay để đọc và ghi nhanh.
  • Các đề xuất và quảng cáo theo thời gian thực thường được cung cấp bởi các cửa hàng có giá trị quan trọng vì các cửa hàng có thể nhanh chóng truy cập và đưa ra các đề xuất hoặc quảng cáo mới khi khách truy cập web di chuyển khắp một trang web.
  • Về mặt kỹ thuật, kho lưu trữ khóa-giá trị thường được sử dụng để lưu vào bộ nhớ đệm dữ liệu trong bộ nhớ nhằm tăng tốc ứng dụng bằng cách giảm thiểu việc đọc và ghi vào các hệ thống dựa trên đĩa chậm hơn. Hazelcast là một ví dụ về công nghệ cung cấp kho lưu trữ giá trị-khóa trong bộ nhớ để truy xuất dữ liệu nhanh chóng.
  Kẻ tấn công rút 182 triệu đô la từ giao thức Beanstalk Stablecoin

Kho khóa-giá trị phân tán

Kho khóa-giá trị phân tán được xây dựng dựa trên những ưu điểm và trường hợp sử dụng được mô tả ở trên bằng cách cung cấp chúng trên quy mô lớn. Một kho lưu trữ khóa-giá trị phân tán được xây dựng để chạy trên nhiều máy tính làm việc cùng nhau và do đó cho phép bạn làm việc với các tập dữ liệu lớn hơn vì nhiều máy chủ có nhiều bộ nhớ hơn hiện lưu giữ dữ liệu.

Bằng cách phân phối cửa hàng trên nhiều máy chủ, bạn có thể tăng hiệu suất xử lý. Và nếu bạn tận dụng sao chép trong kho giá trị-khóa được phân phối của mình, bạn sẽ tăng khả năng chịu lỗi của nó.

Hazelcast là một ví dụ về công nghệ cung cấp kho giá trị khóa phân tán để triển khai quy mô lớn hơn. Kiểu dữ liệu “IMap” trong Hazelcast, tương tự như kiểu “Map” trong Java, là một kho khóa-giá trị được lưu trữ trong bộ nhớ. Không giống như kiểu Bản đồ Java, Hazelcast IMap được lưu trữ trong bộ nhớ theo cách phân tán trên RAM chung trong một cụm máy tính, cho phép bạn lưu trữ nhiều dữ liệu hơn có thể trên một máy tính.

Điều này giúp bạn tra cứu nhanh với tốc độ trong bộ nhớ trong khi vẫn giữ được các khả năng quan trọng khác như tính khả dụng và bảo mật cao.

Theo: hazelcast

Khuyến cáo: Thông tin trên bài viết này chỉ mang tính tham khảo, không có bất kỳ lời khuyên nào về mua bán, đầu tư. Bạn hãy tự nghiên cứu trước khi thực hiện bất kỳ hình thức đầu tư nào.

Nội dung đề xuất