আমরা একটি ওয়েব অ্যাপ্লিকেশন নিয়ে কাজ করছি, ব্যবহারকারীদের কাছে এখনও অ্যাক্সেসযোগ্য নয়। আমার বস লক্ষ করেছেন যে সদ্য তৈরি হওয়া রেকর্ডগুলি 10 000-রও বেশি আইডি পেয়েছে, যদিও আমাদের কেবল টেবিলে 100 টি রেকর্ড রয়েছে। তিনি ধরে নিয়েছিলেন যে কোনও কারণে ওয়েব ইন্টারফেসটি বাস্তবের চেয়ে 100 গুণ বেশি অস্থায়ী রেকর্ড তৈরি করে (এবং সেগুলি মুছে ফেলে) এবং এটি আমাদের মুক্তির কয়েক মাসের মধ্যেই সীমার বাইরে চলে যেতে পরিচালিত করতে পারে।
আমি মনে করি না যে তিনি আইডি মুদ্রাস্ফীতিের কারণ সম্পর্কে সঠিক (সহকর্মী যিনি এর উত্তর দিতে পারেন তারা ছুটিতে আছেন, তাই আমরা নিশ্চিতভাবে জানি না) তবে ধরা যাক তিনিই is তিনি বলেছিলেন যে তিনি বিগিন্ট কলামটি ব্যবহার করতে ঘৃণা করবেন এবং তিনি আমাদের আইডি কলামটি স্ব-সংহতকরণ বন্ধ করতে এবং সার্ভার-সাইড কোডটি লিখতে চান যা প্রথম "অব্যবহৃত" পূর্ণসংখ্যা চয়ন করে এবং এটি আইডি হিসাবে ব্যবহার করে।
আমি একটি জুনিয়র বিকাশকারী ভূমিকা পূরণ করে, সামান্য ব্যবহারিক অভিজ্ঞতা সহ একটি কম্পিউটার বিজ্ঞান গ্রেডের ছাত্র। আমাদের প্রতিষ্ঠানের সমস্ত ডাটাবেস পরিচালনা এবং সেগুলির বেশিরভাগ ডিজাইনের অভিজ্ঞতা রয়েছে তাঁর। আমি মনে করি যে তিনি এই ক্ষেত্রে ভুল ছিলেন, যে কোনও বিগিন্ট আইডি ভয় পাওয়ার কিছু নয়, এবং এটি ডিবিএমএস কার্যকারিতা অনুকরণ করে একটি অ্যান্টিপ্যাটার্নের গন্ধ পায়। তবে আমি এখনও আমার রায় বিশ্বাস করি না।
প্রতিটি অবস্থানের পক্ষে এবং বিপক্ষে কী যুক্তি রয়েছে? আমরা যদি একটি বড়জি ব্যবহার করি তবে কোন খারাপ জিনিস ঘটতে পারে এবং চাকাটির স্বতঃসংশোধক কার্যকারিতা পুনরায় উদ্ভাবনের ঝুঁকিগুলি কী? তৃতীয় কোন সমাধান রয়েছে যা একটির চেয়ে ভাল? আইডি ফেস ভ্যালুগুলির মুদ্রাস্ফীতি এড়াতে চাওয়ার জন্য তার কারণগুলি কী হতে পারে? আমি ব্যবহারিক কারণেও শুনতে আগ্রহী - সম্ভবত বিগিন্ট আইডি তত্ত্বের সাথে কাজ করে, তবে অনুশীলনে মাথা ব্যথার কারণ?
অ্যাপ্লিকেশনটি খুব বড় পরিমাণে ডেটা পরিচালনা করবে বলে আশা করা যায় না। আমি সন্দেহ করি যে এটি পরের কয়েক বছরের মধ্যে 10 000 প্রকৃত রেকর্ডে পৌঁছে যাবে।
যদি এটি কোনও পার্থক্য করে তবে আমরা মাইক্রোসফ্ট এসকিউএল সার্ভারটি ব্যবহার করছি। অ্যাপ্লিকেশনটি সি # তে লিখিত আছে এবং লিনক থেকে এসকিউএল ব্যবহার করে।
হালনাগাদ
আপনাকে ধন্যবাদ, আমি বিদ্যমান উত্তর এবং মন্তব্য আকর্ষণীয় পেয়েছি। তবে আমি ভয় করি আপনি আমার প্রশ্নটি ভুল বুঝেছেন, তাই আমি জানতে চাইলে সেগুলিতে সেগুলি থাকে।
আমি উচ্চ আইডির আসল কারণ সম্পর্কে সত্যই উদ্বিগ্ন নই। আমরা যদি এটি আমাদের নিজের মতো না খুঁজে পাই তবে আমি অন্য একটি প্রশ্ন জিজ্ঞাসা করতে পারি। আমি যা আগ্রহী তা হ'ল এই ক্ষেত্রে সিদ্ধান্ত প্রক্রিয়াটি বোঝা। এর জন্য, অনুগ্রহ করে ধরে নিন যে অ্যাপ্লিকেশনটি প্রতিদিন 1000 রেকর্ড লিখবে এবং তার মধ্যে 9999 মুছে ফেলবে । আমি প্রায় নিশ্চিত যে এটি তেমন নয়, তবে আমার বস যখন অনুরোধ করেছিলেন তখন এটিই বিশ্বাস করেছিল। সুতরাং, এই কাল্পনিক পরিস্থিতিতে, বিগিন্ট ব্যবহার করা বা আমাদের নিজস্ব কোড লেখার যা আইডিগুলি নির্ধারণ করবে (কোনও ফাঁক নেই তা নিশ্চিত করার জন্য ইতিমধ্যে মুছে ফেলা রেকর্ডগুলির আইডি পুনরায় ব্যবহার করে এমন উপায়) কী হবে?
প্রকৃত কারণ হিসাবে, আমি দৃ strongly়ভাবে সন্দেহ করি যে এটি কারণ আমরা একবারে অন্য ডাটাবেস থেকে ডেটা আমদানির জন্য কোড লিখেছিলাম, ধারণার প্রমাণ হিসাবে পরবর্তী মাইগ্রেশন নির্দিষ্ট পরিমাণে করা যেতে পারে। আমি মনে করি আমার সহকর্মী আমদানির সময় আসলে কয়েক হাজার রেকর্ড তৈরি করেছিল এবং পরে সেগুলি মুছে ফেলেছিল। এটি সত্যই ঘটনাটি ছিল কিনা তা আমাকে নিশ্চিত করতে হবে, তবে এটি যদি হয় তবে ব্যবস্থা গ্রহণের প্রয়োজনও নেই।