2013-03-04 43 views
14

Loại dữ liệu nào facebook sử dụng để lưu trữ userid, loại dữ liệu tốt nhất cho hiệu suất trường và khả năng mở rộng như thế nào.Kiểu dữ liệu của facebook userid

Nếu sử dụng int 4 byte thì tôi đoán nó không đủ lớn, nếu 8 byte int thì cách gán số ngẫu nhiên cho mỗi người dùng hoặc tương tự cho chuỗi.

Vì vậy, cách tốt nhất để cung cấp cho người dùng một id ngẫu nhiên về độ dài sửa lỗi, giữ khả năng mở rộng và hiệu suất là gì?

Trả lời

11

Câu hỏi hay. ID Facebook có thể dẫn đến các vấn đề cũng như ID Tweet. Cả hai đều vượt quá phạm vi số nguyên 32 bit. Tùy thuộc vào ngôn ngữ lập trình cụ thể và mục đích (ví dụ: cơ sở dữ liệu, mã, v.v.) bạn có thể muốn sử dụng phao hoặc kép nhưng trong kinh nghiệm của tôi, chúng đúc thành chuỗi là thỏa đáng.

Trong MySQL, như được gắn thẻ, được cung cấp là loại dữ liệu BIGINT, đủ lớn để lưu trữ các ID này dưới dạng số. Phần khó khăn là khi bạn đọc các giá trị này và xử lý chúng trong mã chương trình của bạn. Những người lớn hơn mức tối đa cho phép bởi ngôn ngữ lập trình/kiến ​​trúc hệ thống sẽ gây ra lỗi hoặc cắt ngắn, dẫn đến sự không thống nhất.

Nếu bạn muốn sử dụng ID lớn có độ dài cố định trong MySQL, cách tốt nhất là sử dụng loại CHAR và định dạng HEX cho ví dụ: hoặc bạn có thể sử dụng định dạng UUID.

Các vấn đề liên quan