একটি জিইউডি 100% সময় কি অনন্য?


519

একটি জিইউডি 100% সময় কি অনন্য?

এটি একাধিক থ্রেডে অনন্য থাকবে?


264
না, 100% নয় ... খালি 99,9999999999999999999999999999999999999999999999999999999999999999999999999999999%;)
জোহানেস

52
প্রথমত, একটি জিইউডি অসীম নয়, যার অর্থ "সময়ের 100%" এর আক্ষরিক অর্থের অর্থ এই যে আপনি যতক্ষণ জিআইইডি তৈরি করতে থাকুন না কেন, এগুলি সর্বদা স্বতন্ত্র। এই ক্ষেত্রে না হয়. এছাড়াও, মূল বাস্তবায়ন হওয়ার পরে, যেখানে নেটওয়ার্কের অনন্য সিরিয়াল / আইডি / ম্যাকের মূল অংশ তৈরি করার জন্য ব্যবহৃত হয়েছিল, বিভিন্ন কারণে, একটি জিইউডি আর বিশ্বব্যাপী অনন্য নয় । এটি স্থানীয়ভাবে অনন্য। অন্য কথায়, আপনি যদি একটি একক মেশিনে জিইউইডিগুলি উত্পাদন করা চালিয়ে যান তবে আপনি সদৃশগুলি পাবেন না।
লাসে ভি কার্লসেন

36
@ জোরাক আমি সবেমাত্র নিচে নামতে বেছে নিয়েছি ...: পি
জোহানেস

403
প্রতিবার আমি জিইউইডি উত্পন্ন করার সময় আমার মনে হয় আমি মহাবিশ্ব থেকে কোনওটি চুরি করছি। কখনও কখনও আমি দুষ্ট লোকদের সম্পর্কে চিন্তা করি যারা তাদের প্রয়োজনের তুলনায় অনেক বেশি জিইউইউডি উত্পাদন করে এবং এই নষ্ট জিইউইডিগুলি এতটা নিঃসঙ্গ হয় যা আবার ব্যবহার করা হয় না বা জেনারেট করা হয় না ...
asavartsov

29
@ এস্যাভার্টসভ আমি ভেবেছি আপনার পছন্দসই নষ্ট হবে ^ _ ^
নবীন

উত্তর:


431

প্রতিটি উত্পন্ন জিইউইডি অনন্য হওয়ার গ্যারান্টিযুক্ত না হলেও, অনন্য কীগুলির মোট সংখ্যা (2 128 বা 3.4 × 10 38 ) এত বড় যে একই সংখ্যার দ্বিগুণ উত্পন্ন হওয়ার সম্ভাবনা খুব কম। উদাহরণস্বরূপ, পর্যবেক্ষণযোগ্য মহাবিশ্ব বিবেচনা করুন, যার মধ্যে প্রায় 5 × 10 22 তারা রয়েছে; প্রতিটি তারার 6.8 × 10 15 সর্বজনীনভাবে অনন্য জিইউডি থাকতে পারে।

উইকিপিডিয়া থেকে ।


জিইউইডি কীভাবে তৈরি করা হয় তার জন্য এই কয়েকটি নিবন্ধ রয়েছে (। নেট) এবং আপনি কীভাবে সঠিক পরিস্থিতিতে একই নির্দেশিকা পেতে পারেন।

https://ericlippert.com/2012/04/24/guid-guide-part-one/

https://ericlippert.com/2012/04/30/guid-guide-part-two/

https://ericlippert.com/2012/05/07/guid-guide-part-three/

​​


115
তাহলে কি তাদের ইউআইডি বলা হবে না? ;)
আরাফাঙ্গিয়ন

28
একটি জিইউইডি হ'ল মাইক্রোসফ্টের ইউআইডি মানকটির নির্দিষ্ট প্রয়োগ implementation সুতরাং, এটি উভয়। বিশ্বব্যাপী অনন্য আইডি বনাম সর্বজনীন অনন্য আইডি।
অ্যাডাম ডেভিস

40
প্রযুক্তিগতভাবে, এটি 2 ^ 128 নয়, কারণ একটি ভি 4 জিইউইডি-তে আপনার একটি হেক্স ডিজিট থাকে যা সর্বদা 4 হবে (কার্যকরভাবে 4 বিট অপসারণ করবে) এবং আরও দুটি বিটও সংরক্ষিত থাকবে। তবে, 2 ^ 122 টি বৈধ ভি 4 জিইউইডি এখনও প্রায় 5x10 ^ 36 ছেড়ে যায়, যা আমার জন্য করবে। এবং আপনার জন্যও প্রতিটি তারা প্রায় 1.1x10 ^ 14 জিইউডিএস গ্রহণ করতে হবে।
অ্যান্ড্রু শেলানস্কি

67
আপনি যদি আমার মত হন, তাহলে, তারপর আপনাকে জানাতে চাই যে চাইবেন 2^128আউট লিখিত আনুমানিক পরিমাণ: 34,028,236,692,093,846,346,337,460,743,177,000,000। পরিসংখ্যানগতভাবে, আপনি যদি প্রতি সেকেন্ডে 1000 টি জিইউডি গণনা করেন তবে নকলটি পেতে এখনও কয়েক মিলিয়ন বছর সময় লাগবে।
সত্তা

26
আমি এটি পড়তে মজার কথা ভেবেছিলাম তাই মজাদার ছেলেরা :) ত্রিশ চারটি আঠারো আঠারো দশ মিলিয়ন দু'শ তিরিশ ছয় নন ছয় নব্বই দুই অষ্টিলিয়ন নব্বইয়ের তিনটি সেপ্টিলিয়ন আটশ চল্লিশ ছয়টি যৌনমিলন তিনশ চল্লিশ ছয়টি কুইন্টিলিয়ন তিনশত সাতত্রিশ কোয়াড্রিলিয়ন চার শত ষাট ট্রিলিয়ন সাত শত চল্লিশ তিন বিলিয়ন এক শত সত্তর সাত মিলিয়ন
hjavaher

