بلاک چین و دیتابیس
دسته : تکنولوژی
نویسنده : علی منصورآبادی
تاریخ : 1401/8/24
سطح : متوسط
پست های مرتبط
بلاک چین و دیتابیس
دو فناوری دیتابیس و بلاک چین، و تاثیر متقابل اونها رو بررسی کنیم. بلاک چین از دهه قبل، محبوبیت زیادی را به عنوان محیطی غیر متمرکز (Decentralized) برای تراکنش های P2P یا Peer 2 Peer در شرایطی ایمن و غیر قابل تغییر، کسب کرده است. توسعه بلاک چین، بازار بلاک چین را به سمت برنامه های غیرمتمرکز در زمینه های مختلفی برده است.
سلام، وقتتون بخیر. علی هستم برنامه نویس تیما. امروز می خواهیم با هم دو فناوری دیتابیس و بلاک چین، و تاثیر متقابل اونها رو بررسی کنیم. بلاک چین از دهه قبل، محبوبیت زیادی را به عنوان محیطی غیر متمرکز (Decentralized) برای تراکنش های P2P یا Peer 2 Peer در شرایطی ایمن و غیر قابل تغییر، کسب کرده است. توسعه بلاک چین، بازار بلاک چین را به سمت برنامه های غیرمتمرکز در زمینه های مختلفی برده مانند بازار های مالی، صنعت بیمه، صنعت تامین و ... .
همانطور که در "پست های قبلی بلاک چین" گفتیم، در شبکه غیر متمرکز یا Decentralized، هر نود یا هر عضو یک کپی از کل داده ها دارد. این غیر متمرکز بودن بلاک چین باعث به وجود آمدن سوالات زیادی در مورد اینکه داده ها چطور و در کجا ذخیره می شوند، شده است. مشکل محل ذخیره داده ها با استفاده از فضا های ابری (cloud) غیر متمرکز حل شده است ولی این راه حل ها، مشکلاتی از قبیل محدودیت منابع و در ریسک قرار دادن حریم خصوصی را دارند.
بعد از پیدایش بیت کوین، سوالات جدیدی مثل بلاک چین به عنوان دیتابیس و تفاوت های بلاک چین و دیتابیس به وجود آمده است. بلاک چین در بسیاری از جهات با دیتابیس های سنتی تفاوت دارد. این تفاوت ها شامل مواردی مانند غیر متمرکز بودن، ذنجیره های هش شده یا رمزگذاری شده، نبود کنترل مدیریتی، غیر قابل تغییر بودن و آزادی برای انجام هر تراکنشی بدون حضور شخص ثالثی است. برای گرامی داشتن این تغییرات، بسیاری از برنامه ها، حافظه دیتابیس سنتی خودشان را به بلاک چین بروز رسانی و آپدیت کردند تا پیاده سازی ایمن تری داشته باشند.
با وجود برتری های گفته شده، بلاک چین ضعف هایی هم دارد که در دیتابیس های سنتی نبوده. بلاک چین توسط دو راه می تواند ویژگی های دیتایس های سنتی را گسترش دهد. یکی با یکپارچه شدن با دیتابیس های سنتی که به این عمل Integration گفته می شود و یکی با ساختن دیتابیس های توزیع شده تحت بلاک چین. وجود ویژگی های دیتابیس باعث می شود بلاک چین تاخیر کمتر، بازدهی بالاتر، مقیاس پذیری بالاتر و توانایی اجرای کوئری های پیچیده را داشته باشد. با داشتن ویژگی های دیتابیس و بلاک چین باهم، عملکرد و امنیت ما بسیار بالاتر می رود.
طی سال های اخیر، دیتابیس های تحت بلاک چین زیادی طراحی و توسعه یافته اند. این دیتابیس های توزیع شده، الگوریتم ها و مکانیزم های اجماع یا Consensus خاص خودشان را دارند که برای رای گیری و اطمینان حاصل کردن از صحت و درستی بلاک داده توسط طرفین شبکه مورد استفاده قرار می گیرند. دیتابیس های تحت بلاک چین، از ویژگی هایی مانند نوع داده های پیچیده یا Complex، ساختار Rich Query ها، ساختار ACID، تاخیر یا Delay کم، مقیاس پذیری بالا و میزبانی ابر ها پشتیبانی می کنند. بسیاری از شرکت های بزرگ از جمله IBM، Oracle و SAP و استارپ آپ های مطرحی از جمله FlureeDB و BigchainDB، زمان خود را صرف توسعه دیتابیس های تحت بلاک چینی کرده اند که کوئری هایی مثل SQL را پشتیبانی کند.
هر دو تکنولوژی بلاک چین و دیتابیس با کپی از یکدیگر می توانند عملکرد و ویژگی های نوین و خوبی را کسب کنند. اگر از بلاک چین به عنوان دیتابیس برای ارائه حافظه استفاده کنیم، می توانیم بررسی کنیم که تفاوت های زیادی نسبت به دیتابیس های سنتی دارد. مواردی که در ادامه ذکر می شود تفاوت های کلیدی بین ویژگی های دیتابیس و بلاک چین است و نشان دهنده این است که هرکدام چگونه می توانند روی هم تاثیر بگذارند و یکدیگر را بهبود و توسعه دهند.
- Throughput و عملکرد بلاک چین های سنتی در صورتی که تعداد نود های ذنجیره زیاد شود، کاهش می باید. ولی در مورد دیتابیس های توزیع شده این مورد صدق نمی کند و دقیقا برعکس است. در صورت افزایش تعداد نود ها، Throughput افزایش می یابد پس Throughput درکل بهبود می باید با این ادغام.
- تاخیر در تراکنش های بلاک چین معمولا زیادتر است نسبت به دیتابیس ها. پس با این ادغام، تاخیر می تواند کاهش چشم گیری داشته باشد.
- تراکنش های بلاک چین نیازمند جداسازی سریالی هستند که توسط الگوریتم های اجماع فراهم می شود و در نتیجه، ثبات قدرتمندی را به ارمغان می آورد. در دیتابیس، یک الگوریتم و مکانیزم به نام 2-Phase Locking And Concurrency Control وجود دارد. با این وجود در سیستم های دیتابیس مبتنی بر بلاک چین جدید، مواردی مثل BlochChainDB وجود دارند که بر اساس MongoDB هستند و مکانیزم های جدیدی برای تراکنش ها تحت بلاک چین ارائه می دهند.
- اکثر پلتفرم های بلاک چین از کوئری های پیچیده برای تاریخچه پشتیبانی نمی کنند. این کوئری ها برای خیلی از برنامه ها حیاتی هستند تا داده های مورد نظر را بازیابی کنند. ویژگی کوئری پیچیده یا Complex Query در اکثر دیتابیس ها قرار دارد ولی ریشه و منشاء کوئری ها برای تاریخچه داده ها، توسط استفاده از Multi-Version Concurrency Control بدست می آید.
- ویژگی توزیع پذیر بودن بلاک چین باعث تحول در بسیاری از سیستم های مالی و صنعت ها در دهه گذشته شده است. با تحول و پیشرفت دیتابیس های تحت بلاک چین، توزیع پذیری الان ممکن شده است و در بسیاری از برنامه ها استفاده خواهد شد.
- یک مورد دیگر از ویژگی های مهم و برتر بلاک چین، غیر قابل تغییر بودن و یا مقاوم بودن در برابر دستکاری است. این ویژگی می تواند در سیستم های دیتابیس با مکانیزم های غیر فعال کردن دسترسی حذف و ویرایش، فراهم شود.
- بلاک چین، اجازه ساخت و حرکت دارای های دیجیتال را می دهد که در دیتابیس های سنتی ممکن نبود، ولی یک دیتابیس تحت بلاک چین این ویژگی را به صورت پیش فرض دارد.
امیدوارم که از این آموزش لذت برده باشید و براتون مفید واقع شده باشه. با ما همراه باشید تا با هم یک درصد بیشتر بدونیم.
پست های مرتبط