Replication ID là một giá trị duy nhất gắn với mỗi bảng ghi, thường nó phục vụ trong việc đồng bộ dữ liệu.
Replication ID nó còn giúp dữ liệu bảo mật hơn khi chạy qua môi trường intertnet bởi giá trị giá trị khóa chính là dạng số thì việc dò tìm dễ dàng hơn thay vì nó sinh ra dạng Guid
Ví dụ 1 dạng Guid 0128C25A-4B76-423C-8B9D-72FC3BAAE45C
Khi viết câu where trên web sẽ như sau
dulieu.aspx?id=0128C25A-4B76-423C-8B9D-72FC3BAAE45C
Khi đó code server sẽ tìm sql:
SELECT * FROM Table1 WHERE (((ID)={guid {0128C25A-4B76-423C-8B9D-72FC3BAAE45C}}));
Tại sao nó bảo mật hơn dạng số, bởi ví dụ ta có mã hồ sơ tra qua web với id=145
dulieu.aspx?id=145
Thì người dùng dễ đoán là có thể id=146 hay 144 đang tồn tại trong dữ liệu.
Replication trong Access không còn được hỗ trợ mạnh mẽ trong các phiên bản mới (từ Access 2013 trở đi), vì Microsoft đã chuyển sang các giải pháp khác như SQL Server cho việc đồng bộ hóa dữ liệu.
Nhưng vẫn còn ứng dụng rất hay khi sử dụng để bảo mật hay đồng bộ dữ liệu.
Sau đây bạn hãy làm 1 ví dụ nhỏ về Replication ID
Thiết kế 1 table có cấu trúc như sau
Mã: kiểu là autonumber , Fiels Size chọn Replication ID
Họ tên: kiểu text
Lương: number
Sau đó bạn tiến hành nhập liệu bạn sẽ thấy cột Mã tự động sinh ra
Mã | Họ tên | Lương |
{0128C25A-4B76-423C-8B9D-72FC3BAAE45C} | Trần A | 200.000 |
{438C4608-8114-4F69-A13E-2075D51B8A3A} | Lê C | 600.000 |
Khi sử dụng GUID làm khóa chính thay vì kiểu số (chẳng hạn như AutoNumber) trong Microsoft Access, hiệu suất bị ảnh hưởng đến tốc độ, nhưng các gã khổng lồ như Google, facebook.. đều dùng kiểu này.
GUID: Một GUID có kích thước 16 byte (128 bit) và thường được lưu trữ dưới dạng chuỗi 36 ký tự (bao gồm dấu "-"). Điều này làm cho nó lớn hơn rất nhiều so với một số nguyên (ví dụ kiểu Long trong Access, có kích thước 4 byte).
Số (AutoNumber): Kích thước của kiểu số thường nhỏ hơn, thường chỉ chiếm 4 byte đối với kiểu Long. Do đó, các bản ghi với khóa chính là số sẽ nhẹ hơn và dễ dàng xử lý hơn khi truy vấn, nhất là khi có lượng dữ liệu lớn.
GUID: Tạo một GUID yêu cầu tính toán để đảm bảo tính duy nhất toàn cầu. Quá trình này có thể chậm hơn so với việc tự động tăng một giá trị số. Nếu bạn sử dụng GUID làm khóa chính, hệ thống sẽ phải xử lý thêm logic này, điều này có thể ảnh hưởng đến hiệu suất khi tạo nhiều bản ghi.
Số (AutoNumber): Các số tự động tăng đơn giản hơn và nhanh hơn khi tạo các bản ghi mới. Hệ thống chỉ cần tăng giá trị số lên 1 cho mỗi bản ghi mới.
GUID: Vì GUID là một chuỗi dài và không có thứ tự liên tiếp (so với các số tự động tăng), việc tìm kiếm hoặc sắp xếp theo một cột GUID có thể chậm hơn, đặc biệt khi bảng chứa lượng dữ liệu lớn. Điều này là do các chỉ mục (indexes) trên cột GUID cần phải xử lý các giá trị chuỗi dài thay vì số nguyên.
Số (AutoNumber): Truy vấn và tìm kiếm theo khóa chính là số thường nhanh hơn vì chúng có kích thước nhỏ hơn và thứ tự tăng dần. Điều này giúp các chỉ mục dễ dàng và nhanh chóng hơn trong việc tìm kiếm, sắp xếp và truy vấn dữ liệu.
GUID: Một ưu điểm của GUID là tính duy nhất toàn cầu, giúp nó phù hợp với các hệ thống phân tán hoặc khi bạn cần đảm bảo rằng giá trị khóa chính không bị trùng lặp, ngay cả khi dữ liệu được tạo ở nhiều nơi khác nhau. Tuy nhiên, vì GUID không có thứ tự tăng dần, việc truy vấn có thể không hiệu quả như với các giá trị số liên tiếp.
Số (AutoNumber): Các số tự động tăng có thứ tự liên tiếp, giúp ích trong việc sắp xếp và truy vấn nhanh chóng. Tuy nhiên, nó có thể gây vấn đề về trùng lặp khi bạn làm việc trong môi trường phân tán hoặc cần đảm bảo tính duy nhất toàn cầu.
GUID: Vì kích thước của GUID lớn hơn, nó sẽ chiếm nhiều không gian hơn trong cơ sở dữ liệu. Điều này có thể ảnh hưởng đến không gian lưu trữ và hiệu suất tổng thể của cơ sở dữ liệu khi có số lượng lớn bản ghi.
Số (AutoNumber): Các số có kích thước nhỏ hơn, do đó sẽ tiết kiệm không gian lưu trữ hơn khi bạn có nhiều bản ghi trong cơ sở dữ liệu.
GUID thích hợp khi bạn cần đảm bảo tính duy nhất toàn cầu và trong các hệ thống phân tán, nhưng với chi phí về hiệu suất và lưu trữ.
Số (AutoNumber) thích hợp cho các trường hợp cơ sở dữ liệu không yêu cầu tính duy nhất toàn cầu và có yêu cầu về tốc độ truy vấn và tiết kiệm không gian lưu trữ.
Vì vậy, nếu cơ sở dữ liệu của bạn có yêu cầu về hiệu suất và bạn không cần phải đảm bảo tính duy nhất toàn cầu, kiểu số (AutoNumber) sẽ là lựa chọn tốt hơn về mặt tốc độ.
Nếu bạn làm phần mềm quản lý chuyên sâu bạn cần hiểu và nắm kỹ về Replication ID trong MS Access ? hãy cùng tôi trải nghiệm nhé !