85

আপনি যদি একই জিইউডি মানগুলি থেকে ভীত হন তবে সেগুলির দুটি একে অপরের পাশে রাখুন।

Guid.NewGuid().ToString() + Guid.NewGuid().ToString();

আপনি যদি খুব ভৌতিক হয়ে থাকেন তবে তিনটি রাখুন।


63
3 জিইউইডি যুক্ত করার জন্য আপনাকে খুব, খুব, খুব, খুব ভৌতিক হতে হবে।
হার্সিমরানব

25
@ হার্সিমরনব না ... খুব, খুব, খুব, খুব ভৌতিক 6 টি জিইউইডি। প্যারানয়েড হ'ল একটি সংযুক্ত,
অতিমাত্রায়

35
@ সুমের আমি আপনার ভৌতিক

3
পছন্দ করুন 999999999আপনার ফর্মটিতে 9 9 এর পরে , আমি মনে করি পারানোইয়া আমার ব্রাউজারটি ছড়িয়ে দেবে।
সুমের

66

সহজ উত্তর হ্যাঁ।

রেমন্ড চেন জিইউইডিএস এবং কেন জিইউইডিগুলির সাবস্ট্রিংগুলি অনন্যরূপে নিশ্চিত নয় সে সম্পর্কে একটি দুর্দান্ত নিবন্ধ লিখেছিলেন । জিইউইডিগুলি কীভাবে উত্পন্ন হয় এবং স্বাতন্ত্র্যতা নিশ্চিত করতে তারা যে ডেটা ব্যবহার করে সেগুলি সম্পর্কে নিবন্ধটি কিছুটা গভীরতার দিকে যায় যা তারা কেন রয়েছে তা ব্যাখ্যা করার ক্ষেত্রে কিছুটা দৈর্ঘ্যে যেতে হবে :-)


23
আমি মনে করি চেনের নিবন্ধটি জিইউইডি প্রজন্মের অ্যালগরিদমের ভি 1 কে উল্লেখ করছে, এতে ম্যাক ঠিকানা এবং টাইমস্ট্যাম্প ব্যবহার করা হয়েছে - বর্তমান ভি 4 এর পরিবর্তে সিউডো-র্যান্ডম নম্বর ব্যবহার করে: এন.ইউইকিপিডিয়া
ব্যারেট

2
লিঙ্কটি মারা গেছে - 403 নিষিদ্ধ
দিন

এখানে লিঙ্কটি রয়েছে: devblogs.microsoft.com/oldnewthing/20080627-00/?p=21823
ও জোসেফ

39

পার্শ্ব নোট হিসাবে, আমি উইন্ডোজ এক্সপি-তে ভলিউম জিইউইডিগুলি নিয়ে খেলছিলাম। এটি তিনটি ডিস্ক এবং চৌদ্দ খণ্ড সহ একটি খুব অস্পষ্ট পার্টিশন বিন্যাস।

\\?\Volume{23005604-eb1b-11de-85ba-806d6172696f}\ (F:)
\\?\Volume{23005605-eb1b-11de-85ba-806d6172696f}\ (G:)
\\?\Volume{23005606-eb1b-11de-85ba-806d6172696f}\ (H:)
\\?\Volume{23005607-eb1b-11de-85ba-806d6172696f}\ (J:)
\\?\Volume{23005608-eb1b-11de-85ba-806d6172696f}\ (D:)
\\?\Volume{23005609-eb1b-11de-85ba-806d6172696f}\ (P:)
\\?\Volume{2300560b-eb1b-11de-85ba-806d6172696f}\ (K:)
\\?\Volume{2300560c-eb1b-11de-85ba-806d6172696f}\ (L:)
\\?\Volume{2300560d-eb1b-11de-85ba-806d6172696f}\ (M:)
\\?\Volume{2300560e-eb1b-11de-85ba-806d6172696f}\ (N:)
\\?\Volume{2300560f-eb1b-11de-85ba-806d6172696f}\ (O:)
\\?\Volume{23005610-eb1b-11de-85ba-806d6172696f}\ (E:)
\\?\Volume{23005611-eb1b-11de-85ba-806d6172696f}\ (R:)
                                     | | | | |
                                     | | | | +-- 6f = o
                                     | | | +---- 69 = i
                                     | | +------ 72 = r
                                     | +-------- 61 = a
                                     +---------- 6d = m

এটি নয় যে জিইউইডিগুলি খুব সমান হয় তবে সমস্ত জিইউইডিগুলির মধ্যে "মারিও" স্ট্রিং থাকে। এটা কি কাকতালীয় বা এর পিছনে কোন ব্যাখ্যা আছে?

এখন, জিইউইডি-তে অংশ 4 এর জন্য গুগল করার সময় আমি ভলিউম জিইউইডিএস সহ প্রায় 125.000 হিট পেয়েছি।

উপসংহার: যখন ভলিউম জিইউইডিগুলির কথা আসে তখন এগুলি অন্যান্য জিইউইডিগুলির মতো অনন্য নয়।


31
80 এর দশক থেকে সুপার মারিও ব্রস 3 বিজ্ঞাপন মনে আছে? "মারিও! মারিও! মারিও!" বিশ্বজুড়ে মহাবিশ্বের এলোমেলো অবস্থা কিছুটা বিচলিত করেছে।
এমজিওউইন

24
যদি আপনি ম্যানুয়ালি Office 2010 ইনস্টল করে থাকেন msiexecতবে এটি অফিস প্রোগ্রামের সমস্ত এমএসআই জিইউডি তালিকাভুক্ত করে। তারা সবাই বানান 0FF1CE। মাইক্রোসফ্টের মতো মনে হচ্ছে মোটামুটি ... আলগা ... কীভাবে জিইউইডি উত্পাদন করা যায় তার ব্যাখ্যা;)
মার্ক হেন্ডারসন

