شاردینگ (Sharding) چیست

1399/06/20

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

معرفی شاردینگ

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

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

شاردینگ مفهومی نیست که بگوییم  به تازگی در طی این سال ها در پایگاه داده ها مورد استفاده قرار میگرفته است و جدید می باشد بلکه از آن در اواخر دهه 90 میلادی هم استفاده میشده است و برای مدیریت پایگاه های داده به کار گرفته میشده است.

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

مشتریانی که مکان های جغرافیایی آن ها با یکدیگر تشابه دارد، می توانند به صورت گروه بندی شده در بیایند و آنگاه هرکدام از این گروه ها در سرورهای مجزایی قرار خواهد گرفت.

شاردینگ در بلاک چین به چه صورت است؟

شاردینگ به ویژه در شبکه بلاک چین یک معنای همیشگی و ثابتی را خواهد داشت. در شبکه بلاک چین نودها یا گره هایی قرار دارد زیرا این شبکه پایگاه داده ای می باشد که هرکدام از این node ها به عنوان سرور مجزایی در آن عمل خواهد کرد. زمانی شبکه بلاک چین به قسمت های کوچکتری تقسیم بندی خواهد شد که بتوان شاردینگ را بر روی آن اجرایی کرد، بدین صورت خواهید توانست چنین شبکه ای را به قسمت های مختلف و مجزایی تبدیل نمائید که به آن "شارد" گفته می شود

هر شارد که در یک شبکه بلاک چین اجرا می شود میتواند یک گروهی ثابت باشد که ویژگی منحصر به فردی دارد و در آن قراردادهای هوشمند و موجودی حساب ها نیز نگهداری خواهد شد.

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

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

نحوه عملکرد شاردینگ

به طور مثال اگر بخواهیم مثال واضح تری از شاردینگ بزنیم می توانیم بلاک چین اتریوم را مثال بزنیم.

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

هر نودی که در چنین شبکه ای قرار دارد به میزان تعیین شده ای می تواند قدرت مشخصی از هش را در اختیار شبکه قرار دهد و آنگاه می توانند وظایف مختلفی از قبیل اجرای قراردادهای هوشمند، برنامه های غیرمتمرکز را به خوبی اجرایی نمایند.

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

با موفقیت گذراندن تراکنش ها به خصوص در چنین فرآیندی می تواند زمان زیادی را مصرف کند. در کل می توان گفت در هر ثانیه حدود 10 تراکنش صورت خواهد گرفت اما سیستم های پرداخت ویزا می توانند چندین برابر این میزان را مورد پردازش قرار دهند.

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

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

بدین صورت پردازش هرکدام از این نودها به صورت موازی و همچنین به صورت چندگانه پیش خواهد رفت.

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