nếu chỉ sử dụng như 1 field bth và đánh index thì key của row đó vẫn dùng id tăng dần thì chúng ta lại dính lại vòng lặp ID generator tuần tự.
thuật snowflake hay sonyflake được thiết kế để nó làm khóa chính của bảng.
có 1 vài lý do để mình hoặc bạn có thể tin rằng id đó là duy nhất
Trong Snowflale được chia thành 4 phần trong đó có timestamp được lưu dưới dạng milliseconds, vậy nếu 1 millisecond bạn chỉ nhận 1 request, tức 1000 reuquest/s thì khả năng trùng đã ~0
worker_id giả sử lượng request của bạn lớn(request lớn vậy chắc chắn cũng 5-7 sever cùng chịu tải) thì worker_id sẽ là phần làm id của bạn giảm khả năng trùng xuống rất nhiều.
trong trường hợp bạn có 1 datacenter và 5 worker. thì số id có thể tạo ra cho bạn trong 1 milliseconds là 4096 * 5 = 20480 (đây là lượng request siêu siêu lớn)
mysql không make sure cho bạn, Snowflale sẽ make sure cho bạn trong trường hợp lượng request bạn đang xử lý nhỏ hơn con số mình đưa ra.
Với các hệ thống phân tán đủ lớn sẽ có thêm nhiều datacenter đặt tại nhiều nơi/quốc gia, điều này làm tăng thêm khả năng tạo ra các ID duy nhất lên nhiều lần.
mình nghĩ không giải quyết đc vấn đề, vì tốc độ chạy của 1 request sẽ phụ thuộc vào nhiều yếu tố như băng thông, cache, ... và không bất biến. Ví dụ server A lấy dữ liệu xong cache lại, lần đầu chậm nhưng các lần sau sẽ nhanh, kiểu vậy
Bạn tìm hiểu về từ khóa sso (Single Sign-On) nhé.
Tạo whitelist token => lưu, check token trong database và replace token mới ở mỗi lần login. Xóa khi logout.
Có thể sử dùng database hiện tại hoặc noSQL database như redis (mình đang sài).
Không biết là ban có viết tiếp phần 2 hay không nhưng hiện tại thì mình chưa thấy phần gắn or liên kết new "ID generator" vào database như nào ?
Mình giả định là mysql, lúc design database bạn có define ID là 1 field key hay unique không? Nếu có, thì làm sao để 'mysql' make sure rằng new id sẽ không bi trùng ? Hay là mình chỉ define ID là 1 index thôi ?
THẢO LUẬN
nếu chỉ sử dụng như 1 field bth và đánh index thì key của row đó vẫn dùng id tăng dần thì chúng ta lại dính lại vòng lặp ID generator tuần tự. thuật snowflake hay sonyflake được thiết kế để nó làm khóa chính của bảng. có 1 vài lý do để mình hoặc bạn có thể tin rằng id đó là duy nhất
trong trường hợp bạn có 1 datacenter và 5 worker. thì số id có thể tạo ra cho bạn trong 1 milliseconds là 4096 * 5 = 20480 (đây là lượng request siêu siêu lớn)
mysql không make sure cho bạn, Snowflale sẽ make sure cho bạn trong trường hợp lượng request bạn đang xử lý nhỏ hơn con số mình đưa ra.
Với các hệ thống phân tán đủ lớn sẽ có thêm nhiều datacenter đặt tại nhiều nơi/quốc gia, điều này làm tăng thêm khả năng tạo ra các ID duy nhất lên nhiều lần.
@NgocPH Bác check tin nhắn giúp tui nhé
độ dịch chuyển lệch trái = 3 "Wlfk vr fxd fklhx fdr Cdwd yd Odylooh" ai giải hộ mình với ạ
@haialison bạn check thử có vào nhầm bên OpenAI ko á, bạn vào link này thử nè https://chat.openai.com/chat
à là do mình vào platform nên mới hiển thị như vậy, bh vào chat.openai.com thì vào đc rồi, cảm ơn bạn nhiều nhé.
@NgocPH
nó chỉ có mấy cái này thôi, chứ k có new chat
@haialison bạn chọn new chat rồi cứ nhắn yêu cầu bình thường thôi à, mình cũng chọn về công nghệ nhưng kêu nó làm thơ, làm nhạc vẫn được hết à
@NgocPH cho mình hỏi là khi chọn mục đích dùng thì chọn gì để nói chuyện bình thường với nó được nhỉ 🥲, mình lỡ ấn chọn cho coding rồi..
https://laraveldaily.com/post/process-big-db-table-with-chunk-method ở đây có giải thích nè
tks
tks
mình nghĩ không giải quyết đc vấn đề, vì tốc độ chạy của 1 request sẽ phụ thuộc vào nhiều yếu tố như băng thông, cache, ... và không bất biến. Ví dụ server A lấy dữ liệu xong cache lại, lần đầu chậm nhưng các lần sau sẽ nhanh, kiểu vậy
bác tạo được chưa
ngon ngon
Bạn tìm hiểu về từ khóa sso (Single Sign-On) nhé. Tạo whitelist token => lưu, check token trong database và replace token mới ở mỗi lần login. Xóa khi logout. Có thể sử dùng database hiện tại hoặc noSQL database như redis (mình đang sài).
@vietnt đúng rồi, có một số lúc tui hỏi 2, 3 lần cùng 1 kiến thức ở những ngữ cảnh khác nhau, nó lại trả lời khác nhau
@NgocPH mà có vẻ con này còn cần train nhiều
có cách nào để custom cái popup biometric prompt ko b?
1 like👋 👋.
@Linhnef no probs