এই জাতীয় সংখ্যক বিটের জন্য, গ্লোরফাইন্ডেল নির্দেশ করেছেন বলে অনেকগুলি বিট সংরক্ষণ করা অসম্ভব । তবে, আপনি যে ডোমেনটি ব্যবহার করছেন তাতে যদি আরও কয়েকটি বিট থাকে তবে আপনি শুরুর মান এবং একটি ব-দ্বীপ সহ এনকোডিং করে গড় কেসের জন্য গড় সাশ্রয় অর্জন করতে পারেন।
ধরে নেওয়া যাক ডোমেনটি পূর্ণসংখ্যা, তাই 32 বিট। নিষ্পাপ পদ্ধতির সাথে, আপনার একটি ব্যাপ্তি সঞ্চয় করতে 64 বিট (শুরু, শেষ) দরকার।
যদি আমরা (শুরু, ব-দ্বীপ) কোনও এনকোডিংয়ে স্যুইচ করি তবে আমরা সেই থেকে পরিসীমাটির শেষটি তৈরি করতে পারি। আমরা জানি যে সবচেয়ে খারাপ ক্ষেত্রে, শুরুটি 0 হয় এবং ডেল্টায় 32 বিট থাকে।
2 ^ 5 হল 32, তাই আমরা বেল্টটির দৈর্ঘ্য পাঁচটি বিটগুলিতে এনকোড করব (শূন্য দৈর্ঘ্য নয়, সর্বদা 1 যোগ করুন), এবং এনকোডিং হয়ে যাবে (শুরু, দৈর্ঘ্য, ব-দ্বীপ)। সবচেয়ে খারাপ ক্ষেত্রে, এর দাম 32 * 2 + 5 বিট, তাই 69 বিট। সুতরাং সবচেয়ে খারাপ ক্ষেত্রে, যদি সমস্ত ব্যাপ্তি দীর্ঘ হয় তবে এটি আরও খারাপ তবে নির্দোষ এনকোডিং।
সেরা ক্ষেত্রে, এর দাম 32 + 5 + 1 = 38 বিট।
এর অর্থ যদি আপনাকে অনেকগুলি ব্যাপ্তি এনকোড করতে হয় এবং এই ব্যাপ্তিগুলি কেবলমাত্র আপনার ডোমেনের ছোট্ট অংশকে কভার করে, আপনি এই এনকোডিংটি ব্যবহার করে গড়ে কম স্থান ব্যবহার করবেন। শুরুগুলি কীভাবে বিতরণ করা যায় তা বিবেচনাধীন নয়, যেহেতু শুরুটি সর্বদা 32 বিট নেয়, তবে ব্যাপ্তিগুলির দৈর্ঘ্য কীভাবে বিতরণ করা যায় তা বিবেচ্য নয়। আপনার যদি আরও ছোট দৈর্ঘ্য হয়, কমপ্রেশনটি তত ভাল হয় তবে আপনার ডোমেনের পুরো দৈর্ঘ্যটি যত বেশি পরিসীমা থাকে, এই এনকোডিংটি তত খারাপ হবে।
তবে, যদি আপনার অনুরূপ শুরুর পয়েন্টগুলির চারপাশে প্রচুর পরিসীমা বিভক্ত থাকে (উদাহরণস্বরূপ আপনি সেন্সর থেকে মান পেয়েছেন) তবে আপনি আরও বড় সঞ্চয়ী অর্জন করতে পারেন। আপনি একই কৌশলটি প্রারম্ভিক মানটিতে প্রয়োগ করতে পারেন এবং প্রারম্ভিক মানটি অফসেট করতে পক্ষপাত ব্যবহার করতে পারেন।
বলুন আপনার 10000 রেঞ্জ রয়েছে। রেঞ্জগুলি একটি নির্দিষ্ট মানকে কেন্দ্র করে গ্রুপ করা হয়। আপনি 32 বিট দিয়ে পক্ষপাতটি এনকোড করেছেন।
নিষ্পাপ পদ্ধতির ব্যবহার করে, আপনার এই সমস্ত ব্যাপ্তিগুলি সংরক্ষণ করতে 32 * 2 * 10 000 = 640 000 বিট লাগবে।
পক্ষপাতটি এনকোডিংয়ে 32 বিট লাগে এবং প্রতিটি পরিসর এনকোডিং সেরা ক্ষেত্রে নেয় তবে 5 + 1 + 5 + 1 = 12 বিট, মোট 120 000 + 32 = 120 032 বিটের জন্য। সবচেয়ে খারাপ ক্ষেত্রে আপনার মোট 540 ডলার 322 বিট প্রয়োজন, এইভাবে মোট 740 032 বিটের জন্য 74 বিট its
এর অর্থ, একটি ডোমেনে 10 000 মানের জন্য যা এনকোডে 32 বিট লাগে, আমরা পাই
- সেরা ক্ষেত্রে স্মার্ট ডেল্টা-এনকোডিং সহ 120 032 বিট
- নিখুঁত শুরু, শেষ এনকোডিং সহ সর্বদা 640 000 বিট (সেরা বা খারাপ কোনও ক্ষেত্রে নেই)
- 740 032 বিট সবচেয়ে খারাপ ক্ষেত্রে স্মার্ট ডেল্টা এনকোডিং সহ
আপনি যদি বেসলাইন এনকোডিংটিকে বেসলাইন হিসাবে গ্রহণ করেন তবে এর অর্থ হয় 81.25% অবধি বা 15.625% পর্যন্ত বেশি ব্যয় হবে।
আপনার মানগুলি কীভাবে বিতরণ করা হবে তার উপর নির্ভর করে সেই সঞ্চয়গুলি তাৎপর্যপূর্ণ। আপনার ব্যবসায়ের ডোমেনটি জানুন! আপনি কী এনকোড করতে চান তা জানুন।
এক্সটেনশন হিসাবে, আপনি পক্ষপাতও পরিবর্তন করতে পারেন। আপনি যদি ডেটা বিশ্লেষণ করেন এবং মানগুলির গোষ্ঠীগুলি সনাক্ত করেন তবে আপনি ডেটাটি বালতিতে বাছাই করতে পারেন এবং b বালতিগুলির প্রত্যেককে পৃথকভাবে নিজের পক্ষপাত দিয়ে এনকোড করতে পারেন। এর অর্থ আপনি এই কৌশলটি কেবলমাত্র একক শুরুর মানের সাথে গোষ্ঠীভুক্ত রেঞ্জগুলিতেই প্রয়োগ করতে পারবেন না, একাধিক মানকে ঘিরে গোষ্ঠীযুক্ত রেঞ্জগুলিতেও প্রয়োগ করতে পারেন।
যদি আপনার শুরুর পয়েন্টগুলি সমানভাবে বিতরণ করা হয় তবে এই এনকোডিংটি সত্যিই এটির মতো কার্যকর হয় না।
এই এনকোডিং অবশ্যই সূচকের পক্ষে অত্যন্ত খারাপ is আপনি কেবল এক্স-ম মানটি পড়তে পারবেন না। এটি বেশিরভাগই কেবল ক্রমিকভাবে পড়া যেতে পারে। যা কিছু পরিস্থিতিতে উপযুক্ত, যেমন নেটওয়ার্কের উপর স্ট্রিমিং বা বাল্ক স্টোরেজ (যেমন টেপ বা এইচডিডি তে)।
ডেটা মূল্যায়ন, এটিকে গোষ্ঠীকরণ এবং সঠিক পক্ষপাত নির্বাচন করা যথেষ্ট কাজ হতে পারে এবং অনুকূল ফলাফলের জন্য কিছু সূক্ষ্ম-সুরকরণের প্রয়োজন হতে পারে।