3
এই পার্টিশনটির জিইউইডিগুলি ২০০৯-১২-২০১৮ @ 2:47:45 অপরাহ্ন ইউটিসিতে একসাথে তৈরি করা হয়েছিল। এগুলি আপনার মেশিনে অনন্য, তবে নোড শনাক্তকারী হিসাবে "মারিও" লাগানো ভুল - এর অর্থ তারা আরএফসি -4122- অনুগত নয়। তেমনি, 0FF1CEজিইউডিগুলি আরএফসি -4122 এর "এনসিএস পিছনের সামঞ্জস্য" বিভাগের অধীনে আসে, তবে মাইক্রোসফ্ট এই মানগুলির জন্য এনসিএসের নিয়ম অনুসরণ করে এমনটি অসম্ভব।
স্টিফেন ক্লিয়ারি

16
আমি এটি জানতাম, নিন্টেন্ডো সুরক্ষা প্রশাসন এলোমেলো সংখ্যা জেনারেটরগুলির সাথে আপস করেছে।
মেটাগুরু

1
ইভিয়ান হতে পারে এটি একটি খনিজ জল তৈরির সংস্থার নাম হিসাবে শোনাচ্ছে (এই শোনা গেছে যে তারা বাজারে নেতৃত্ব দেয়) এই একই বল পার্কটি। পেছনের দিকে বানান নাইভকে দেয় :-)
মারিউজ

31

এটা হওয়া উচিত নয়। যাইহোক, .NET যখন ভারী বোঝার অধীনে থাকে তখন নকল গাইডগুলি পাওয়া সম্ভব। আমার কাছে দুটি ভিন্ন স্কেল সার্ভার ব্যবহার করে দুটি ভিন্ন ওয়েব সার্ভার রয়েছে। আমি ডেটাটি মার্জ করতে গিয়ে দেখতে পেলাম আমার কাছে 15 মিলিয়ন গাইড এবং 7 টি নকল রয়েছে।


1
এটি দুটি ভিন্ন মেশিনে কীভাবে সম্ভব? আমি ভেবেছিলাম জিইউইডির অংশটি কি মেশিনের নাম ছিল? (তর্ক করছেন না ... কেবল জিজ্ঞাসা করছেন)
জন ক্রুজ

8
এটি কেবল ভি 1 গাইডের ক্ষেত্রেই সত্য হবে যা জিইউইডি প্রজন্মের অংশ হিসাবে ম্যাক ঠিকানা (মেশিনের নাম নয়) ব্যবহার করে। ভি 4, যা ডি ফ্যাক্টো এসটিডি আর ম্যাক ঠিকানা ব্যবহার করে না তবে ছদ্ম র্যান্ডম নম্বর ব্যবহার করে number
Xender

14
Guid.NewGuidসর্বদা ভি 4 জিইউডি উত্পন্ন করে (এবং সর্বদা থাকে)। টিমের অবশ্যই চূড়ান্ত এনট্রপি উত্স ছিল।
স্টিফেন ক্লিয়ারি

1
এটি কি কখনও প্রতিলিপি করা হয়েছে? যদি এটি হয় তবে এটি একটি বিশাল সমস্যা।
Zyo

1
খুব বড় ডেটাসেট আমদানি করার সময় এখানে একই। প্রায় 10-100 মিলিয়ন থেকে আপনি গাইডের ডুপ্লিকেট পেতে পারেন। নিউগুইড
স্টিফান

28

হ্যাঁ, একটি জিইউডি সর্বদা অনন্য হওয়া উচিত। এটি হার্ডওয়্যার এবং সময় উভয়, এবং এটি অনন্যরূপে নিশ্চিত করার জন্য কয়েকটি অতিরিক্ত বিটের উপর ভিত্তি করে। আমি নিশ্চিত যে তাত্ত্বিকভাবে দুটি অভিন্ন ব্যক্তির সাথে সমাপ্ত হওয়া সম্ভব তবে বাস্তব-জগতের দৃশ্যে এটি অত্যন্ত অসম্ভব।

গাইডগুলির উপর রেমন্ড চেনের একটি দুর্দান্ত নিবন্ধ এখানে:

https://blogs.msdn.com/oldnewthing/archive/2008/06/27/8659071.aspx


5
এই নিবন্ধটি বরং পুরানো এবং জিইউইডিগুলির ভি 1 উল্লেখ করছে। ভি 4 হার্ডওয়ার / সময় ব্যবহার করে না বরং তার পরিবর্তে একটি এলোমেলোথ সংখ্যাটি ব্যবহার করে। en.wikipedia.org/wiki/Globally_unique_identifier#Algorithm
মনি Gandham

এই লিঙ্কটি ভাঙা হয়েছে
মার্সেল

এখানে লিঙ্কটি রয়েছে: devblogs.microsoft.com/oldnewthing/20080627-00/?p=21823
ও জোসেফ

23

গাইডগুলি পরিসংখ্যানগতভাবে অনন্য। একই গাইডটি উত্পন্ন করার জন্য দুটি পৃথক ক্লায়েন্টের প্রতিক্রিয়া হ'ল স্বল্প পরিমাণে (গাইড নির্দেশক কোডটিতে কোনও বাগ নেই বলে ধরে নেওয়া)। মহাজাগতিক রশ্মির কারণে এবং আজ ২ + ২ = ৫ সিদ্ধান্ত নেওয়ার কারণে আপনি আপনার প্রসেসরের গ্লাইচিং সম্পর্কেও চিন্তিত হতে পারেন।

নতুন গাইডগুলিকে বরাদ্দকারী একাধিক থ্রেড অনন্য মান পাবে, তবে আপনার উচিত হবে যে ফাংশনটি আপনি কল করছেন সেটি থ্রেড নিরাপদ। এটি কোন পরিবেশে?


19

এরিক লিপার্ট জিইউইডিএস সম্পর্কে একটি অত্যন্ত আকর্ষণীয় নিবন্ধ লিখেছেন।

