تهیه بکاپ مناسب از پایگاه داده به دلیل اهمیت داده های موجود در آنها ضروری است بنابراین درک چگونگی کار نیز ضروری است.
پایگاه های داده که به آنها داده های ساخت یافته نیز گفته می شود ، بخشی اساسی از هر دیتاسنتر است. در حالی که پایگاه های داده به طور معمول درصد بالایی از ترابایت واقع در یک دیتاسنتر را در اختیار ندارند ، اما درصد بالایی از داده های مهم را در اختیار دارند.
درک ساختار و عملکرد منحصر به فرد آنها در تهیه پشتیبان از آنها مهم است. به دلیل سه چالش بسیار بزرگ ، نمی توان از داده های ساختاری مانند داده های بدون ساختار بکاپ تهیه کرد.
اول ، پایگاه داده ها به طور معمول در فایل های داده ذخیره می شوند که تا زمانی که چیزی در پایگاه داده به روز می شود به طور مداوم در حال تغییر هستند. این بدان معناست که شما نمی توانید مانند هر فایل دیگری از آنها بکاپ تهیه کنید.
دوم اینکه ، اکثر پایگاه های داده دارای نوعی ژورنال هستند که می تواند مجدداً بازگردانی شود تا تراکنش ها را پس از بازگرداندن یک زمان بازگرداند یا یک تراکنش نیمه تمام را پس از خرابی برگرداند.
و سوم ، یک بازیابی معمولی با بازیابی فایلهای داده از جدیدترین نسخه پشتیبان شروع می شود و سپس با بازیابی از یک ژورنال دنبال می شود تا پایگاه داده را به حالت جدیدترین حالت ممکن بازگرداند.
هدف از نقطه بازیابی (RPO) که با بازیابی معمول یک مرحله ای اکثر سیستم های بکاپ امکان پذیر است – احتمالاً بیش از 24 ساعت – برای پایگاه های اطلاعاتی مهم کافی نیست.
کلید تهیه نسخه پشتیبان از پایگاه داده شما باعث می شود درک کنید که پایگاه داده شما چگونه این چالش ها را حل می کند.
مدل های پایگاه داده
حداقل 13 مدل پایگاه داده مختلف وجود دارد و دانستن نحوه بکاپ گیری با دانستن اینکه از چه نوع پایگاه داده ای پشتیبان تهیه می کنید ، شروع می شود.
این مدل ها عبارتند از relational (the most common), key-value, time series, document, graph, search engine, wide column, object oriented, RDF, multivalue, native XML, navigational, event.
در زیر لیستی از محبوب ترین مدل ها وجود دارد ، همراه با پاسخ به این که چگونه از آنها بکاپ تهیه کنیم وجود دارد:
Relational
سیستم مدیریت پایگاه داده رابطه ای (RDBMS) همان چیزی است که اکثر مردم هنگام گفتن کلمه پایگاه داده به آن فکر می کنند: یک سری جداول با یک طرح مشخص (طرح جدول) ، سوابق (سطرها) و ویژگی ها (مقادیر). به عنوان مثال می توان به Oracle ، SQL Server ، MySQL و PostgreSQL اشاره کرد. این پایگاه داده ها اغلب پس از زبان پرسشی که استفاده می کنند ، پایگاه داده SQL نامیده می شوند.
Key-value
یک DBMS NoSQL بسیار ساده ، متشکل از کلیدها و مقادیر ، که در صورت دانستن کلید می توانید مقدار را جستجو کنید. نمونه های معروف Redis و DynamoDB هستند.
Time series
یک پایگاه داده NoSQL به طور خاص برای مدیریت داده های زمان طراحی شده است ، زیرا هر ورودی دارای یک مهر زمان است. پایگاه داده معروف Prometheus یک مثال است و در Kubernetes کاملاً استفاده می شود.
Document
NoSQL DBMS بدون طرح به طور خاص برای ذخیره اسناد طراحی شده است. سوابق نیازی به مطابقت با هیچ استاندارد یکنواختی ندارند و می توانند انواع بسیار مختلفی از داده ها را ذخیره کنند.
JSON اغلب برای ذخیره اسناد در چنین پایگاه داده ای استفاده می شود. MongoDB محبوب ترین پایگاه داده ای است که فقط از مدل سند پشتیبانی می کند.
Wide column
NoSQL DBMS بدون طرح دیگر که می تواند تعداد زیادی ستون از داده ها را بدون یک طرح از پیش تعریف شده ذخیره کند ، مدل ستون عریض است. نام ستون ها و کلیدها را می توان در کل پایگاه داده تعریف کرد. Cassandra بهترین پایگاه داده شناخته شده از این نوع است.
اصطلاحات پایگاه داده
اصطلاحات پایگاه داده نیز مهم است ، بنابراین آنچه در زیر می آید لیستی از اصطلاحات مهم است:
همه پایگاه های داده از اصطلاحات یکسانی استفاده نمی کنند ، اما باید اصطلاحات مشابهی داشته باشند که معنی یکسانی داشته باشد.
پایگاه های داده NoSQL اغلب از اصطلاحات بسیار متفاوتی استفاده می کنند یا ممکن است چیزی مشابه مورد مورد نظر نداشته باشند.
Datafile: : datafile محلی است که یک پایگاه داده داده های خود را در آن ذخیره می کند. ممکن است یک دستگاه خام باشد (به عنوان مثال ، / dev / hda1 در Linux) ، یا یک فایل “پخته شده” (به عنوان مثال ، /sap/datafiles/dbs06.dbf یا c: \ MySQL \ datafile.dbf) باشد. در این مرحله ، بیشتر پایگاه های داده از پرونده های پخته یا منظم به عنوان فایل داده استفاده می کنند و بیشتر آنها برای هر پایگاه داده بیش از یک پایگاه داده دارند.
Table: اینجاست که اوضاع کمی تیره می شود. در یک پایگاه داده SQL ، رابطه ای ، جدول مجموعه ای از مقادیر مرتبط است که به نوعی مانند صفحه گسترده مجازی رفتار می کند. ممکن است پایگاه های داده NoSQL چیزی مشابه داشته باشند یا نداشته باشند.
Tablespace: tablespace فضایی است که در آن جداول قرار می دهید و مجموعه ای از یک یا چند فایل داده است. اگر پایگاه داده شما جداول ندارد ، احتمالاً فضای جداول ندارد.
Partition: پایگاه های داده مدرن می توانند جداولی را تقسیم کرده و در چندین منبع ، از جمله tablespaces، جدا یا تقسیم کنند.
Sharding: Sharding پارتیشن بندی را به سطح دیگری منتقل می کند و کلید اصلی پایگاه داده های گسترده است. Sharding حتی می تواند قطعات – خرده های جدول را روی گره های مختلف قرار دهد.
Master database: یک پایگاه داده اصلی وضعیت کلیه پایگاه داده ها و پرونده های داده را ردیابی می کند. اگر چندین پایگاه داده مجاز باشد ، لازم است آنها را نیز ردیابی کند.
Transaction: تراکنش فعالیتی در پایگاه داده است که یک یا چند ویژگی را در یک یا چند جدول تغییر می دهد. . تراکنش های ساده یک ویژگی را تغییر می دهند و تراکنش های پیچیده بسیاری از صفات را به عنوان یک عمل واحد و اتمی تغییر می دهد. پایگاه های داده NoSQL تمایل به استفاده از تراکنش های ساده دارند و بسیاری از کسانی که از آنها استفاده می کنند حتی فکر نمی کنند Transaction به همین صورت باشد.
Transaction log: گزارش تراکنش هر تراکنش و اینکه چه عناصری تغییر کرده است را ثبت می کند. این اطلاعات در صورت خرابی سیستم یا پس از بازیابی برای لغو یا انجام مجدد تراکنش ها استفاده می شود.
مدل های پایداری
دو روش بسیار متفاوت وجود دارد که پایگاه داده اطمینان حاصل می کند که نمای داده های پایگاه داده درج شده یا به روز شده، برای همه بینندگان پایگاه داده یکسان است. از اینها به عنوان مدلهای سازگاری یاد می شود و بر پشتیبان گیری و بازیابی تأثیر می گذارند. اولین پایداری که به عنوان پایداری قوی شناخته می شود و این اطمینان را می دهد که همه کاربران بدون در نظر گرفتن مکان و نحوه مشاهده داده ها ، داده های یکسان را همزمان می بینند. اکثر پایگاه های داده سنتی ، رابطه ای ، از این مدل پیروی می کنند.
مدل دوم یک بانک اطلاعاتی است که مدل با پیاداری ضعیف است و اطمینان حاصل می کند که یک ویژگی مشخص در نهایت برای همه بینندگان سازگار خواهد بود ، اما ممکن است مدتی طول بکشد. . یک مثال عالی از سازگاری نهایی در سیستم DNS است که باید قبل از به روزرسانی اطلاعات مربوط به نام دامنه ، منتظر بماند تا زمان live برای رکوردهای DNS به پایان برسد. این زمان ممکن است تا 72 ساعت طول بکشد.
از چه چیزی ، چگونه و چرا بکاپ گیری می کنید؟
اگر مسئولیت بکاپ گیری از یک پایگاه داده را دارید ، باید نحوه ساخت و نحوه کار آن را بفهمید. باید بفهمید که داده های خود را در کجا ذخیره می کند ، مانند فایلهای داده ، آیا از تراکنش های پیچیده یا ساده استفاده می کند یا خیر ، و اینکه کجا آن تراکنش ها را انجام می دهد. شما باید بدانید که چگونه از داده های ذخیره شده و گزارش تراکنش پشتیبان گیری مداوم داشته باشید.
همچنین باید درک کنید که پایگاه داده شما چقدر توزیع شده است. آیا پارتیشن بندی شده است آیا همه در یک میزبان است یا در ده ها یا صدها میزبان پراکنده شده است؟ اگر مورد دوم باشد ، به احتمال زیاد با یک پایگاه داده سازگار سر و کار خواهید داشت. تهیه یک اسنپ شات ثابت از یک پایگاه داده که در صدها گره پخش شده کاملاً چالش برانگیز است و بازیابی آن نیز به همان اندازه چالش برانگیز خواهد بود. برخی ممکن است فکر کنند که یک پایگاه داده سازگار که از تکثیر در بسیاری از گره ها استفاده می کند ، نیازی به تهیه نسخه پشتیبان ندارد، اما قطعاً چنین نیست.
شما ممکن است در برابر خرابی گره محافظت شوید ، اما قطعاً در برابر خطای انسانی محافظت نمی شوید.