Trước khi vào vấn đề chính, hãy cùng mình tìm hiểu sơ lược về UUID là gì nhé! Tại sao phải sử dụng UUID thay cho khóa chính tự động tăng nếu như xây dựng các hệ thống lớn. Sau đó, áp dụng tạo UUID trong C# với một đoạn code ví dụ đơn giản.
UUID là gì?
UUID (Universally Unique Identifier), hay còn được gọi với tên là GUID (Globally Unique Identifier) là một giá trị duy nhất dài 128 bit. Bạn có thể hiểu nôm na rằng đó là 1 mã định danh duy nhất và không có thứ hai. Tỷ lệ bị trùng UUID không hoàn toàn bằng 0, nhưng gần 0 đến mức có thể bỏ qua.
UUID sẽ có dạng như sau: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
UUID có tác dụng gì?
Bây giờ, hãy giả sử bạn có 1 database trên SQL Server với 1 bảng bất kỳ nào đó. Trong bảng đó, khóa chính bạn đặt là kiểu INT tự động tăng. Có phải rằng bạn sẽ dễ dàng để biết được số bản ghi hiện có của bảng đó đúng không?
Tiếp tục với ví dụ trên. Khóa chính tự động tăng là một phương pháp tiện lợi, tuy nhiên đó là đối với cơ sở dữ liệu quy mô nhỏ. Trong SQL Server, kiểu INT có giá trị tối đa là 2,147,483,647. Con số này có thể sẽ không đủ đổi với những hệ thống có lượng dữ liệu lớn. Chuyển sang kiểu BIGINT sẽ giải quyết được vấn đề này (BIGINT có giá trị tối đa là 9,223,372,036,854,775,807).
Một vấn đề nữa, khóa chính tự động tăng cần nhiều byte để lưu hơn. Do đó sẽ không phù hợp đối với hệ thống có nhiều server, nhiều người truy cập cùng một lúc.
→ UUID ra đời nhằm khắc phục những điểm yếu trên. Nếu bạn xây dựng một hệ thống phục vụ với số lượng người dùng lớn, vận hành trên nhiều server hay chỉ không muốn lộ ID, hãy sử dụng UUID.
Tạo UUID trong C#
Ví dụ này mình thực hiện trên C# NET 6.0 và dùng Visual Studio 2022.
Mình sẽ có 1 đoạn code đơn giản như sau:
string uuid = Guid.NewGuid().ToString();
Console.WriteLine(uuid);
– Mình dùng phương thức tĩnh NewGuid() của lớp Guid để tiến hành tạo UUID (GUID).
– Lớp Guid sẽ nằm trong namespace System.
Sau khi chạy đoạn code trên thì chúng ta sẽ nhận được 1 chuỗi có dạng như dưới đây:
Để hiểu kỹ hơn về về phương thức tĩnh Guid.NewGuid, bạn có thể đọc kỹ hơn tại đây: Guid.NewGuid Method.
Lời kết
Qua bài viết trên, mình đã giới thiệu sơ lược về UUID, tại sao nên sử dụng nó và thực hiện tạo UUID trong ngôn ngữ lập trình C# với một ví dụ đơn giản. Trong một bài viết khác, mình sẽ làm rõ hơn về UUID nhé, cụ thể là cấu trúc, cách thức tạo ra một UUID.
Cuối cùng, gõ chữ cũng nhiều rồi, mình sẽ kết thúc bài viết tại đây và cũng cảm ơn bạn đã đọc hết bài viết này. À mà, nếu bạn có vấn đề cần giải đáp, hãy để lại bình luận hoặc nhắn tin qua biểu tượng messenger (ở góc phải bên dưới màn hình) cho mình nhé!