ক্রম বিশ্বে 2 30 ব্যক্তিগত কম্পিউটার রয়েছে (এবং অবশ্যই প্রচুর হ্যান্ড-হেল্ড ডিভাইস বা নন-পিসি কম্পিউটিং ডিভাইসগুলির কমপিউটিং পাওয়ারের পরিমাণ কমবেশি রয়েছে তবে সেগুলি উপেক্ষা করতে দিন)। আসুন ধরে নেওয়া যাক আমরা বিশ্বের সমস্ত পিসিগুলিকে জিইউইডিগুলি তৈরির কাজে লাগিয়েছি; যদি প্রত্যেকে উত্পন্ন করতে পারে তবে বলুন, প্রতি সেকেন্ডে 2 20 টি জিইউইডি থাকলে কেবল প্রায় 2 72 সেকেন্ড পরে - একশত পঞ্চাশ ট্রিলিয়ন বছর - আপনার নির্দিষ্ট জিইউইডিটির সাথে সংঘর্ষ তৈরির খুব সম্ভাবনা রয়েছে chance এবং সংঘর্ষের প্রতিক্রিয়াগুলি কেবল ত্রিশ ট্রিলিয়ন বছর পরে বেশ ভাল।


28
... এবং তিনি পরবর্তী অনুচ্ছেদে অব্যাহত রেখেছেন: "তবে এটি একটি নির্দিষ্ট জিইউইডির সাথে সংঘর্ষের সন্ধান করছে [[...] সুতরাং আমরা যদি সেই বিলিয়ন পিসিগুলিকে 122-বিট-অব-র্যান্ডমনেস জিইউডি উত্পন্ন করার কাজ করে থাকি তবে সম্ভাবনা যে তাদের মধ্যে কোথাও দু'জনের কোথাও দু'টি সংঘর্ষ ঘটবে প্রায় 2 ^ 61 জিইউডি উত্পন্ন হওয়ার পরে এটি উচ্চতর হয়ে উঠবে Since যেহেতু আমরা ধরে নিচ্ছি যে প্রায় 2 ^ 30 মেশিনগুলি প্রতি সেকেন্ডে 2 ^ 20 জিইউডি করছে, তাই আমরা প্রায় 2 after পরে একটি সংঘর্ষের আশা করব 11 সেকেন্ড, যা প্রায় এক ঘন্টা "" (এবং অবশেষে তিনি ব্যাখ্যা করেছেন যে, অবশ্যই অনেকগুলি জিইউডি উত্পন্ন হয় না))
আরজান

16

তাত্ত্বিকভাবে, না, তারা অনন্য নয়। বারবার একটি অভিন্ন নির্দেশিকা তৈরি করা সম্ভব। তবে এটির সম্ভাবনা এত কম যে আপনি সেগুলি অনন্য বলে ধরে নিতে পারেন।

আমি এর আগে পড়েছি যে সম্ভাবনাগুলি এত কম যে আপনার সত্যিকারের অন্য কোনও কিছুর বিষয়ে চাপ দেওয়া উচিত - যেমন আপনার সার্ভারটি স্বতঃস্ফূর্তভাবে ঝাঁকানো বা আপনার কোডের অন্যান্য বাগ bu এটি হ'ল এটি অনন্য বলে মনে করুন এবং ডুপ্লিকেটগুলি "ধরা" দেওয়ার জন্য কোনও কোড তৈরি করবেন না - ঘটে যাওয়ার সম্ভাব্য কোনও কিছুর জন্য আপনার সময় ব্যয় করুন (যেমন কোনও কিছু) অন্য কিছু) ব্যয় করুন।

আমি আমার ব্লগ দর্শকদের (অ প্রযুক্তিগত পারিবারিক মেমবার্স) এর জন্য জিইউইডিগুলির কার্যকারিতা বর্ণনা করার চেষ্টা করেছি। সেখান থেকে (উইকিপিডিয়া মাধ্যমে), নকল জিইউডি তৈরির প্রতিকূলতা:

  • 1 2 2 ^ 128 এ
  • 340 আঞ্চলিক মধ্যে 1 (চিন্তা করবেন না, আন্ডকিলিয়ন কুইজে নেই)
  • 3.4 1 10 ^ 38 এ 1
  • 340,000,000,000,000,000,000,000,000,000,000,000,000 এ 1

1
আসলে, আমি 'এটি সম্পর্কে উদ্বিগ্ন না হওয়া' সম্পর্কে একমত নই, যদিও ভিন্ন অবস্থান থেকে: আপনি যদি কোনও জিআইডি সংঘর্ষ সনাক্ত করেন তবে আপনার আবেদনে কিছু ভুল হয়েছে। উদাহরণস্বরূপ, আমি আদর্শগতির জন্য জিইউইডি ব্যবহার করেছি এবং যখন কমান্ড দু'বার পাঠানো হয়েছে তখন একই সংঘর্ষ হয়েছে (একই জিইউইডির সাথে)।
কেনি হাং

9

কেউই এর সংঘটিত হওয়ার সম্ভাবনার প্রকৃত গণিতের উল্লেখ করে বলে মনে হচ্ছে না।

প্রথমে, ধরে নেওয়া যাক আমরা পুরো 128 বিট স্পেস ব্যবহার করতে পারি (গাইড ভি 4 কেবলমাত্র 122 বিট ব্যবহার করে)।

আমরা জানি যে nবাছাইগুলিতে নকল না পাওয়ার সাধারণ সম্ভাবনা হ'ল:

(1-1 / 2 128 ) (1-2 / 2 128 ) ... (1- (এন-1) / 2 128 )

যেহেতু 2 128 এর চেয়ে অনেক বড় n, আমরা এটি আনুমানিক করতে পারি:

(1-1 / 2 128 ) এন (এন -1) / 2

এবং যেহেতু আমরা ধরে নিতে পারি যে n0 এর থেকে অনেক বড়, আমরা এটি আনুমানিক করতে পারি:

