پایگاه داده AWS – قسمت 1: AWS RDS

Summarize this content to 400 words in Persian Lang
TL; DR
پایگاه های داده رابطه ای
پایگاه داده های رابطه ای با استفاده از SQL برای پرس و جوهای پیچیده و مدیریت داده ها، داده ها را در جداول با روابط بین آنها سازماندهی می کنند.
از مزایای آن می توان به کاهش افزونگی داده ها، آشنایی بین متخصصان و رعایت اصول ACID اشاره کرد.
نمای کلی آمازون RDS
Amazon RDS یک سرویس پایگاه داده مدیریت شده است که از موتورهای مختلف از جمله گزینه های تجاری، منبع باز و گزینه های ابری پشتیبانی می کند
این به کاربران اجازه می دهد تا به جای وظایف مدیریت پایگاه داده، بر توسعه برنامه ها تمرکز کنند
ویژگی های آمازون RDS
انواع مختلف ذخیره سازی (SSD عمومی، SSD IOPS تدارکاتی و مغناطیسی) را برای متناسب کردن عملکرد و هزینه ارائه می دهد.
تهیه نسخه پشتیبان خودکار با بازیابی لحظه به لحظه و عکس های فوری دستی برای دوره های نگهداری طولانی تر
پشتیبانی از استقرار Multi-AZ برای در دسترس بودن بالا، با failover خودکار به پایگاه داده آماده به کار در صورت بروز مشکل
امنیت و مدیریت
اقدامات امنیتی از جمله سیاست های IAM، گروه های امنیتی، رمزگذاری در حالت استراحت و اتصالات SSL/TLS را اجرا می کند.
I. پایگاه های اطلاعاتی رابطه ای
یک پایگاه داده رابطه ای داده ها را در جداول سازماندهی می کند. دادههای موجود در یک جدول میتوانند برای ایجاد روابط به دادههای موجود در جدولهای دیگر پیوند دهند – از این رو، بخش رابطهای نام.
یک جدول داده ها را در ردیف ها و ستون ها ذخیره می کند. یک ردیف که اغلب رکورد نامیده می شود، حاوی تمام اطلاعات مربوط به یک ورودی خاص است. ستون ها ویژگی های یک ورودی را توصیف می کنند. تصویر زیر نمونه ای از سه جدول در یک پایگاه داده رابطه ای است.
1. سیستم مدیریت پایگاه داده رابطه ای
با یک سیستم مدیریت پایگاه داده رابطه ای (RDBMS)، می توانید یک پایگاه داده رابطه ای ایجاد، به روز رسانی و مدیریت کنید. برخی از نمونه های رایج RDBMS ها عبارتند از:
MySQL
PostgresQL
اوراکل
مایکروسافت SQL Server
آمازون شفق قطبی
شما با استفاده از پرس و جوهای زبان پرس و جو ساختاریافته (SQL) مانند مثال زیر با یک RDBMS ارتباط برقرار می کنید:
SELECT * FROM table_name.
2. مزایای پایگاه داده رابطه ای
برای کسب اطلاعات بیشتر در مورد مزایای استفاده از پایگاه داده های رابطه ای، هر یک از فلش کارت های زیر را با انتخاب آنها ورق بزنید.
SQL پیچیده
با SQL، میتوانید به چندین جدول بپیوندید تا بتوانید روابط بین دادههای خود را بهتر درک کنید.
افزونگی کاهش یافته است
میتوانید دادهها را در یک جدول ذخیره کنید و به جای ذخیره دادههای مشابه در مکانهای مختلف، آنها را از جداول دیگر ارجاع دهید.
آشنایی
از آنجایی که پایگاه داده های رابطه ای از دهه 1970 یک انتخاب محبوب بوده است، متخصصان فنی اغلب با آنها آشنایی و تجربه دارند.
دقت
پایگاه داده های رابطه ای تضمین می کنند که داده های شما یکپارچگی بالایی دارند و به اصل اتمی، سازگاری، جداسازی و دوام (ACID) پایبند هستند.
3. موارد استفاده از پایگاه داده رابطه ای
بیشتر دنیا بر روی پایگاه داده های رابطه ای اجرا می شود. در واقع، آنها هسته اصلی بسیاری از برنامههای کاربردی حیاتی هستند که ممکن است از برخی از آنها در زندگی روزمره خود استفاده کنید.
برای یادگیری برخی موارد استفاده رایج برای پایگاه داده های رابطه ای، هر یک از دو دسته زیر را گسترش دهید.
برنامه هایی که طرحواره ثابتی دارند
اینها برنامه هایی هستند که طرحی ثابت دارند و اغلب تغییر نکنید به عنوان مثال، یک برنامه آسان و جابجایی است که یک برنامه را از داخل محل خارج می کند و آن را با تغییرات اندک یا بدون تغییر به فضای ابری منتقل می کند.
برنامه هایی که نیاز به ذخیره سازی دائمی دارند
اینها برنامه هایی هستند که به ذخیره سازی دائمی نیاز دارند و از اصل ACID پیروی کنید، مانند:
برنامه های کاربردی برنامه ریزی منابع سازمانی (ERP).
برنامه های کاربردی مدیریت ارتباط با مشتری (CRM).
کاربردهای تجاری و مالی
4. بین پایگاه داده های مدیریت نشده و مدیریت نشده یکی را انتخاب کنید
اگر می خواهید پایگاه داده داخلی خود را با یک پایگاه داده رابطه ای در AWS مبادله کنید، ابتدا باید نحوه اجرای آن را انتخاب کنید – مدیریت شده یا بدون مدیریت. خدمات مدیریت شده و خدمات مدیریت نشده مشابه مدل مسئولیت مشترک اداره می شوند. مدل مسئولیت مشترک بین مسئولیت های امنیتی AWS و مسئولیت های امنیتی مشتری تمایز قائل می شود. به همین ترتیب، مدیریت در مقایسه با مدیریت نشده را می توان به عنوان یک مبادله بین راحتی و کنترل درک کرد.
پایگاه های داده مدیریت نشده
اگر یک پایگاه داده رابطهای را در محل اداره میکنید، مسئولیت تمام جنبههای عملیات بر عهده شماست. این شامل امنیت مرکز داده و برق، مدیریت ماشین های میزبان، مدیریت پایگاه داده، بهینه سازی پرس و جو و مدیریت داده های مشتری می شود. شما کاملاً مسئول همه چیز هستید، به این معنی که شما کاملاً بر همه چیز کنترل دارید.
حال، فرض کنید می خواهید با اجرای پایگاه داده رابطه ای خود در Amazon Elastic Compute Cloud (Amazon EC2) بخشی از کار را به AWS تغییر دهید. اگر پایگاه داده ای را در آمازون EC2 میزبانی می کنید، AWS زیرساخت فیزیکی و سخت افزار را پیاده سازی و نگهداری می کند و سیستم عامل (OS) نمونه EC2 را نصب می کند. با این حال، شما همچنان مسئول مدیریت نمونه EC2، مدیریت پایگاه داده در آن میزبان، بهینه سازی کوئری ها و مدیریت داده های مشتری هستید.
به این گزینه پایگاه داده مدیریت نشده می گویند. در این گزینه، AWS مسئولیت و کنترل سخت افزار و زیرساخت زیرین را بر عهده دارد. شما مسئولیت مدیریت هاست و پایگاه داده را بر عهده دارید و بر آن کنترل دارید.
شما مسئول همه چیز در پایگاه داده ای هستید که در محل میزبانی می شود. AWS بیشتر این مسئولیت را در پایگاه داده های میزبانی شده در آمازون EC2 بر عهده می گیرد.
پایگاه های داده مدیریت شده
برای انتقال بیشتر کار به AWS، میتوانید از یک سرویس پایگاه داده مدیریت شده استفاده کنید. این سرویسها راهاندازی نمونه EC2 و پایگاه داده را فراهم میکنند و سیستمهایی را برای دسترسی بالا، مقیاسپذیری، وصلهسازی و پشتیبانگیری ارائه میکنند. با این حال، در این مدل، شما همچنان مسئول تنظیم پایگاه داده، بهینه سازی پرس و جو و اطمینان از ایمن بودن داده های مشتری خود هستید. این گزینه نهایت راحتی اما کمترین میزان کنترل را در مقایسه با دو گزینه قبلی فراهم می کند.
II. نمای کلی آمازون RDS
Amazon RDS یک سرویس پایگاه داده مدیریت شده است که مشتریان می توانند از آن برای ایجاد و مدیریت پایگاه داده های رابطه ای در فضای ابری بدون بار عملیاتی مدیریت پایگاه داده سنتی استفاده کنند. به عنوان مثال، تصور کنید تجهیزات مراقبت های بهداشتی را می فروشید و هدف شما این است که فروشنده شماره یک در ساحل غربی ایالات متحده باشید. ساخت پایگاه داده مستقیماً به شما در رسیدن به آن هدف کمک نمی کند. با این حال، داشتن یک پایگاه داده جزء ضروری برای دستیابی به آن هدف است.
با آمازون RDS، می توانید برخی از کارهای نامرتبط ایجاد و مدیریت یک پایگاه داده را بارگیری کنید. میتوانید بهجای تمرکز بر وظایف مرتبط با زیرساختها، مانند تدارک، وصله، مقیاسبندی و بازیابی، روی کارهایی که برنامهتان را متمایز میکنند، تمرکز کنید.
Amazon RDS از اکثر RDBMS های محبوب، از گزینه های تجاری گرفته تا گزینه های منبع باز و حتی یک گزینه خاص AWS پشتیبانی می کند. موتورهای پشتیبانی شده آمازون RDS شامل موارد زیر است:
تجاری: Oracle، SQL Server
منبع باز: MySQL، PostgreSQL، MariaDB
بومی ابر: شفق قطبی
III. نمونه های پایگاه داده
درست مانند پایگاه داده هایی که خودتان می سازید و مدیریت می کنید، Amazon RDS از محاسبات و ذخیره سازی ساخته شده است. بخش محاسباتی نمونه پایگاه داده (DB) نامیده می شود که موتور DB را اجرا می کند. بسته به موتور انتخاب شده، نمونه دارای ویژگی ها و پیکربندی های مختلف پشتیبانی می شود. یک نمونه DB می تواند شامل چندین پایگاه داده با یک موتور باشد و هر DB می تواند شامل چندین جدول باشد.
در زیر نمونه DB یک نمونه EC2 وجود دارد. با این حال، این نمونه از طریق کنسول RDS آمازون به جای کنسول آمازون EC2 مدیریت می شود. هنگامی که نمونه DB خود را ایجاد می کنید، نوع و اندازه نمونه را انتخاب می کنید. کلاس نمونه DB که انتخاب می کنید بر میزان قدرت پردازش و حافظه آن تأثیر می گذارد.
برای کسب اطلاعات بیشتر در مورد کلاسهای نمونه مختلف، هر یک از چهار نشانگر شمارهدار را انتخاب کنید.
IV. ذخیره سازی در Amazon RDS
بخش ذخیره سازی نمونه های DB برای Amazon RDS از حجم های Amazon Elastic Block Store (Amazon EBS) برای ذخیره سازی پایگاه داده و گزارش استفاده می کند. این شامل MySQL، MariaDB، PostgreSQL، Oracle و SQL Server است.
هنگام استفاده از Aurora، دادهها در حجمهای خوشهای ذخیره میشوند، که حجمهای مجردی مجازی هستند که از درایوهای حالت جامد (SSD) استفاده میکنند. یک جلد کلاستر شامل کپی هایی از داده های شما در سه منطقه در دسترس بودن در یک منطقه AWS است. برای فایلهای موقت و غیرمداوم، Aurora از حافظه محلی استفاده میکند.
آمازون RDS سه نوع ذخیره سازی را ارائه می دهد: SSD همه منظوره (همچنین gp2 و gp3 نیز نامیده می شود)، SSD IOPS ارائه شده (همچنین به نام io1) و مغناطیسی (همچنین استاندارد نامیده می شود). آنها در ویژگی های عملکرد و قیمت متفاوت هستند، به این معنی که می توانید عملکرد و هزینه ذخیره سازی خود را با نیازهای حجم کاری پایگاه داده خود تنظیم کنید.
برای کسب اطلاعات بیشتر در مورد انواع مختلف ذخیره سازی، هر یک از سه نشانگر شماره گذاری شده را انتخاب کنید.
V. Amazon RDS در یک ابر خصوصی مجازی آمازون
هنگامی که یک نمونه DB ایجاد می کنید، ابر خصوصی مجازی آمازون (Amazon VPC) را انتخاب می کنید که پایگاه داده شما در آن زندگی می کند. سپس، زیرشبکه هایی را انتخاب می کنید که برای DB شما تعیین می شوند. این گروه زیر شبکه DB نامیده می شود و حداقل دو منطقه دسترسی در منطقه خود دارد. زیرشبکه های یک گروه زیر شبکه DB باید خصوصی باشند، بنابراین مسیری به دروازه اینترنت ندارند. این تضمین میکند که نمونه DB شما و دادههای داخل آن فقط توسط برنامه کاربردی قابل دسترسی است.
دسترسی به نمونه DB را می توان با استفاده از لیست های کنترل دسترسی شبکه (شبکه ACL) و گروه های امنیتی محدودتر کرد. با استفاده از این فایروال ها، می توانید نوع ترافیکی را که می خواهید به پایگاه داده خود دسترسی داشته باشید، در سطح دانه ای کنترل کنید.
استفاده از این کنترل ها لایه های امنیتی را برای زیرساخت شما فراهم می کند. تقویت می کند که فقط نمونه های باطن به پایگاه داده دسترسی دارند.
ما پشتیبان گیری از داده ها
شما نمی خواهید اطلاعات خود را از دست بدهید. برای تهیه نسخه پشتیبان منظم از نمونه RDS آمازون خود، می توانید از پشتیبان گیری خودکار یا عکس های فوری دستی استفاده کنید. برای آشنایی با یک دسته، برگه مناسب را انتخاب کنید.
1. پشتیبان گیری خودکار
پشتیبان گیری خودکار به طور پیش فرض روشن است. این از کل نمونه DB شما (نه فقط پایگاه داده های فردی در نمونه) و گزارش های تراکنش شما پشتیبان می گیرد. هنگامی که نمونه DB خود را ایجاد می کنید، یک پنجره پشتیبان تنظیم می کنید که دوره زمانی است که پشتیبان گیری خودکار رخ می دهد. به طور معمول، شما می خواهید پنجره را در زمانی تنظیم کنید که پایگاه داده شما فعالیت کمی را تجربه می کند، زیرا می تواند باعث افزایش تاخیر و خرابی شود.
حفظ پشتیبان: پشتیبان گیری خودکار بین 0 تا 35 روز حفظ می شود. ممکن است از خود بپرسید، “چرا پشتیبان گیری خودکار را برای 0 روز تنظیم کنید؟” تنظیم 0 روز، پشتیبانگیری خودکار را متوقف میکند. اگر آن را روی 0 تنظیم کنید، تمام پشتیبانگیریهای خودکار موجود را نیز حذف میکند. این ایده آل نیست. مزایای پشتیبانگیری خودکار که میتوانید بازیابی به موقع انجام دهید.
بازیابی به موقع: این یک نمونه DB جدید با استفاده از داده های بازیابی شده از یک نقطه خاص در زمان ایجاد می کند. این روش بازیابی با بازیابی کامل پشتیبان و بازگرداندن تراکنش ها تا محدوده زمانی مشخص شده، جزئیات بیشتری را فراهم می کند.
2. عکس های فوری دستی
اگر میخواهید نسخههای پشتیبان خودکار خود را بیش از 35 روز نگه دارید، از عکسهای فوری دستی استفاده کنید. عکسهای فوری دستی شبیه به عکسهای فوری Amazon EBS هستند، با این تفاوت که شما آنها را در کنسول RDS آمازون مدیریت میکنید. اینها پشتیبان هایی هستند که می توانید هر زمان که بخواهید شروع کنید. آنها وجود دارند تا زمانی که آنها را حذف نکنید. به عنوان مثال، برای برآورده کردن یک الزام انطباق که شما را ملزم به نگهداشتن نسخه پشتیبان از پایگاه داده به مدت یک سال میکند، باید از عکسهای فوری دستی استفاده کنید. اگر داده ها را از یک عکس فوری دستی بازیابی کنید، یک نمونه DB جدید با استفاده از داده های عکس فوری ایجاد می کند.
انتخاب گزینه پشتیبان
توصیه می شود هر دو گزینه پشتیبان را مستقر کنید. پشتیبان گیری خودکار برای بازیابی لحظه به لحظه مفید است. با عکس های فوری دستی، می توانید نسخه های پشتیبان را برای بیش از 35 روز حفظ کنید.
VII. افزونگی با Amazon RDS Multi-AZ
در استقرار Amazon RDS Multi-AZ، Amazon RDS یک کپی اضافی از پایگاه داده شما را در منطقه دسترسی دیگر ایجاد می کند. در نهایت با دو نسخه از پایگاه داده خود مواجه می شوید – یک نسخه اولیه در یک زیرشبکه در یک منطقه دسترسی و یک نسخه آماده به کار در یک زیر شبکه در یک منطقه در دسترس بودن دوم.
کپی اصلی پایگاه داده شما دسترسی به داده های شما را فراهم می کند تا برنامه ها بتوانند اطلاعات را پرس و جو کرده و نمایش دهند. داده های موجود در نسخه اولیه به طور همزمان به نسخه آماده به کار کپی می شوند. نسخه آماده به کار به عنوان یک پایگاه داده فعال در نظر گرفته نمی شود، و توسط برنامه های کاربردی پرس و جو نمی شود.
برای بهبود در دسترس بودن، Amazon RDS Multi-AZ تضمین می کند که دو نسخه از پایگاه داده خود در حال اجرا هستید و یکی از آنها در نقش اصلی است. اگر مشکل در دسترس بودن ایجاد شود، مثلاً پایگاه داده اولیه اتصال را از دست بدهد، Amazon RDS یک failover خودکار را آغاز می کند.
هنگامی که یک نمونه DB ایجاد می کنید، یک نام سیستم نام دامنه (DNS) ارائه می شود. AWS از نام DNS برای شکست در پایگاه داده آماده به کار استفاده می کند. در یک خطای خودکار، پایگاه داده آماده به کار به نقش اصلی ارتقا می یابد، و پرس و جوها به پایگاه داده اصلی جدید هدایت می شوند.
برای اطمینان از اینکه پیکربندی Multi-AZ را از دست نمی دهید، دو راه وجود دارد که می توانید یک پایگاه داده آماده به کار جدید ایجاد کنید. آنها به شرح زیر است:
اگر دوره اولیه اولیه قبلی همچنان فعال است، به حالت آماده به کار تنزل دهید.
یک نمونه DB آماده به کار جدید را بایستید.
دلیل انتخاب چندین زیرشبکه برای پایگاه داده Amazon RDS به دلیل پیکربندی Multi-AZ است. باید اطمینان حاصل کنید که برای نسخههای اولیه و آماده به کار، زیرشبکههایی در مناطق مختلف در دسترس دارید.
هشتم. امنیت RDS آمازون
وقتی صحبت از امنیت در Amazon RDS به میان می آید، شما کنترل دسترسی به منابع RDS آمازون خود را دارید، مانند پایگاه های داده خود در یک نمونه DB. نحوه مدیریت دسترسی به وظایفی که شما یا سایر کاربران باید در Amazon RDS انجام دهید بستگی دارد. ACL های شبکه و گروه های امنیتی به کاربران کمک می کنند تا جریان ترافیک را دیکته کنند. اگر میخواهید فعالیتها و منابعی را که دیگران میتوانند به آن دسترسی داشته باشند را محدود کنید، میتوانید از سیاستهای AWS Identity and Access Management (IAM) استفاده کنید.
IAM
از سیاست های IAM برای اختصاص مجوزهایی استفاده کنید که تعیین می کند چه کسی می تواند منابع RDS آمازون را مدیریت کند. برای مثال، میتوانید از IAM برای تعیین اینکه چه کسی میتواند نمونههای DB را ایجاد، توصیف، اصلاح و حذف کند، منابع برچسب یا گروههای امنیتی را تغییر دهد، استفاده کنید.
گروه های امنیتی
از گروههای امنیتی برای کنترل اینکه کدام آدرسهای IP یا نمونههای آمازون EC2 میتوانند به پایگاههای داده شما در یک نمونه DB متصل شوند، استفاده کنید. هنگامی که برای اولین بار یک نمونه DB ایجاد می کنید، تمام دسترسی به پایگاه داده به جز از طریق قوانین مشخص شده توسط یک گروه امنیتی مرتبط، جلوگیری می شود.
رمزگذاری RDS آمازون
از رمزگذاری RDS آمازون برای ایمن سازی نمونه های DB و عکس های فوری خود در حالت استراحت استفاده کنید.
SSL یا TLS
از اتصالات لایه سوکت های امن (SSL) یا امنیت لایه حمل و نقل (TLS) با نمونه های DB که موتورهای پایگاه داده MySQL، MariaDB، PostgreSQL، Oracle یا SQL Server را اجرا می کنند، استفاده کنید.
TL; DR
پایگاه های داده رابطه ای
- پایگاه داده های رابطه ای با استفاده از SQL برای پرس و جوهای پیچیده و مدیریت داده ها، داده ها را در جداول با روابط بین آنها سازماندهی می کنند.
- از مزایای آن می توان به کاهش افزونگی داده ها، آشنایی بین متخصصان و رعایت اصول ACID اشاره کرد.
نمای کلی آمازون RDS
- Amazon RDS یک سرویس پایگاه داده مدیریت شده است که از موتورهای مختلف از جمله گزینه های تجاری، منبع باز و گزینه های ابری پشتیبانی می کند
- این به کاربران اجازه می دهد تا به جای وظایف مدیریت پایگاه داده، بر توسعه برنامه ها تمرکز کنند
ویژگی های آمازون RDS
- انواع مختلف ذخیره سازی (SSD عمومی، SSD IOPS تدارکاتی و مغناطیسی) را برای متناسب کردن عملکرد و هزینه ارائه می دهد.
- تهیه نسخه پشتیبان خودکار با بازیابی لحظه به لحظه و عکس های فوری دستی برای دوره های نگهداری طولانی تر
- پشتیبانی از استقرار Multi-AZ برای در دسترس بودن بالا، با failover خودکار به پایگاه داده آماده به کار در صورت بروز مشکل
امنیت و مدیریت
- اقدامات امنیتی از جمله سیاست های IAM، گروه های امنیتی، رمزگذاری در حالت استراحت و اتصالات SSL/TLS را اجرا می کند.
I. پایگاه های اطلاعاتی رابطه ای
یک پایگاه داده رابطه ای داده ها را در جداول سازماندهی می کند. دادههای موجود در یک جدول میتوانند برای ایجاد روابط به دادههای موجود در جدولهای دیگر پیوند دهند – از این رو، بخش رابطهای نام.
یک جدول داده ها را در ردیف ها و ستون ها ذخیره می کند. یک ردیف که اغلب رکورد نامیده می شود، حاوی تمام اطلاعات مربوط به یک ورودی خاص است. ستون ها ویژگی های یک ورودی را توصیف می کنند. تصویر زیر نمونه ای از سه جدول در یک پایگاه داده رابطه ای است.
1. سیستم مدیریت پایگاه داده رابطه ای
با یک سیستم مدیریت پایگاه داده رابطه ای (RDBMS)، می توانید یک پایگاه داده رابطه ای ایجاد، به روز رسانی و مدیریت کنید. برخی از نمونه های رایج RDBMS ها عبارتند از:
- MySQL
- PostgresQL
- اوراکل
- مایکروسافت SQL Server
- آمازون شفق قطبی
شما با استفاده از پرس و جوهای زبان پرس و جو ساختاریافته (SQL) مانند مثال زیر با یک RDBMS ارتباط برقرار می کنید:
SELECT * FROM table_name.
2. مزایای پایگاه داده رابطه ای
برای کسب اطلاعات بیشتر در مورد مزایای استفاده از پایگاه داده های رابطه ای، هر یک از فلش کارت های زیر را با انتخاب آنها ورق بزنید.
- SQL پیچیده
با SQL، میتوانید به چندین جدول بپیوندید تا بتوانید روابط بین دادههای خود را بهتر درک کنید.
- افزونگی کاهش یافته است
میتوانید دادهها را در یک جدول ذخیره کنید و به جای ذخیره دادههای مشابه در مکانهای مختلف، آنها را از جداول دیگر ارجاع دهید.
- آشنایی
از آنجایی که پایگاه داده های رابطه ای از دهه 1970 یک انتخاب محبوب بوده است، متخصصان فنی اغلب با آنها آشنایی و تجربه دارند.
- دقت
پایگاه داده های رابطه ای تضمین می کنند که داده های شما یکپارچگی بالایی دارند و به اصل اتمی، سازگاری، جداسازی و دوام (ACID) پایبند هستند.
3. موارد استفاده از پایگاه داده رابطه ای
بیشتر دنیا بر روی پایگاه داده های رابطه ای اجرا می شود. در واقع، آنها هسته اصلی بسیاری از برنامههای کاربردی حیاتی هستند که ممکن است از برخی از آنها در زندگی روزمره خود استفاده کنید.
برای یادگیری برخی موارد استفاده رایج برای پایگاه داده های رابطه ای، هر یک از دو دسته زیر را گسترش دهید.
برنامه هایی که طرحواره ثابتی دارند
اینها برنامه هایی هستند که طرحی ثابت دارند و اغلب تغییر نکنید به عنوان مثال، یک برنامه آسان و جابجایی است که یک برنامه را از داخل محل خارج می کند و آن را با تغییرات اندک یا بدون تغییر به فضای ابری منتقل می کند.
برنامه هایی که نیاز به ذخیره سازی دائمی دارند
اینها برنامه هایی هستند که به ذخیره سازی دائمی نیاز دارند و از اصل ACID پیروی کنید، مانند:
- برنامه های کاربردی برنامه ریزی منابع سازمانی (ERP).
- برنامه های کاربردی مدیریت ارتباط با مشتری (CRM).
- کاربردهای تجاری و مالی
4. بین پایگاه داده های مدیریت نشده و مدیریت نشده یکی را انتخاب کنید
اگر می خواهید پایگاه داده داخلی خود را با یک پایگاه داده رابطه ای در AWS مبادله کنید، ابتدا باید نحوه اجرای آن را انتخاب کنید – مدیریت شده یا بدون مدیریت. خدمات مدیریت شده و خدمات مدیریت نشده مشابه مدل مسئولیت مشترک اداره می شوند. مدل مسئولیت مشترک بین مسئولیت های امنیتی AWS و مسئولیت های امنیتی مشتری تمایز قائل می شود. به همین ترتیب، مدیریت در مقایسه با مدیریت نشده را می توان به عنوان یک مبادله بین راحتی و کنترل درک کرد.
پایگاه های داده مدیریت نشده
اگر یک پایگاه داده رابطهای را در محل اداره میکنید، مسئولیت تمام جنبههای عملیات بر عهده شماست. این شامل امنیت مرکز داده و برق، مدیریت ماشین های میزبان، مدیریت پایگاه داده، بهینه سازی پرس و جو و مدیریت داده های مشتری می شود. شما کاملاً مسئول همه چیز هستید، به این معنی که شما کاملاً بر همه چیز کنترل دارید.
حال، فرض کنید می خواهید با اجرای پایگاه داده رابطه ای خود در Amazon Elastic Compute Cloud (Amazon EC2) بخشی از کار را به AWS تغییر دهید. اگر پایگاه داده ای را در آمازون EC2 میزبانی می کنید، AWS زیرساخت فیزیکی و سخت افزار را پیاده سازی و نگهداری می کند و سیستم عامل (OS) نمونه EC2 را نصب می کند. با این حال، شما همچنان مسئول مدیریت نمونه EC2، مدیریت پایگاه داده در آن میزبان، بهینه سازی کوئری ها و مدیریت داده های مشتری هستید.
به این گزینه پایگاه داده مدیریت نشده می گویند. در این گزینه، AWS مسئولیت و کنترل سخت افزار و زیرساخت زیرین را بر عهده دارد. شما مسئولیت مدیریت هاست و پایگاه داده را بر عهده دارید و بر آن کنترل دارید.
شما مسئول همه چیز در پایگاه داده ای هستید که در محل میزبانی می شود. AWS بیشتر این مسئولیت را در پایگاه داده های میزبانی شده در آمازون EC2 بر عهده می گیرد.
پایگاه های داده مدیریت شده
برای انتقال بیشتر کار به AWS، میتوانید از یک سرویس پایگاه داده مدیریت شده استفاده کنید. این سرویسها راهاندازی نمونه EC2 و پایگاه داده را فراهم میکنند و سیستمهایی را برای دسترسی بالا، مقیاسپذیری، وصلهسازی و پشتیبانگیری ارائه میکنند. با این حال، در این مدل، شما همچنان مسئول تنظیم پایگاه داده، بهینه سازی پرس و جو و اطمینان از ایمن بودن داده های مشتری خود هستید. این گزینه نهایت راحتی اما کمترین میزان کنترل را در مقایسه با دو گزینه قبلی فراهم می کند.
II. نمای کلی آمازون RDS
Amazon RDS یک سرویس پایگاه داده مدیریت شده است که مشتریان می توانند از آن برای ایجاد و مدیریت پایگاه داده های رابطه ای در فضای ابری بدون بار عملیاتی مدیریت پایگاه داده سنتی استفاده کنند. به عنوان مثال، تصور کنید تجهیزات مراقبت های بهداشتی را می فروشید و هدف شما این است که فروشنده شماره یک در ساحل غربی ایالات متحده باشید. ساخت پایگاه داده مستقیماً به شما در رسیدن به آن هدف کمک نمی کند. با این حال، داشتن یک پایگاه داده جزء ضروری برای دستیابی به آن هدف است.
با آمازون RDS، می توانید برخی از کارهای نامرتبط ایجاد و مدیریت یک پایگاه داده را بارگیری کنید. میتوانید بهجای تمرکز بر وظایف مرتبط با زیرساختها، مانند تدارک، وصله، مقیاسبندی و بازیابی، روی کارهایی که برنامهتان را متمایز میکنند، تمرکز کنید.
Amazon RDS از اکثر RDBMS های محبوب، از گزینه های تجاری گرفته تا گزینه های منبع باز و حتی یک گزینه خاص AWS پشتیبانی می کند. موتورهای پشتیبانی شده آمازون RDS شامل موارد زیر است:
- تجاری: Oracle، SQL Server
- منبع باز: MySQL، PostgreSQL، MariaDB
- بومی ابر: شفق قطبی
III. نمونه های پایگاه داده
درست مانند پایگاه داده هایی که خودتان می سازید و مدیریت می کنید، Amazon RDS از محاسبات و ذخیره سازی ساخته شده است. بخش محاسباتی نمونه پایگاه داده (DB) نامیده می شود که موتور DB را اجرا می کند. بسته به موتور انتخاب شده، نمونه دارای ویژگی ها و پیکربندی های مختلف پشتیبانی می شود. یک نمونه DB می تواند شامل چندین پایگاه داده با یک موتور باشد و هر DB می تواند شامل چندین جدول باشد.
در زیر نمونه DB یک نمونه EC2 وجود دارد. با این حال، این نمونه از طریق کنسول RDS آمازون به جای کنسول آمازون EC2 مدیریت می شود. هنگامی که نمونه DB خود را ایجاد می کنید، نوع و اندازه نمونه را انتخاب می کنید. کلاس نمونه DB که انتخاب می کنید بر میزان قدرت پردازش و حافظه آن تأثیر می گذارد.
برای کسب اطلاعات بیشتر در مورد کلاسهای نمونه مختلف، هر یک از چهار نشانگر شمارهدار را انتخاب کنید.
IV. ذخیره سازی در Amazon RDS
بخش ذخیره سازی نمونه های DB برای Amazon RDS از حجم های Amazon Elastic Block Store (Amazon EBS) برای ذخیره سازی پایگاه داده و گزارش استفاده می کند. این شامل MySQL، MariaDB، PostgreSQL، Oracle و SQL Server است.
هنگام استفاده از Aurora، دادهها در حجمهای خوشهای ذخیره میشوند، که حجمهای مجردی مجازی هستند که از درایوهای حالت جامد (SSD) استفاده میکنند. یک جلد کلاستر شامل کپی هایی از داده های شما در سه منطقه در دسترس بودن در یک منطقه AWS است. برای فایلهای موقت و غیرمداوم، Aurora از حافظه محلی استفاده میکند.
آمازون RDS سه نوع ذخیره سازی را ارائه می دهد: SSD همه منظوره (همچنین gp2 و gp3 نیز نامیده می شود)، SSD IOPS ارائه شده (همچنین به نام io1) و مغناطیسی (همچنین استاندارد نامیده می شود). آنها در ویژگی های عملکرد و قیمت متفاوت هستند، به این معنی که می توانید عملکرد و هزینه ذخیره سازی خود را با نیازهای حجم کاری پایگاه داده خود تنظیم کنید.
برای کسب اطلاعات بیشتر در مورد انواع مختلف ذخیره سازی، هر یک از سه نشانگر شماره گذاری شده را انتخاب کنید.
V. Amazon RDS در یک ابر خصوصی مجازی آمازون
هنگامی که یک نمونه DB ایجاد می کنید، ابر خصوصی مجازی آمازون (Amazon VPC) را انتخاب می کنید که پایگاه داده شما در آن زندگی می کند. سپس، زیرشبکه هایی را انتخاب می کنید که برای DB شما تعیین می شوند. این گروه زیر شبکه DB نامیده می شود و حداقل دو منطقه دسترسی در منطقه خود دارد. زیرشبکه های یک گروه زیر شبکه DB باید خصوصی باشند، بنابراین مسیری به دروازه اینترنت ندارند. این تضمین میکند که نمونه DB شما و دادههای داخل آن فقط توسط برنامه کاربردی قابل دسترسی است.
دسترسی به نمونه DB را می توان با استفاده از لیست های کنترل دسترسی شبکه (شبکه ACL) و گروه های امنیتی محدودتر کرد. با استفاده از این فایروال ها، می توانید نوع ترافیکی را که می خواهید به پایگاه داده خود دسترسی داشته باشید، در سطح دانه ای کنترل کنید.
استفاده از این کنترل ها لایه های امنیتی را برای زیرساخت شما فراهم می کند. تقویت می کند که فقط نمونه های باطن به پایگاه داده دسترسی دارند.
ما پشتیبان گیری از داده ها
شما نمی خواهید اطلاعات خود را از دست بدهید. برای تهیه نسخه پشتیبان منظم از نمونه RDS آمازون خود، می توانید از پشتیبان گیری خودکار یا عکس های فوری دستی استفاده کنید. برای آشنایی با یک دسته، برگه مناسب را انتخاب کنید.
1. پشتیبان گیری خودکار
پشتیبان گیری خودکار به طور پیش فرض روشن است. این از کل نمونه DB شما (نه فقط پایگاه داده های فردی در نمونه) و گزارش های تراکنش شما پشتیبان می گیرد. هنگامی که نمونه DB خود را ایجاد می کنید، یک پنجره پشتیبان تنظیم می کنید که دوره زمانی است که پشتیبان گیری خودکار رخ می دهد. به طور معمول، شما می خواهید پنجره را در زمانی تنظیم کنید که پایگاه داده شما فعالیت کمی را تجربه می کند، زیرا می تواند باعث افزایش تاخیر و خرابی شود.
حفظ پشتیبان: پشتیبان گیری خودکار بین 0 تا 35 روز حفظ می شود. ممکن است از خود بپرسید، “چرا پشتیبان گیری خودکار را برای 0 روز تنظیم کنید؟” تنظیم 0 روز، پشتیبانگیری خودکار را متوقف میکند. اگر آن را روی 0 تنظیم کنید، تمام پشتیبانگیریهای خودکار موجود را نیز حذف میکند. این ایده آل نیست. مزایای پشتیبانگیری خودکار که میتوانید بازیابی به موقع انجام دهید.
بازیابی به موقع: این یک نمونه DB جدید با استفاده از داده های بازیابی شده از یک نقطه خاص در زمان ایجاد می کند. این روش بازیابی با بازیابی کامل پشتیبان و بازگرداندن تراکنش ها تا محدوده زمانی مشخص شده، جزئیات بیشتری را فراهم می کند.
2. عکس های فوری دستی
اگر میخواهید نسخههای پشتیبان خودکار خود را بیش از 35 روز نگه دارید، از عکسهای فوری دستی استفاده کنید. عکسهای فوری دستی شبیه به عکسهای فوری Amazon EBS هستند، با این تفاوت که شما آنها را در کنسول RDS آمازون مدیریت میکنید. اینها پشتیبان هایی هستند که می توانید هر زمان که بخواهید شروع کنید. آنها وجود دارند تا زمانی که آنها را حذف نکنید. به عنوان مثال، برای برآورده کردن یک الزام انطباق که شما را ملزم به نگهداشتن نسخه پشتیبان از پایگاه داده به مدت یک سال میکند، باید از عکسهای فوری دستی استفاده کنید. اگر داده ها را از یک عکس فوری دستی بازیابی کنید، یک نمونه DB جدید با استفاده از داده های عکس فوری ایجاد می کند.
انتخاب گزینه پشتیبان
توصیه می شود هر دو گزینه پشتیبان را مستقر کنید. پشتیبان گیری خودکار برای بازیابی لحظه به لحظه مفید است. با عکس های فوری دستی، می توانید نسخه های پشتیبان را برای بیش از 35 روز حفظ کنید.
VII. افزونگی با Amazon RDS Multi-AZ
در استقرار Amazon RDS Multi-AZ، Amazon RDS یک کپی اضافی از پایگاه داده شما را در منطقه دسترسی دیگر ایجاد می کند. در نهایت با دو نسخه از پایگاه داده خود مواجه می شوید – یک نسخه اولیه در یک زیرشبکه در یک منطقه دسترسی و یک نسخه آماده به کار در یک زیر شبکه در یک منطقه در دسترس بودن دوم.
کپی اصلی پایگاه داده شما دسترسی به داده های شما را فراهم می کند تا برنامه ها بتوانند اطلاعات را پرس و جو کرده و نمایش دهند. داده های موجود در نسخه اولیه به طور همزمان به نسخه آماده به کار کپی می شوند. نسخه آماده به کار به عنوان یک پایگاه داده فعال در نظر گرفته نمی شود، و توسط برنامه های کاربردی پرس و جو نمی شود.
برای بهبود در دسترس بودن، Amazon RDS Multi-AZ تضمین می کند که دو نسخه از پایگاه داده خود در حال اجرا هستید و یکی از آنها در نقش اصلی است. اگر مشکل در دسترس بودن ایجاد شود، مثلاً پایگاه داده اولیه اتصال را از دست بدهد، Amazon RDS یک failover خودکار را آغاز می کند.
هنگامی که یک نمونه DB ایجاد می کنید، یک نام سیستم نام دامنه (DNS) ارائه می شود. AWS از نام DNS برای شکست در پایگاه داده آماده به کار استفاده می کند. در یک خطای خودکار، پایگاه داده آماده به کار به نقش اصلی ارتقا می یابد، و پرس و جوها به پایگاه داده اصلی جدید هدایت می شوند.
برای اطمینان از اینکه پیکربندی Multi-AZ را از دست نمی دهید، دو راه وجود دارد که می توانید یک پایگاه داده آماده به کار جدید ایجاد کنید. آنها به شرح زیر است:
- اگر دوره اولیه اولیه قبلی همچنان فعال است، به حالت آماده به کار تنزل دهید.
- یک نمونه DB آماده به کار جدید را بایستید.
دلیل انتخاب چندین زیرشبکه برای پایگاه داده Amazon RDS به دلیل پیکربندی Multi-AZ است. باید اطمینان حاصل کنید که برای نسخههای اولیه و آماده به کار، زیرشبکههایی در مناطق مختلف در دسترس دارید.
هشتم. امنیت RDS آمازون
وقتی صحبت از امنیت در Amazon RDS به میان می آید، شما کنترل دسترسی به منابع RDS آمازون خود را دارید، مانند پایگاه های داده خود در یک نمونه DB. نحوه مدیریت دسترسی به وظایفی که شما یا سایر کاربران باید در Amazon RDS انجام دهید بستگی دارد. ACL های شبکه و گروه های امنیتی به کاربران کمک می کنند تا جریان ترافیک را دیکته کنند. اگر میخواهید فعالیتها و منابعی را که دیگران میتوانند به آن دسترسی داشته باشند را محدود کنید، میتوانید از سیاستهای AWS Identity and Access Management (IAM) استفاده کنید.
IAM
از سیاست های IAM برای اختصاص مجوزهایی استفاده کنید که تعیین می کند چه کسی می تواند منابع RDS آمازون را مدیریت کند. برای مثال، میتوانید از IAM برای تعیین اینکه چه کسی میتواند نمونههای DB را ایجاد، توصیف، اصلاح و حذف کند، منابع برچسب یا گروههای امنیتی را تغییر دهد، استفاده کنید.
گروه های امنیتی
از گروههای امنیتی برای کنترل اینکه کدام آدرسهای IP یا نمونههای آمازون EC2 میتوانند به پایگاههای داده شما در یک نمونه DB متصل شوند، استفاده کنید. هنگامی که برای اولین بار یک نمونه DB ایجاد می کنید، تمام دسترسی به پایگاه داده به جز از طریق قوانین مشخص شده توسط یک گروه امنیتی مرتبط، جلوگیری می شود.
رمزگذاری RDS آمازون
از رمزگذاری RDS آمازون برای ایمن سازی نمونه های DB و عکس های فوری خود در حالت استراحت استفاده کنید.
SSL یا TLS
از اتصالات لایه سوکت های امن (SSL) یا امنیت لایه حمل و نقل (TLS) با نمونه های DB که موتورهای پایگاه داده MySQL، MariaDB، PostgreSQL، Oracle یا SQL Server را اجرا می کنند، استفاده کنید.