اگر در مورد فناوری بلاک چین تحقیق کرده باشید، احتمالاً با اصطلاح پایگاه داده یا دیتابیس مواجه شده اید. پایگاههای داده در واقع محلی برای ذخیره مرتب دادهها برای استفاده از آن در آینده هستند. مبحث دیتابیس به یک جزء جداییناپذیر از فناوری تبیدل شده است. هر فروشگاه اینترنتی، وبسایت فعال بر بستر اینترنت، نرمافزار و در مجموع هر موضوعی که با دادهها سر و کار دارد، برای ذخیره منظم آنها نیازمند یک جدول برای ذخیره این دادهها در کنار هم خواهند بود.
بیایید به بلاکچین از زاویه دیتابیس نگاه کنیم. در واقع بلاکچین یک پایگاه داده توزیع شده است. این دیتابیس در بین تمام نودهای یک شبکه کامپیوتری به اشتراک گذاشته شده و هر گونه ایجاد تغییر در دادههای دیجیتالی ذخریه شده بر روی آن، نیازمند تأیید اکثریت نودها خواهد بود. این تأیید حداکثری، کلید حفظ امنیت کل شبکه و حفاظت از داراییهای دیجیتال نظیر بیت کوین، اتریوم و سایر کوینها است. بلاک چین با نوآوری خود پایداری و امنیت ثبت دادهها را نسبت به پایگاه دادههای سنتی بسیار افزایش میدهد. همچنین در این فناوری نیاز به شخص ثالث قابل اعتماد برای تغییر و صحتسنجی دادهها نیز وجود نخواهد داشت.
در این مقاله در کنار بررسی دقیقتر ماهیت پایگاه داده، به بررسی مزایا و معایب هر یک از انواع آن پرداختهایم. با خواندن این مقاله درک بهتری از روند ذخیره سازی داده در یک دیتابیس و شبکههای بلاکچین خواهید داشت.
همانطور که از نام پایگاه دادهها مشخص است، این جداول مسئولیت ذخیرهسازی منظم دادهها را بر عهده دارند. اما یک داده دقیقاً چه تعریفی در دنیای فناوری دارد؟ در پاسخ این سوال، میتوان گفت که دادهها مجموعهای از یک واحد کوچک مجزا از اطلاعات هستند. معادل انگلیسی کلمه داده یا همان “Data” از کلمه “datum” به معنای «یک تکه از اطلاعات» گرفته شده است. این واحدهای کوچک میتوانند در قالبهای مختلفی مانند متن، اعداد، رسانه، بایت و غیره استفاده شوند.
برای درک بهتر این ماهیت، یک فروشگاه اینترنتی را در نظر بگیرید. در این بستر هر ماهیتی نظیر نام کاربران، شماره تماس، آدرس، سابقه خرید، مبلغ پرداخت شده در هر تراکنش، تاریخ تراکنشها و هر مورد مشابه دیگری، یک داده خواهد بود. ترکیب این دادهها، میتواند منجر به اطلاعات شود. به عنوان مثال با کنار هم قرار گرفتن این دادهها به صورت صحیح شما میتوانید تمام اطلاعات لازم در مورد یک خرید منحصربهفرد را به دست آورید.
پایگاه داده یا همان database مجموعهای سازمان یافته از دادههاست که به راحتی قابل دسترسی و مدیریت هستند. شما میتوانید دادهها را در قالب یک دیتابیس و در داخل جدولها، ردیفها و ستونها سازماندهی و فهرستبندی کنید. این کار بهروند پیدا کردن اطلاعات مرتبط از بین دادههای فراوان را آسانتر خواهد کرد. در واقع هدف اصلی از ایجاد Data Base ذخیره، بازیابی و مدیریت حجم بالای دادهها است. پایگاههای داده قوانین خاص خود را برای دسترسی داشته و دادههای موجود در خود را تنها در اختیار افراد مجاز قرار میدهند.
در حال حاضر تقریباً تمامی کسبوکارهای مدرن از پایگاههای داده برای مدیریت امور روزمره خود استفاده میکنند. به عنوان مثال در یک هتل، شما میتوانید مدلی برای بررسی خالی بودن اتاقهای موجود را داشته باشید. این مدل، نمونهای از یک وب سایت پویا است که از دیتابیس استفاده میکند. امروزه پایگاههای داده بسیاری مانند MySQL، Sybase، Oracle، MongoDB، Informix، PostgreSQL، SQL Server و غیره در دسترس بوده و هر یک از آنها ویژگیهای خاص خود را ارائه میدهند. پایگاه دادههای مدرن توسط سیستم مدیریت DBMS مدیریت میشوند. زبان برنامهنویسی پایگاههای داده نیز SQL است. با آشنایی به قواعد این زبان برنامهنویسی، قادر خواهید بود دادههای ذخیره شده خود در هر جدول را استخراج، مقایسه و حتی با یکدیگر ادغام کنید.
پایگاههای داده ممکن است کاربردهای مختلفی در حوزه فناوری داشته باشند. در این قسمت به بررسی چند مورد از مهمترین کاربردهای آن پرداختهایم.
در مواردی که تعداد دادههای بسیار زیادی وجود داشته باشد، روند استفاده و مرتبسازی آنها ممکن است یک چالش تمامعیار به نظر برسد. به عنوان مثال در یک پلتفرم و شبکه که تعداد کاربران بالایی داشته و هر کاربر تراکنشهای خاص خود را دارد، استفاده از یک دیتابیس برای ذخیره و مدیریت صحیح این دادهها ضروری است. در این موارد یک پایگاه داده مهندسیشده میتواند بسیار مؤثر واقع شود.
اطلاعات یک بستر روزانه ممکن است با هزاران تغییر مختلف مواجه شود. به عنوان مثال در یک بانک، روزانه هزاران کاربران اقدام به انتقال پول به حسابهای یکدیگر میکنند. ثبت دقیق و ردیابی این تغییرات بدون استفاده از یک دیتابیس دقیق، عملاً غیرممکن خواهد بود. بهویژه اگر با یک بستر پیچیده نظیر بلاک چین مواجه باشید، این موضوع میتواند حتی پیچیدهتر نیز شود!
هنگامی که شما تمام دادهها را به صورت یکجا ذخیره کنید، حفظ امنیت آنها نیز سادهتر خواهد شد. چرا که در غیر این صورت، لازم است شما تمام دادههای پراکنده پلتفرم خود را همواره تحت نظر داشته و به صورت مجزا برای حفظ امنیت تکبهتک آنها تلاش کنید. این در حالی است که یک پایگاه داده منسجم، میتواند به طرز قابل توجهی این مشکل را برطرف کند.
پایگاه دادههای ابری امکان ذخیرهسازی اطلاعات و دسترسی به آنها در هر زمان و مکانی را فراهم میکنند. به عنوان مثال سرویس گوگل درایو یک دیتابیس ابری است که میتواند دادههای مربوط به هر کاربر را به صورت مجزا ذخیره کند. شما در هر زمانی میتوانید با یک گوشی یا رایانه، به دادههای مربوط به خود دسترسی داشته باشید.
ساختار داده از جمله تفاوتهای اصلی پایگاه داده معمولی و یک بلاک چین است. بلاکچین اطلاعاتی را در قالب گروهها جمعآوری کرده و در نهایت مجموعهای از داده را در خود نگهداری میکند. هر بلوک ظرفیتی برای ذخیرهسازی داده دارد که پس از پرشدن آن، بسته شده و سپس به بلوک دیگری متصل میشود. در این صورت میتواند زنجیرهای از دادهها را تشکیل دهد. این زنجیره داده با نام بلوک شناخته میشود. اطلاعات جدیدی که به بلوک تازه اضافه میشود، کامپایل شده و پس از پر شدن به زنجیره دیگری اضافه میشود.
اما دیتابیس از جدول ساختاری برای ذخیره داده استفاده میکند. در حالی که بلاکچین از بلوک داده برای اینکار استفاده میکند. این ساختار داده از یک جدول زمانی استفاده میکند با استفاده از ماهیت غیرمتمرکز بلاکچین ایجاد میشود. زمانی که یک بلوک پر شود، بسته میشود و بلوک جدیدی با جدول زمانی مشخص ایجاد میشود.
دیتابیس بیش از ۵۰ سال سیر تکاملی خود را از سیستم فایل مسطح به سیستمهای رابطهای و اشیاء تکمیل کرده است. چندین نسل را پشت سر گذاشته است. در ادامه به بررسی و معرفی هر کدام از دورهها میپردازیم:
این نوع پایگاه داده که در سال ۱۹۶۸ معرفی شد، دادهها را در یک فایل مسطح ذخیرهسازی میکرد. این ساختار در کنار سادگی استفاده، محدودیتهای بسیاری را نیز شامل میشود. در واقع این روش در کنار مشکلات امنیتی، دست برنامه نویسان در استفاده از دادهها را نیز باز نمیگذاشت. با این وجود از مزیتهای اصلی این روش میتوان به دسترسی ساده با یک نرمافزار به دادهها اشاره کرد. این روشها شامل ترتیبی، نمایه سازی شده و تصادفی است. این روش ذخیرهسازی نیاز به برنامه نویسی گسترده در یک زبان نسل سوم مانند COBOL ،BASIC دارد.
سالهای ۱۹۶۸ تا ۱۹۸۰ به عصر دیتابیس سلسله مراتبی معروف است. مدل سلسله مراتبی برجسته اولین DBMS IBM بود. در این سیستم که IMS (سیستم مدیریت اطلاعات) نام داشت، فایلها به صورت والد/فرزند به هم مرتبط میشدند. نمودار زیر مدل داده سلسله مراتبی را نشان میدهد. دایره کوچک نشان دهنده اشیاء است.
مانند سیستم فایل، این مدل نیز دارای محدودیتهایی مانند پیادهسازی پیچیده است. بنابراین این مدل به دلیل عدم استقلال ساختاری، به راحتی نمیتواند روابط چند به چند و غیره را مدیریت کند.