(1-1 / 2 128 ) এন ^ 2/2

এখন আমরা এটি "গ্রহণযোগ্য" সম্ভাবনার সাথে সমান করতে পারি, আসুন 1% বলি:

(1-1 / 2 128 ) এন ^ 2/2 = 0.01

যা আমরা এর জন্য সমাধান করি nএবং পাই:

এন = স্কয়ার্ট (2 * লগ 0.01 / লগ (1-1 / 2 128 ))

যা ওল্ফ্রাম আলফা 5.598318 × 10 19 হতে পারে

এই সংখ্যাটিকে দৃষ্টিভঙ্গিতে রাখতে, 10000 মেশিন নিতে পারি, যার প্রত্যেকটিতে একটি 4 কোর সিপিইউ থাকে, 4 গিগাহার্টজ করে এবং গাইড তৈরি করতে 10000 চক্র ব্যয় করে আর কিছুই করে না। এরপরে এটি একটি নকল তৈরি করার আগে 111 বছর সময় নেয়।


আমি এই পোস্টে আপনার পোস্টটি অনুসরণ করে সম্পাদনা করেছি - দয়া করে আমার কোনও ভুল হলে সম্পাদনা করুন;)।
shA.t

হাই @ সিন, আমি আপনার প্রতিক্রিয়া সম্পাদনা করার ক্ষমতা রাখি কিন্তু আমি প্রথমে এটি প্রত্যাখ্যান করার সুযোগ পেতে চাইনি বলে বেছে নিয়েছি, আমি এক মাসের মধ্যেই আনুষ্ঠানিকভাবে এটি পরিবর্তন করতে পারব যদি আমি না করি ' আপনার কাছ থেকে শুনতে না। আমি মোটামুটি নিশ্চিত আপনার গণিত যদিও ভুল। 1% সুযোগ নির্ধারণের আসল সমীকরণটি হ'ল: ((2 ^ 128 - 1) / 2 ^ 128) ^ ((n (n-1)) / 2) = .01। আপনার অভিব্যক্তি ভুল। এটা ঠিক এন নয়। আপনি "এন" গাইড তৈরি করার সময় সমস্ত সংমিশ্রণ গণনা করার জন্য আপনার সি (এন, 2) (ওরফে (এন * (এন -1)) / 2) প্রয়োজন। আরও তথ্যের জন্য এখানে দেখুন
স্নিগ্ধতা

থ্যাঙ্কস সিন, আমিও এন ^
2/2

প্রতিটি একক সম্ভাব্য জিইউডি তৈরি করতে 1100 বছর সময় লাগবে এবং তারপরে একটি সদৃশ তৈরি হবে। একটি অনুলিপি অবশ্য সমস্ত সম্ভাব্য জিইউইডি তৈরি হওয়ার অনেক আগেই ঘটবে। আমি মনে করি আনুমানিক সময়সীমা জিইউইডি প্রজন্মের প্রক্রিয়াটি 'এলোমেলো' এর উপর নির্ভর করে।
জর্জি কে

@ জর্জেক আমার মনে হয় আপনি ভুল বুঝেছেন ... ডুপ্লিকেটের মুখোমুখি হওয়ার এক% সুযোগ পেতে 10000 মেশিনকে 111 বছর সময় লাগবে। তবে হ্যাঁ, এই গণিতটি অবশ্যই অনুমান করে যে র্যান্ডম জেনারেটরটি সম্পূর্ণ এলোমেলো।
সিনে

7

Http://www.guidgenerator.com/online-guid-generator.aspx থেকে

জিইউইডি কী?

জিইউইডি (বা ইউইউডি) হ'ল 'গ্লোবালি ইউনিক আইডেন্টিফায়ার' (বা 'সার্বজনীন ইউনিক আইডেন্টিফায়ার') এর সংক্ষিপ্ত রূপ। এটি একটি 128-বিট পূর্ণসংখ্যা নম্বর যা সংস্থানগুলি সনাক্ত করতে ব্যবহৃত হয়। জিইউইডি শব্দটি সাধারণত মাইক্রোসফ্ট প্রযুক্তিগুলির সাথে কাজ করা বিকাশকারীরা ব্যবহার করেন, অন্যদিকে ইউইউডি ব্যবহৃত হয়।

জিইউইডি কতটা অনন্য?

128-বিট যথেষ্ট বড় এবং প্রজন্মের অ্যালগরিদম যথেষ্ট অনন্য যে 1 সেকেন্ডে প্রতি 10,000,000,000 জিইউইডস তৈরি করা হলে ডুপ্লিকেটের সম্ভাবনা কেবল 50% হবে। অথবা যদি পৃথিবীর প্রতিটি মানুষ ,000০০,০০০,০০০ জিইউইডি তৈরি করে তবে কেবলমাত্র একটি নকলের সম্ভাব্যতা 50% থাকবে।


7
ডুপ্লিকেট হওয়ার 50% সম্ভাবনা কি ভয় পাওয়ার পক্ষে যথেষ্ট নয়?
ডিস্ক্লোজার

1
@ ডিস্ক্লোজার হ্যাঁ, যদি আপনার সিস্টেমগুলি প্রতি সেকেন্ডে 1 বিলিয়ন জিইউইডি উত্পাদন করে তবে তা ভয় দেখাতে যথেষ্ট। অত্যন্ত সম্ভাবনাময় ইভেন্টে আপনি এই পরিমাণটি তৈরি করছেন তারপরে কেবল দুটি
জিইউইড

5

আমি একটি সদৃশ GID অভিজ্ঞতা।

আমি ঝরঝরে রিসিপ্টস ডেস্কটপ স্ক্যানার ব্যবহার করি এবং এটি মালিকানাধীন ডাটাবেস সফ্টওয়্যার সহ আসে। সফ্টওয়্যারটির ক্লাউড বৈশিষ্ট্যে একটি সিঙ্ক রয়েছে এবং সিঙ্ক করার সময় আমি ত্রুটি পেতে থাকি। লগগুলিতে এক গ্যাণ্ডারটি দুর্দান্ত শব্দটি প্রকাশ করেছে:

