پنج‌شنبه 29 اردیبهشت 1401
خانه آموزش شاردینگ چیست

شاردینگ چیست

شاردینگ نوعی پارتیشن‌بندی پایگاه داده است که از آن به عنوان پارتیشن‌بندی افقی نیز یاد می‌شود.

فرایند شاردینگ شامل شکستن یک پایگاه‌ داده بسیار بزرگ به اجزای کوچکتر و قابل مدیریت است. اجرای شاردینگ با هدف بهبود عملکرد و کاهش زمان پاسخ‌دهی انجام می‌شود.

شاردینگ مفهوم جدیدی نیست و از اواخر دهه ۹۰ میلادی در مدیریت پایگاه‌ داده‌های متمرکز رایج از آن استفاده می‌شده است.

استفاده از این اصطلاح زمانی رایج شد که توسعه‌دهندگان یکی از اولین بازی‌های در سبک نقش آفرینی بر خط چندنفره گسترده به نام اولتیما آنلاین، برای مدیریت ترافیک ورودی تصمیم گرفتند بازیکنان را در سرورهای مختلف پخش کنند.

مثال رایج از شاردینگ یک پایگاه داده بزرگ در دنیای کسب‌وکار، شکستن پایگاه داده مشتریان به مناطق جغرافیایی است. مشتریانی که در مکان‌های جغرافیایی یکسانی هستند، با هم‌ گروه‌بندی می‌شوند و در سرورهای منحصربفردی قرار می‌گیرند.

شاردینگ در بلاک چین نیز مفهوم ثابتی را دنبال می‌کند.

شبکه‌های بلاک چینی پایگاه داده‌ای هستند که هر نود یا گره به عنوان سرور مجزایی در شبکه اعلام حضور می‌کند. اگر شاردینگ را در بلاک چین اجرا کنیم، در واقع شبکه را به اجزای کوچکتری که «شارد» نام دارند، تقسیم کرده‌ایم. هر شارد مجموعه ثابت و منحصربفردی از قراردادهای هوشمند و موجودی حساب‌ها را نگهداری خواهد کرد.

نودها در شاردهای مجزایی قرار می‌گیرند تا تراکنش‌ها و عملیات خاصی را تایید کنند. به عبارتی نودها در شاردینگ، دیگر مسئول تایید تمامی تراکنش‌ها در شبکه نخواهند بود.

ایجاد اجزای قابل مدیریت‌تر، هدف استفاده از شاردینگ در بلاک چین‌هاست تا در نتیجه آن میزان تراکنش‌ها افزایش یابد و مشکلاتی ناشی از مقیاس‌پذیری در بلاک چین‌های بزرگ امروزی حل شود.

 

برای توضیح شاردینگ، از مثال بلاک چین اتریوم استفاده می‌کنیم.

بلاک چین اتریوم از هزاران کامپیوتر (به عبارت دقیقتر ۸۶۲۲ عدد در حال حاضر) تحت عنوان نودها تشکیل شده است. هر کدام از نودها میزان مشخصی قدرت هش در اختیار شبکه می‌گذارند تا ماشین مجازی اتریوم (EVM) از پس اجرای وظایف خود مانند اجرای قراردادهای هوشمند و برنامه‌های غیرمتمرکز برآید.

در حال حاضر اتریوم بر پایه اجرای ترتیبی یا خطی کار می‌کند که در آن هر نود باید تمامی عملیات و تراکنش‌ها را پردازش کند. برای همین نیز عبور تراکنش‌ها از این فرایند زمان زیادی به طول می‌انجامد. در حال حاضر اتریوم می‌تواند تا ۱۰ تراکنش در ثانیه پردازش کند اما برای نمونه سیستم‌های پرداخت ویزا قادر به پردازش ۲۴,۰۰۰ تراکنش در ثانیه هستند. همینطور افزودن کامپیوتر یا همان نود به شبکه الزاما باعث بهبود راندمان نخواهد شد؛ چرا که دفتر کل و تراکنش‌های ثبت شده بر روی تمامی کامپیوترها موجود است و تنها زنجیره تایید کردن طولانی‌تر خواهد شد.

شاردینگ مدل اجرای خطی را که در آن هر نود تمامی فعالیت‌ها را پردازش می‌کند، به مدل اجرای موازی تغییر می‌دهد که در آن هر نود تنها مسئول پردازش تعداد مشخصی از تراکنش‌ها خواهد بود. در این صورت پردازش تراکنش‌ها به صورت موازی و در خطوط چندگانه پیش خواهد رفت.

یک بلاک چین به شاردهای مختلف (زیردامنه یا باکت‌ها) تقسیم می‌شود. نودها نیز برای تایید تراکنش‌ها، تنها باید بخشی از دفترکل را که به آن‌ها اختصاص یافته اجرا کنند؛ دیگر نیازی به نگهداری و بروزرسانی کل تراکنش‌ها نخواهد بود.

شاردینگ چه مشکلاتی را حل می کند؟

شاردینگ راهکار بالقوه‌ای برای مشکلات مقیاس‌پذیری در بلاک‌ چین‌های امروزی است.

همانطور که گفته شد، مسئله مقیاس پذیری در حال حاضر به یکی از بزرگترین معضلات بلاک چین‌ها تبدیل شده است. هرچقدر که شبکه بلاک چینی محبوب می‌شود، کاربران بیشتری اقدام به اجرای تراکنش‌ها، برنامه‌های غیرمتمرکز و سایر عملیات در شبکه می‌کنند.

افزایش تراکنش‌ها منجر به افزایش تقاضا از سوی نودها برای تایید تراکنش‌ها می‌شود. این یک تهدید واقعی برای اتریوم است که در زمان جنون کریپتوکیتیز یکبار خود را نشان داد. در آن زمان تراکنش‌های این بازی ۱۱ درصد از تراکنش‌های شبکه را به خود اختصاص داده بود. در صورتی که چنین اتفاقی بیافتد، تراکنش‌ها به کندی تایید خواهند شد و پذیرش بلاک چین‌ها با مشکل جدی روبرو می‌شود.

اما به وسیله شاردینگ و تقسیم شدن بلاک چین به اجزای کوچکتر، گروه‌های مشخصی از نودها مسئول تایید بخش خاصی از تراکنش‌ها خواهند بود. تایید تراکنش‌ها به جای مدل خطی به صورت موازی انجام خواهد شد و سرعت کل شبکه افزایش خواهد یافت. شاردینگ بلاک چین‌ها را برای بلندمدت پایدارتر و بادوام‌تر می‌کند.

منبع:

ارز دیجیتال

ارسال یک پاسخ

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید