Hướng dẫn tạo cơ sở dữ liêu nền địa lý năm 2024

Các phương pháp phân mảnh cơ sở dữ liệu áp dụng nhiều quy tắc khác nhau cho khóa phân mảnh để xác định nút chính xác cho một hàng dữ liệu cụ thể. Sau đây là các kiến trúc phân mảnh phổ biến.

Phân mảnh dựa trên phạm vi

Phân mảnh dựa trên phạm vi, hoặc phân mảnh linh hoạt, tách các hàng cơ sở dữ liệu dựa trên một phạm vi giá trị. Sau đó, nhà thiết kế cơ sở dữ liệu sẽ chỉ định một khóa phân mảnh cho phạm vi tương ứng. Ví dụ: nhà thiết kế cơ sở dữ liệu phân vùng dữ liệu theo chữ cái đầu tiên trong tên của khách hàng như sau.

Tên

Khóa phân mảnh

Bắt đầu bằng chữ cái từ A đến I

A

Bắt đầu bằng chữ cái từ J đến S

B

Bắt đầu bằng chữ cái từ T đến Z

C

Khi hệ thống ghi một hồ sơ khách hàng vào cơ sở dữ liệu, ứng dụng sẽ xác định chính xác khóa phân mảnh bằng cách kiểm tra tên khách hàng. Sau đó, ứng dụng sẽ khớp khóa với nút vật lý của khóa này và lưu trữ hàng dữ liệu trên máy đó. Tương tự, ứng dụng sẽ tiến hành khớp đảo ngược khi tìm kiếm một hồ sơ cụ thể.

Ưu và nhược điểm

Phân mảnh dựa trên phạm vi có thể gây quá tải dữ liệu trên một nút vật lý, tùy thuộc vào các giá trị dữ liệu. Trong ví dụ của chúng tôi, phân mảnh A (chứa tên bắt đầu bằng chữ cái từ A đến I) có thể chứa số lượng các hàng dữ liệu nhiều hơn, vượt xa phân mảnh C (chứa tên bắt đầu bằng chữ cái từ T đến Z). Tuy nhiên, quá trình này sẽ dễ triển khai hơn.

Phân mảnh băm

Phân mảnh băm chỉ định khóa phân mảnh cho mỗi hàng của cơ sở dữ liệu bằng một công thức toán học được gọi là hàm băm. Hàm băm lấy thông tin từ hàng và tạo ra một giá trị băm. Ứng dụng sử dụng giá trị băm làm khóa phân mảnh và lưu trữ thông tin trong các phân mảnh vật lý tương ứng.

Các nhà phát triển phần mềm áp dụng quá trình phân mảnh băm nhằm phân bổ đồng đều thông tin trong một cơ sở dữ liệu giữa vô số phân mảnh. Ví dụ: phần mềm tách hồ sơ khách hàng thành hai phân mảnh với giá trị băm khác nhau là 1 và 2.

Tên

Giá trị băm

John

1

Jane

2

Paulo

1

Wang

2

Ưu và nhược điểm

Mặc dù phân mảnh băm giúp phân bổ đồng đều dữ liệu giữa các phân mảnh vật lý, quá trình này không phân tách cơ sở dữ liệu dựa trên ý nghĩa của thông tin. Do đó, các nhà phát triển phần mềm có thể gặp khó khăn trong việc chỉ định lại giá trị băm khi bổ sung thêm các phân mảnh vật lý vào môi trường máy tính.

Phân mảnh thư mục

Phân mảnh thư mục sử dụng một bảng tra cứu để khớp thông tin cơ sở dữ liệu với các phân mảnh vật lý tương ứng. Bảng tra cứu cũng giống như một bảng trên trang tính, liên kết một cột cơ sở dữ liệu với một khóa phân mảnh. Ví dụ: sơ đồ sau đây trình bày một bảng tra cứu cho màu quần áo.

Màu

Khóa phân mảnh

Màu xanh lam

A

Màu đỏ

B

Màu vàng

C

Màu đen

D

Khi một ứng dụng lưu trữ thông tin quần áo trong cơ sở dữ liệu, ứng dụng này sẽ tham khảo bảng tra cứu. Nếu một chiếc váy có màu xanh lam, ứng dụng sẽ lưu trữ thông tin này trong phân mảnh tương ứng.

Ưu và nhược điểm

Các nhà phát triển phần mềm áp dụng phân mảnh thư mục bởi tính linh hoạt của quá trình này. Mỗi phân mảnh là một đại diện mang ý nghĩa của cơ sở dữ liệu và không bị phạm vi giới hạn. Tuy nhiên, phân mảnh thư mục sẽ gặp sự cố nếu bảng tra cứu chứa thông tin sai.

Phân mảnh dựa trên địa lý

Phân mảnh dựa trên địa lý phân tách và lưu trữ thông tin cơ sở dữ liệu theo vị trí địa lý. Ví dụ: một trang web cung cấp dịch vụ hẹn hò sử dụng cơ sở dữ liệu để lưu trữ thông tin khách hàng từ nhiều thành phố khác nhau như sau.

Tên

Khóa phân mảnh

John

California

Jane

Washington

Paulo

Arizona

Các nhà phát triển phần mềm dùng thành phố làm khóa phân mảnh. Họ lưu trữ thông tin của mỗi khách hàng trong các phân mảnh vật lý nằm ở các thành phố tương ứng.

Ưu và nhược điểm

Phân mảnh dựa trên địa lý cho phép các ứng dụng truy xuất thông tin nhanh hơn do khoảng cách giữa các phân mảnh và khách hàng đưa ra yêu cầu ngắn hơn. Quá trình này phát huy tốt hiệu quả nếu các mẫu hình truy cập dữ liệu chủ yếu dựa trên địa lý. Tuy nhiên, phân mảnh dựa trên địa lý cũng có thể dẫn đến sự phân bổ dữ liệu không đồng đều.