"ত্রুটিগুলি::

আমি কিছুটা অবিশ্বাসের মধ্যে ছিলাম, তবে অবশ্যই যথেষ্ট, যখন আমি আমার স্থানীয় নেট ওয়ার্কস ডাটাবেসে কোনও উপায় খুঁজে পেয়েছি এবং সেই জিআইডি থাকা রেকর্ডটি মুছে ফেলেছিলাম, ত্রুটি ঘটতে থামিয়েছে।

সুতরাং আপনার প্রশ্নের উত্তর কাহিনী প্রমাণ সহ, না। একটি সদৃশ সম্ভব। তবে সম্ভবত এটি হওয়ার কারণটি সুযোগের কারণে নয়, তবে মানক অনুশীলনের কারণে কোনওভাবেই মেনে চলা হয়নি। (আমি ঠিক তেমন ভাগ্যবান নই) তবে আমি নিশ্চিত করে বলতে পারি না। এটি আমার সফ্টওয়্যার নয়।

তাদের গ্রাহক সমর্থন অত্যন্ত নম্র এবং সহায়ক ছিল, তবে তারা অবশ্যই এই সমস্যাটির আগে কখনও মুখোমুখি হয়নি কারণ তাদের সাথে ফোনে 3+ ঘন্টা থাকার পরেও তারা সমাধানটি খুঁজে পাননি। (এফডাব্লুআইডাব্লু, আমি ঝরঝরে দ্বারা খুব মুগ্ধ, এবং এই ত্রুটি, যদিও হতাশাব্যঞ্জক, তাদের পণ্য সম্পর্কে আমার মতামত পরিবর্তন না।)


19
বিশ্বাস করুন না আপনি একটি সদৃশ পেয়েছেন। সম্ভবত অন্য কিছু জড়িত ছিল, যেমন সংখ্যাটি সিঙ্ক প্রক্রিয়াতে সত্যই র্যান্ডম বা সমস্যা ছিল না, বা সিস্টেম দু'বার রেকর্ড করার চেষ্টা করেছিল etc.
ওড়াদ


4

যদি আপনার সিস্টেমের ঘড়িটি সঠিকভাবে সেট করা থাকে এবং চারপাশে মোড়ানো না থাকে এবং যদি আপনার এনআইসির নিজস্ব ম্যাক থাকে (যেমন আপনি একটি কাস্টম ম্যাক সেট করেননি) এবং আপনার এনআইসি বিক্রেতার ম্যাকগুলি পুনর্ব্যবহার করছে না (যা তারা করার কথা নয়) তবে যা ঘটেছে বলে জানা গেছে) এবং যদি আপনার সিস্টেমের জিইউইডি জেনারেশন ফাংশনটি যথাযথভাবে প্রয়োগ করা হয়, তবে আপনার সিস্টেমটি কখনই নকল জিআইডি উত্পন্ন করবে না।

পৃথিবীর প্রতিটি যারা জিইউইডি উত্পাদন করছে তারা যদি এই নিয়মগুলি অনুসরণ করে তবে আপনার জিইউডিগুলি বিশ্বব্যাপী অনন্য হবে।

অনুশীলনে, নিয়ম ভঙ্গকারীদের সংখ্যা কম, এবং তাদের জিইউইডিদের "পালানোর" সম্ভাবনা নেই। সংঘাতগুলি পরিসংখ্যানগতভাবে অসম্ভব।


11
এটি কেবল ভি 1 গাইডের ক্ষেত্রেই সত্য। ভি 4, যা ডি ফ্যাক্টো এসটিডি আর ম্যাক ঠিকানা ব্যবহার করে না তবে ছদ্ম র্যান্ডম নম্বর ব্যবহার করে number
পিটা.ও

1
"তারপরে আপনার সিস্টেমটি কখনই নকল জিইউডি উত্পন্ন করবে না" এমনকি আপনি যেমন বলছেন কোনও ভি 1 গাইডের জন্য যদি সমস্ত বিধি অনুসরণ করা হয় তবে আপনার সিস্টেমটি এখনও সদৃশ তৈরি করতে পারে। "বিরোধগুলি পরিসংখ্যানগতভাবে অসম্ভব" বলে উল্লেখ করলে আপনি নীচে আরও সঠিক are
নিক মেলড্রাম

3

একটি জিইউডি 100% সময় কি অনন্য?

গ্যারান্টিযুক্ত নয়, যেহেতু এক উত্পাদন করার বিভিন্ন উপায় রয়েছে। তবে, আপনি দুটি জিইউইডি তৈরির সুযোগটি অভিন্ন বলে গণনা করার চেষ্টা করতে পারেন এবং আপনি ধারণাটি পেতে পারেন: একটি জিইউইডিতে 128 বিট রয়েছে, সুতরাং, 2 টি 128 স্বতন্ত্র জিআইডি রয়েছে - জানা মহাবিশ্বের তারাগুলির চেয়ে অনেক বেশি। আরও তথ্যের জন্য উইকিপিডিয়া নিবন্ধটি পড়ুন ।


2

আরও সাধারণ অর্থে, এটি "জন্মদিনের সমস্যা" বা "জন্মদিনের প্যারাডক্স" হিসাবে পরিচিত। উইকিপিডিয়ায় উইকিপিডিয়া - জন্মদিনের সমস্যা : - এ বেশ সুন্দর ওভারভিউ রয়েছে

