جدول درهم ساز توزیع شده (Distributed Hash Table) چیست؟

فرض کنید در یک سیستم توزیع شده اطلاعات دانشجویان هستید و ۱۰عدد کامپیوتر در اختیار دارید. اطلاعات این دانشجویان سراسر کشور در این ۱۰کامپیوتر قرار داده شده است (که با خاطر اینکه در یک سیستم گنجایش نداشته). حال فرض کنید بخواهید اطلاعات مختلف یک دانشجو (مثلا به اسم جواد ظریف) را پیدا کنید. ساده است که در نگاه اول بایستی از کامپیوتر شماره ۱ شروع کرده و یکی یکی به دنبال این دانشجو بگردید، و یا به صورت موازی به هر ۱۰کامپیوتر درخواستی ارسال کنید.

ادامه خواندن “جدول درهم ساز توزیع شده (Distributed Hash Table) چیست؟”

تابع درهم ساز (Hash Function) چیست؟

فرض کنید، شما سرپرست ۲۰۰منشی هستید. هر کدام از این منشی ها یک شماره (از ۱ تا ۲۰۰) دارید. فرض میکنیم، که ۲۰۰اتاق مختلف نیز داریم و میخواهیم این منشی ها را بین ۲۰۰اتاق موجود (که باز هم از ۱ تا ۲۰۰ شماره گذاری شده اند) تقسیم کنیم. بسیار ساده است که به هر فرد بگوییم به سراغ اتاق هم شماره خود برود. مثلا منشی شماره ۳، به اتاق شماره ۳ برود. هنگامی که یک مراجعه کننده، به دنبال منشی شماره ۳ میگردد، به او میگویم به که اتاق شماره ۳ برو و با منشی صحبت کن. حال فرض کنید که تعداد منشی ها از ۲۰۰ به ۵۰۰ افزایش یافت ولی تعداد اتاق ها همان ۲۰۰ عدد باقی ماند. اکنون برای تقسیم این منشی ها به اتاق ها، چه تبدیری می توان اندیشید؟

ادامه خواندن “تابع درهم ساز (Hash Function) چیست؟”