খুব রুক্ষ ভাষায়, পুলের আকারের বর্গমূলটি আপনি যখন সদৃশ হওয়ার 50% সম্ভাবনা আশা করতে পারেন তার মোটামুটি অনুমান। নিবন্ধটিতে পুলের আকারের সম্ভাব্যতা সারণী এবং 2 ^ 128 এর সারি সহ বিভিন্ন সম্ভাব্যতা রয়েছে। সুতরাং সংঘর্ষের 1% সম্ভাবনার জন্য আপনি এলোমেলোভাবে 2.6 * 10 ^ 12 12-বিট নম্বরগুলি বেছে নেওয়ার প্রত্যাশা করবেন। 50% সুযোগের জন্য 2.2 * 10 ^ 19 টি পিক দরকার হয়, যখন এসকিউআরটি (2 ^ 128) হয় 1.8 * 10 ^ 19।

অবশ্যই এটি সত্যই র্যান্ডম প্রক্রিয়ার আদর্শ ক্ষেত্রে case অন্যরা যেমন উল্লেখ করেছে, প্রচুর পরিমাণে এলোমেলো দিক রয়েছে - জেনারেটর এবং বীজ কতটা ভাল? এই প্রক্রিয়াটির সাথে সহায়তা করার জন্য যদি কিছু হার্ডওয়্যার সমর্থন থাকে তবে এটির পক্ষে আরও ভাল কিছু হবে যা বুলেট-প্রুফ হতে পারে তবে কিছুই ছদ্মবেশী বা ভার্চুয়ালাইজড করা যায়। আমার সন্দেহ হয় যে ম্যাকের ঠিকানা / সময়-স্ট্যাম্পগুলি আর সংযুক্ত না হওয়ার কারণ হতে পারে।


আমি মনে করি ম্যাক সমস্যাটি ছিল নাম প্রকাশ না করা। আমি বিশ্বাস করি যে কোনও ম্যাক ঠিকানা হিসাবে কোনও সনাক্তকারী যেমন কোনওভাবে বিপরীত হতে পারে তা ব্যবহার করা গোপনীয়তার উদ্বেগ ছিল। আমি বিশ্বাস করি হার্ডওয়ারে সত্যই র্যান্ডম খুব কঠিন? ক্লাউডফ্লেয়ার একটি ক্যামেরা এবং লাভা বাতিগুলির সারি ব্যবহার করে, তবে আমি মনে করি যে পদার্থবিজ্ঞানের সুনির্দিষ্ট বোঝার সাথে, এমনকি এটি এলোমেলো নয়? ক্লাউডফ্লেয়ার্স লাভা প্রদীপ আরএনজি
জেফ ব্লক

2

আরও ভাল ফলাফলের জন্য সবচেয়ে ভাল উপায় হ'ল টাইমস্ট্যাম্পের সাথে জিইউইডি সংযুক্ত করা (কেবল এটি অনন্য থাকে তা নিশ্চিত করার জন্য)

Guid.NewGuid().ToString() + DateTime.Now.ToString();

আপনি যদি একই দ্বিতীয়টিতে দুটি সংঘর্ষ পান?
ওয়াই হা লি

এটি সবচেয়ে খারাপ পরিস্থিতি তবে এখনও, আমরা একই সময়ে একই দুটি গাইড তৈরি করতে পারি না।
অদিত্যা সাঁই

কোথাও তারা যুক্তি দিয়েছিলেন যে উত্তরটি অনুলিপি করা উচিত এসও-তে, প্রশ্ন নয়, তবে আমি এখন এতটা নিশ্চিত নই ....
মার্সেল

1

জিইউইডি অ্যালগরিদমগুলি সাধারণত ভি 4 জিইউইডি স্পেসিফিকেশন অনুযায়ী প্রয়োগ করা হয় যা মূলত সিউডো-এলোমেলো স্ট্রিং। দুঃখের বিষয়, এগুলি "সম্ভাব্য অ-অনন্য" বিভাগে চলে আসে উইকিপিডিয়া থেকে আসে (এত লোক কেন এই বিটটি উপেক্ষা করে তা আমি জানি না): "... অন্যান্য জিইউইডি সংস্করণগুলির গ্যারান্টিযুক্ত স্বতন্ত্রতা থেকে শুরু করে আলাদা আলাদা বৈশিষ্ট্য এবং সম্ভাবনা রয়েছে সম্ভবত অ-স্বতন্ত্রতা। "

ভি 8 এর জাভাস্ক্রিপ্টের সিউডো-এলোমেলো বৈশিষ্ট্যগুলি Math.random()স্বতন্ত্রতার সাথে মারাত্মক, সংঘর্ষগুলি প্রায় কয়েক হাজার পুনরাবৃত্তির পরে আসে তবে ভি 8 কেবল অপরাধী নয়। আমি ভিএইচ জিইউইডিগুলির পিএইচপি এবং রুবি উভয়ই ব্যবহার করে বাস্তব-বিশ্বের জিইউডি সংঘর্ষ দেখেছি।

যেহেতু এটি একাধিক ক্লায়েন্ট এবং সার্ভারের ক্লাস্টারগুলিতে আইডি জেনারেশনটি স্কেল করা আরও সাধারণ হয়ে উঠছে, এনট্রপি একটি বড় ক্ষতি গ্রহণ করে - একই র্যান্ডম বীজ একটি আইডি উত্পন্ন করতে ব্যবহার করার সম্ভাবনা থাকে (সময় প্রায়শই এলোমেলো বীজ হিসাবে ব্যবহৃত হয়) সিউডো-এলোমেলো জেনারেটরগুলিতে) এবং জিইউইডি সংঘর্ষগুলি "সম্ভবত অ-অনন্য" থেকে "প্রচুর সমস্যার কারণ হওয়ার সম্ভাবনা" থেকে বেড়েছে।

এই সমস্যাটি সমাধান করার জন্য, আমি নিরাপদে স্কেল করতে পারে এমন একটি আইডি অ্যালগরিদম তৈরি করতে এবং সংঘর্ষের বিরুদ্ধে আরও ভাল গ্যারান্টি তৈরির উদ্দেশ্যে যাত্রা করেছি। এটি টাইমস্ট্যাম্প, একটি ইন-মেমরি ক্লায়েন্ট কাউন্টার, ক্লায়েন্ট ফিঙ্গারপ্রিন্ট এবং এলোমেলো অক্ষর ব্যবহার করে এটি করে। কারণগুলির সংমিশ্রণটি একটি অ্যাডিটিভ জটিলতা তৈরি করে যা সংঘর্ষের জন্য বিশেষত প্রতিরোধী, এমনকি যদি আপনি এটি বেশ কয়েকটি হোস্ট জুড়ে স্কেল করেন:

http://usecuid.org/


1

আমি বহু-থ্রেডেড / মাল্টি-প্রসেস ইউনিট-পরীক্ষার সময়ও জিইউডিগুলি অনন্য না হওয়ার অভিজ্ঞতা পেয়েছি (খুব?)। আমার ধারণা, এর সাথে অন্য সমস্ত টিং সমান হওয়া, সিউডো এলোমেলো জেনারেটরগুলির অভিন্ন বীজ (বা বপনের অভাব) রয়েছে। আমি এটি অনন্য ফাইলের নাম উত্পন্ন করার জন্য ব্যবহার করছিলাম। আমি দেখতে পেয়েছি যে ওএস এর চেয়ে আরও ভাল is

ট্রোলিং সতর্কতা

আপনি জিইউডিগুলি 100% অনন্য কিনা জিজ্ঞাসা করুন। এটি জিইউডিগুলির সংখ্যার উপর নির্ভর করে এটির মধ্যে এটি অবশ্যই অনন্য হতে হবে। জিআইইউডির সংখ্যা অসীমের কাছে যাওয়ার সাথে সাথে নকল জিইউইডিগুলির সম্ভাব্যতা 100% এ পৌঁছায়।


1

"একটি জিইউইডি 100% স্বতন্ত্র?" এর উত্তর ? সহজভাবে "না"

  • আপনি যদি জিইউডির 100% স্বতন্ত্রতা চান তবে নিম্নলিখিতটি করুন।

    1. জিইউডি জেনারেট করুন
    2. আপনি যে অনন্যত্বের সন্ধান করছেন সেখানে আপনার টেবিল কলামে জিইউডি উপস্থিত রয়েছে কিনা তা পরীক্ষা করুন
    3. যদি উপস্থিত থাকে তবে পদক্ষেপ 1 টি নিয়ে অন্য পদক্ষেপ 4
    4. অনন্য হিসাবে এই জিইউডি ব্যবহার করুন।

এটি এটি অনন্য করে তোলে না। আপনার অ্যালগরিদম সারণীতে নতুন তৈরি জিইউডি সংরক্ষণ করে না। পরের বার আপনি একটি জিইউইডি তৈরি করুন এটির আগে কোনওটির সংঘর্ষ হতে পারে। আপনি যদি টেবিলটিতে জিইউইডি toোকাতে চান তবে স্বতন্ত্রতার জন্য যাচাই করা আপনার মধ্যে জিইউইডটি ইতিমধ্যে অন্য পিয়ারের দ্বারা hadোকানো যেতে পারে এবং আপনি জিইউইডিটি টেবিলের মধ্যে প্রবেশ করিয়েছিলেন। জিইউইডিটি কেবলমাত্র আপনার সিস্টেমে অনন্য, সুতরাং আপনি যদি দুটি ডাটাবেস আমদানি বা মার্জ করতে থাকতেন তবে তারা এখনও সংঘর্ষ করতে পারে। এছাড়াও যখন আপনি কোনও সেন্ট্রিলাইজড ডাটাবেসে অ্যাক্সেস না পান তখন জিইউইডি প্রায়শই ব্যবহৃত হয়। আপনার যদি থাকে তবে ডাটাবেস থেকে কেবল একটি আইডি টানবেন না কেন?
জোগে

0

সবচেয়ে শক্তিশালী অংশটি সদৃশ গাইড তৈরি করা নয়।

সবচেয়ে শক্ত অংশটি ডেটাবেস তৈরি করা হয়েছে যা জেনারেট হওয়া সমস্তকেই এটির সদৃশ কিনা তা যাচাই করার জন্য সংরক্ষণ করে।

ডাব্লুআইকিআই থেকে:

উদাহরণস্বরূপ, কমপক্ষে একটি সংঘর্ষের 50% সম্ভাব্যতা অর্জন করার জন্য এলোমেলো সংস্করণ 4 ইউআইডিগুলির সংখ্যা হ'ল 2.71 কুইন্টিলিয়ন, নিম্নে গণনা করা:

এখানে চিত্র বর্ণনা লিখুন

এই সংখ্যাটি প্রায় 85 বছর ধরে প্রতি সেকেন্ডে 1 বিলিয়ন ইউইউডি উত্পন্ন করার সমতুল্য, এবং ইউআইইডি প্রতি 16 বাইটে এই বহু ইউআইডি রয়েছে এমন একটি ফাইল প্রায় 45 টি এক্সাবাইট হবে, যা বর্তমানে বিদ্যমান বৃহত্তম ডাটাবেসের তুলনায় বহুগুণ বড়, যা চালু রয়েছে শত শত পেটাবাইটের ক্রম


0

জিইউইডি মানে গ্লোবাল ইউনিক আইডেন্টিফায়ার

সংক্ষেপে: (ক্লু নামটি রয়েছে)

বিস্তারিত ইন: জিইউইডিগুলি অনন্য হতে ডিজাইন করা হয়েছে; কম্পিউটার ঘড়ি এবং কম্পিউটারের উপর ভিত্তি করে এগুলিকে একটি এলোমেলো পদ্ধতি ব্যবহার করে গণনা করা হয়, আপনি যদি একই মেশিনে একই মিলিসেকেন্ডে অনেকগুলি জিইউইডি তৈরি করে থাকেন তবে এটি মিলতে পারে তবে প্রায় সমস্ত সাধারণ ক্রিয়াকলাপের জন্য এগুলি অনন্য হিসাবে বিবেচনা করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.