سرویس پایگاه داده DBaaS انواع دیتابیس های رایج را به صورت مدیریت شده و با استفاده از مدل میزبانی ابری در اختیار شما قرار می دهد.

نوشته‌ها

سرویس بکاپ پایگاه داده

سرویس بکاپ گیری

امروزه داده‌ها و اطلاعات با ارزش‌ترین دارایی‌های هر سازمان یا کسب و کاری هستند. این داده‌ها از اطلاعات محرمانه سازمان‌ها تا داده‌هایی که کسب و کارها در طول سالیان جمع‌آوری کرده‌اند را در بر می‌گیرد. با توجه به رواج باج افزارها و همچنین برخط بودن اکثر سرورهای مورد استفاده توسط سازمان‌ها، پشتیبان گیری منظم از این داده‌ها امری ضروری است. البته باج افزارها و خطر هک شدن تنها دلیل برای بکاپ گیری از داده‌ها نیستند، امروزه بسیاری از داده‌ها به علت خطای انسانی و خرابی سخت افزار (مخصوصا فضای ذخیره‌سازی) از بین می‌روند.

سرویس بکاپ گیری دیتابیس

ضرورت گرفتن نسخه‌های پشتیبان و همچنین مزایای بکاپ‌گیری از کسی پنهان نیست، اما بکاپ‌ها از چه داده‌هایی و به چه صورت باید گرفته شوند؟ به عبارت دیگر ویژگی‌های یک سرویس پشتیبان گیری خوب چیست؟ هر سیستم بکاپ گیری باید دارای ۵ ویژگی زیر باشد:

  1. بکاپ‌گیری از داده های حساس
  2. بکاپ‌گیری با فاصله های زمانی کم
  3. بازگردانی بکاپ در کوتاه‌ترین زمان
  4. نگهداری از بکاپ‌ها در خارج از سرور
  5. عدم تاثیر بکاپ‌گیری در کارایی سرویس

بکاپ گیری از داده‌های حساس

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

این مورد برای نرم افزار و سرویس‌های کاربردی نیز صدق می‌کند؛ به عنوان مثال اگر از نرم افزار حسابداری استفاده می‌کنید، گرفتن نسخه پشتیبان از خود برنامه امری بیهوده است، در این مورد شما فقط باید از اطلاعات پایگاه داده نرم افزار، که شامل اطلاعات خرید، فروش، مشتریان و فاکتورهای شماست، نسخه پشتیبان تهیه کنید.

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

بنابراین یک سیستم پشتیبان‌گیری خوب از داده‌های حیاتی، حساس و با ارزش بکاپ گرفته و حجم و زمان بیهوده صرف داده‌های تجدیدپذیری که به ندرت عوض می‌شوند، نمی‌کند.

بکاپ گیری با فاصله زمانی کم

همانطور که گفتیم، یکی از ویژگی‌های یک سرویس پشتیبان‌گیری خوب قابلیت پشتیبان‌گیری از داده‌های حیاتی و حساس شماست. اما یکی از ویژگی‌های این داده‌های حساس، سرعت بالای تغییرات آن‌هاست. ثبت نام کاربر جدید، انجام تراکنش، صدور فاکتور و … از جمله مواردی هستند که در هر لحظه پایگاه داده شما را آپدیت کرده و اطلاعاتی را به آن اضافه یا از آن حذف می‌کنند.

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

فراموش نکنید که اطلاعات شما دارایی شماست و حفظ و بازگردانی آن‌ها در شرایط بحرانی از اعتبار و کسب و کار شما محافظت خواهد کرد.

بازگردانی بکاپ‌ها در کوتاه‌ترین زمان

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

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

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

نگهداری بکاپ ها خارج از سرور اصلی (Remote Location)

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

اول اینکه در سال‌های گذشته باج افزارها رشد چشمگیری داشته و همچنین بسیاری از ارائه دهندگان خدمات میزبانی (مانند ایران هاست و ابر آروان) هک شدند یا به عبارت دیگر مورد حملات امنیتی قرار گرفتند. در این صورت باید نسخه‌های پشتیبان شما در فضایی خارج از سرور اصلی نگهداری شوند تا در صورت بروز مشکل، تحت تاثیر قرار نگرفته و در برابر باج افزارها و هک مصونیت داشته باشند.

دوما، در حال حاضر علت حدود ۴۰ درصد از داون تایم مربوط به خرابی سرور یا فضای ذخیره سازی است. در این صورت ممکن است مدت زمان زیادی طول بکشد تا دیتاسنتر قطعه مربوطه را تعویض کرده تا سرویس شما مجددا در دسترس قرار بگیرد. برای بسیاری از کسب و کارها، این میزان از قطعی اصلا قابل قبول نیست. بنابراین سرویس پشتیبان‌گیری شما باید این قابلیت را داشته باشد که نسخه‌ای از بکاپ شما را در سرور دیگری بازگردانی کرده تا با حداقل زمان قطعی، سرویس یا سایت شما مجددا در دسترس قرار گیرد.

عدم تاثیر بکاپ گیری در کارایی سرویس

سرویس‌های پشتیبان گیری رایج معمولا با فاصله زمانی بالا (گاها هفتگی یا روزانه) از داده‌های شما بکاپ تهیه می‌کنند. این فاصله زمانی طولانی دو علت اصلی دارد.

اولا، سرویس‌های بکاپ کنونی توانایی پشتیان گیری با سرعت بالا را ندارند. وقتی عملیات بکاپ‌گیری از داده‌های شما ۳۰ دقیقه طول بکشد، عملا بکاپ گیری با فاصله زمانی ۱۵ دقیقه معنایی ندارد چراکه سیستم بعد از ۱۵ دقیقه هنوز درگیر گرفتن بکاپ قبلی است و توانایی شروع پروسه جدید را ندارد.

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

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

سرویس بکاب گیری دیتابیس پنکیک

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

بکاپ گیری از دیتابیس با فاصله زمانی چند دقیقه‌ای!

سرویس پایگاه داده پنکیک از دیتابیس‌های شما در فاصله زمانی بسیار کوتاه فول بکاپ می‌گیرد. در حال حاضر می‌توانید تا فاصله زمانی به کوتاهی ۳۰ دقیقه بصورت خودکار از پایگاه داده خود بکاپ تهیه کنید. همچنین قابلیت تایم لاین پنکیک، که به بزودی از آن رونمایی می‌شود، به شما این امکان را می‌دهد تا دیتابیس خود را به هر لحظه‌ای که خواستید بازگردانی کنید.

بازگردانی بکاپ دیتابیس در کمتر از ۱ دقیقه!

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

نگهداری از نسخه‌های بکاپ دیتابیس در سرور ریموت

اهمیت نگهداری نسخه‌های بکاپ در خارج از محیط پروداکشن بر کسی پوشیده نیست. بسیاری از کسب و کارها نسخه‌های پشتیبانی خود را به یک فضای ذخیره سازی ابری (مانند فضای ذخیره‌سازی ابری ابر آروان) و خارج از محیط عملیاتی منتقل می‌کنند تا در صورت بروز مشکل اطلاعاتشان از دست نرود. متاسفانه این فضای ذخیره‌سازی ابری به خودی خود قابلیت میزبانی اپلیکیشن یا سایت کسب و کارها را ندارد و انتقال آن به محیط عملیاتی دیگری که این قابلیت را داشته باشد، بسیار طول می‌کشد.

سرویس بکاپ دیتابیس پنکیک نسخه‌های پشتیبان پایگاه داده شما را به صورت ریموت و در یک سرور مجزا که قابلیت میزبانی سرویس شما را دارد نگهداری می‌کند. بنابراین با استفاده از سرویس پایگاه داده پنکیک بازگردانی بکاپ دیتابیس شما، حتی در فضای ذخیره سازی ریموت، در کمتر از ۱ دقیقه انجام گرفته تا سایت یا اپلیکیشن شما در کمترین زمان ممکن به حالت عملیاتی برگردد.

کارایی بالای دیتابیس ابری پنکیک حتی هنگام بکاپ گیری

استفاده از سخت افزارهای قدرتمند و فضای ذخیره سازی با iops بالا، در کنار راهکار نوین پنکیک برای گرفتن بکاپ از پایگاه داده، باعث شده است تا عملیات پشتیبان گیری در کمترین زمان انجام شده و در این زمان کوتاه نیز تاثیری بر کارایی دیتابیس شما نداشته باشد.

استفاده از سرویس بکاپ دیتابیس فقط با چند کلیک

همه ویژگی‌های مذکور به صورت پیشفرض در سرویس دیتابیس پنکیک وجود داشته و تنها با چند کلیک می‌توانید دیتابیس خود را ساخته و خیال خود را از پشتیبان گیری آن راحت کنید. سرویس پشتیبان گیری پایگاه داده تنها بخشی از امکانات سکوی پایگاه داده ابری پنکیک است. برای مشاهده همه ویژگی‌های دیتابیس ابری پنکیک می‌توانید به صفحه مزایای پنکیک مراجعه کنید. در حال حاضر سرویس بکاپ پنکیک روی دیتابیس های مونگو دی بی (MongoDB)، پستگرس کیو ال (PostgreSQL) و مای اسکیو ال (MySQL) فعال است.

a cloud and three databases

حمله به زیرساخت ابرآروان

در هفته های گذشته، تنها چند روز مانده به عید سال ۱۴۰۰ زیرساخت ابرآروان در دیتاسنتر آسیاتک از دسترس خارج شد. گزارش‌های اولیه حاکی از حمله به سرورهای آبر آروان در این دیتاسنتر بود، که با تلاش تیم ابرآروان اطلاعات کاربران به صورت تدریجی دوباره در دسترس قرار گرفت.

هک یا مشكلات زیرساخت، کسب و کارهای بسیاری از قطعی ابر آروان ضرر کردند

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

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

بازیابی اطلاعات مشتریان ابرآروان

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

بازیابی داده‌ها در زمان قطعی وب سرویس

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

تفکیک داده‌های حیاتی و غیرحیاتی برای درک بهتر موضوع امری ضروری‌ ست. برای تفیک بهتر این دو نوع داده می‌توان از این تعریف استفاده کرد:

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

داده‌های حیاتی داده‌هایی هستند در صورت از بین رفتن، امکان تولید مجدد آن‌ها وجود ندارد. تنها راه بازگردانی این اطلاعات از بکاپ است. اطلاعات کاربران، ثبت نام ها، تراکنش ها مالی و … از این دسته داده‌ها هستند. این داده ها غالبا در پایگاه داده یا همان دیتابیس ذخیره می‌شوند.

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

خب حالا که به ضرورت داده های دیتابیس پی بردیم، باید دنبال روشی برای ذخیره امن آن باشیم که نه تنها آن را در برابر دسترسی غیرمجاز و هک مصون نگه دارد، امکان بک‌آپ با بازه های زمانی کوتاه مدت و همچنین بازگردانی بکاپ در اسرع وقت را داشته باشد. متاسفانه زیرساخت ابری ابرآروان نه تنها چنین ویژگی‌هایی برای دیتابیس ارائه نمی‌دهد و بلکه اصلا برای میزبانی پایگاه داده مناسب نیست؛ البته خود ابر آروان هم چنین ادعایی ندارد. ابرک‌های ابرآروان از استوریج ها ریموت استفاده می‌کند که پرفرمنس یا کارایی سیستم‌های مدیریت دیتابیس را به شدت کاهش می‌دهد.

استفاده از دیتابیس ابری

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

اما ویژگی های مذکور، مزیت های ذاتی یک سرویس پایگاه داده هستند. سرویس دیتابیس پنکیک علاوه بر این ویژگی‌ها، امکان پشتیبان گیری کامل (فول بکاپ) از دیتابیس شما به صورت ساعتی را دارا می باشد. همچنین بازگردانی دیتابیس از روی فول بکاپ در کمتر از ۱ دقیقه امکان پذیر است.

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

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

 

web window with a speed meter on it

بهینه سازی وبسایت برای ترافیک بالا

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

مطمئنا می‌دانید که سرعت بارگذاری صفحات وب، تاثیر شگفتی در بازدید بیشتر مخاطبین خواهد داشت و علاوه بر ارائه دادن محصول و یا خدمتی مناسب که در سایت‌تان قرار گرفته است، عملکرد وبسایت می‌تواند یکی از مهم ترین نکات باشد چرا که هیچ مخاطبی به دنبال صفحات وب کند نیست و سرعت پایین وبسایت شما می‌تواند مخاطب را از خرید و بازدید مجدد از سایت شما منصرف کند و این بدترین چیز برای شما و کسب و کارتان خواهد بود. جالب است بدانید که طبق نظرسنجی‌های انجام شده، کاربران وب انتظار دارند که صفحه مورد نظر آن ها تنها ظرف ۳ ثانیه بارگذاری شود. همه این مسائل نشان می‌دهد که تا چه اندازه این موضوع اهمیت دارد، خصوصا زمانی که برای جذب مخاطب خود، هزینه و زمان بسیاری صرف تولید محتوا و سئو کرده باشید. موقعیتی را متصور شوید که کاربران به سراغ سایت شما می‌آیند و دیگر برنمی‌گردند؛ چرا؟ نه به خاطر این که طراحی و محتوای سایت شما راضی کننده نیست، بلکه به خاطر این که سایت‌تان از سرعت کافی برخوردار نیست. تمام این مشکلات را در زمانی متصور شوید که به مناسبت نزدیک شدن سال نو، کمپین نوروزی راه انداخته‌ اید و ترافیک و بازدید سایت بالا رفته و در نتیجه سرعت سایت کند شده و مشتریان سایت تجربه جالبی از بازدید سایت‌تان نخواهند داشت. حال برای بهینه سازی بایستی چه کنیم؟ فاکتورهای مختلفی در تعیین سرعت سایت دخیل اند؛ از بهینه سازی دیتابیس و سخت‌افزار آن گرفته تا وب سرویس و سیستم عامل، همه مواردی هستند که می‌توانند نقشی موثر در سرعت سایت شما داشته باشند که ما هر کدام از این موارد را به اختصار توضیح می‌دهیم.

 

بهینه‌سازی دیتابیس

مدیریت داده‌ها به صورت موثر و اطمینان از این که تمامی اپلیکیشن‌ها با سرعت کافی در حال اجرا هستند، یکی از موارد کلیدی در رسیدن به حداکثر بهره‌وری و موفقیت است. با رشد سیستمی که در اختیار دارید دیتابیس‌تان نیز سخت‌تر و بیش‌تر برای شما کار می‌کند و در نهایت در یک نقطه از زمان متوجه افت عملکرد خواهید شد اما ممکن است دیگر دیر باشد. تیم پنکیک با ارائه دیتابیس ابری و با در نظر گرفتن همه مواردی که ممکن است باعث کاهش عملکرد وب‌سایت شما شده باشد، بهترین راه حل ممکن را برای‌تان در نظر گرفته و سایت شما را همیشه در بهترین سطح از پاسخگویی قرار می‌دهد. سرویس دیتابیس و مواردی که ما برای بهینه‌سازی آن در نظر می‌گیریم، با بررسی های مختلف و تجربه های متفاوتی که در زمینه سرویس پایگاه داده یا همان DBaaS کسب کرده‌ایم به دست آمده است. این موارد به طور کلی شامل پیکربندی و تنظیمات نرم‌افزاری دیتابیس، انتخاب سخت‌افزار سروری که دیتابیس روی آن قرار دارد، مقیاس پذیری ابری، بک آپ ساعتی و بازگردانی سریع می‌شوند.

تنظیمات دیتابیس به خودی خود می‌تواند موارد بسیاری را در بر گیرد. برای مثال یکی از مواردی که همیشه کمک کننده است، به روز نگه داشتن دیتابیس می‌باشد. به روز بودن دیتابیس به افزایش کارایی آن کمک کرده و در عملکرد سایت نیز تاثیر بسیاری دارد. سخت‌افزاری که برای پایگاه داده خود در نظر گرفته اید نیز نقش موثری دارد و با رشد کسب و کارتان، سخت افزار مورد نیاز برای این که بهترین عملکرد را داشته باشیم نیز تغییر خواهد کرد. با در دست داشتن یک دیتابیس مقیاس‌پذیر همیشه قادر خواهید بود که در هر زمان و بنا به نیاز دیتابیس خود، سخت افزار آن را تغییر دهید تا شاهد افت عملکرد نباشید. بایستی همیشه در نظر داشته باشید که موارد بسیاری می‌توانند باعث از دست رفتن داده ها شوند. برای نمونه خرابی‌های هارد و مشکلات نرم‌افزاری بیشترین دلایل خرابی هارد هستند. تیم پیشگامان قادر است دیتابیس شما را به بهترین نحو اداره کرده و با تکنیک‌های مختلف در بحث بک آپ که شامل بک آپ گیری با فاصله زمانی کم، بک آپ بر روی سرور جایگزین و بازگردانی سریع داده‌ها می‌شوند، همیشه مراقب دیتابیس شما ست.

 

بهینه‌سازی سیستم عامل و وب‌سرویس

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

یکی از مواردی که همیشه بایستی در بهینه‌سازی VPSتان به آن توجه کنید، وضعیت وب سرویس است. برای مثال آپاچی اگر به درستی پیکربندی نشده باشد ممکن است منابع سرور را بیش از حد مصرف کرده و باعث افت عملکرد شود. اگر تنظیمات VPS‌ را به صورت دوره‌ای چک نمی‌کنید بهتر است هر چه سریع‌تر اقدام به انجام این کار کنید چرا که تنظیمات آن، خصوصا وضعیت وب سرویسی که از آن استفاده میکنید دارند نقشی اساسی در ریسپانس تایم وبسایت شما و تجربه کاربر خواهند داشت. به همین صورت، تنظیمات nginx و php هم از اهمیت زیادی برخوردارند و با توجه به منابع سرور و تعداد بازدیدکنندگان، نیازمند تنظیمات مختص خود هستند که تاثیر بسزایی در پشتیبانی از تعداد بازدیدکنندگان همزمان دارند.

سرویس پایگاه داده چیست؟

پایگاه داده به عنوان سرویس که بیشتر با عنوان سرویس دیتابیس یا پایگاه داده مدیریت شده نیز شناخته می‌شود اولین بار در سال ۲۰۰۹ با معرفی یکی از سرویس های AWS معرفی شد. از آن زمان تاکنون تخمین زده می‌شود که تا سال ۲۰۲۵، مارکت این سرویس به ۳۲۰ میلیارد دلار رسیده و سریع‌ترین سرویس ابری در حال رشد در دنیا باشد. دلیل اصلی این رشد، قابلیت‌هایی است که سرویس پایگاه داده در بهبود بهره‌وری،‌ استانداردسازی و امنیت داده‌ها روانه بازار کرده است.

اصطلاح پایگاه داده به عنوان سرویس (DBaaS)، به نرم‌افزاری اطلاق می‌شود که کاربران را قادر می‌سازد بدون آن که به پیاده‌سازی دیتابیس احتیاج داشته باشند، پایگاه داده‌ خود را راه‌اندازی کرده و مقیاس‌بندی کنند. به عنوان مثال یک توسعه دهنده می‌تواند پایگاه داده مورد نظر خودش را با چند کلیک ایجاد کرده و مدیریت و سایر امور مثل بک آپ گرفتن را به تیم پشتیبانی سرویس مربوطه بسپارد. وقتی مدیریت پایگاه داده خود را برون سپاری کنید، پلتفرمی که از آن استفاده می‌کنید مسئولیت تهیه بک‌آپ‌، تغییر اندازه کلاسترها و مفاهیم دیگری از این قبیل را پشتیبانی می‌کند.

 

راه اندازی

پس از راه اندازی پایگاه داده، وظیفه تمام عملیات بک‌اند، که قبل از آن به عهده شما بود دیگر به عهده پلتفرمی است که از آن استفاده می‌کنید. مواردی که از آن صحبت می‌کنیم شامل مدیریت پیکربندی، پشتیبان‌گیری خودکار (که امکان بازگرداندن داده های شما را در هر زمان فراهم می‌سازد)، آپدیت‌ها، مانیتورینگ دیتابیس می‌شوند. تمام این موارد که قبل از این پیچیده به نظر می‌رسیدند، اکنون با در اختیار داشتن یک DBaaS خوب، تنها چند کلیک با شما فاصله دارند.

 

مقیاس گذاری

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

 

DBaaS بر روی IaaS

دیتابیس به عنوان سرویس اغلب به عنوان مولفه‌ای از یک بستر جامع‌تر ارائه می‌شود که خدماتی تحت عنوان IaaS (زیرساخت به عنوان سرویس) ارائه می‌دهد. راه حلی که سرویس پایگاه داده در نظر می‌گیرد به این صورت است که از زیرساخت موجود تحت شبکه، منابع لازم برای انجام اموری مانند محاسبه، ذخیره سازی و امور شبکه را درخواست کرده و اساسا نیاز به بخشی تحت عنوان IT در یک سازمان برای انجام امور دیتابیس را از بین خواهد برد.

چه افرادی از سرویس دیتابیس استفاده می‌کنند؟

درک این نکته مهم است که بدانیم مانند سایر فناوری های ابری، DBaaS‌ دارای دو نوع مصرف کننده اصلی است:

  • سازمان های IT که مدیریت و نگهداری فضای ابری را بر عهده دارند.
  • End-user هایی که منابع ابری را مصرف میکنند که به طور معمول توسعه دهندگان هستند.

سازمان‌هایی که سرویس دیتابیس ارائه می‌دهند، کاربران نهایی و توسعه دهندگان را قادر می‌سازند تا از فهرست انواع پایگاه داده‌ها، یک دیتابیس را به دلخواه خودشان (رابطه ای یا غیر رابطه‌ای) تهیه کنند. پیکربندی این سرویس ها می‌تواند متنوع بوده و با سطح دسترسی مختلف ارائه شود. به عنوان مثال می‌توان محدودیتی ایجاد کرد که توسعه دهندگان فقط بتوانند روی فضاهای هارد معمولی دیتابیس بسازند. به طور معمول، کاربر نهایی از طریق یک پورتال به سیستم DBaaS دسترسی پیدا می‌کند که در آن جا مجموعه‌ای از پایگاه داده‌های مختلف و پیکربندی‌های مختلف را در اختیار دارد. با چند کلیک، کاربر، پایگاه داده مورد نیاز خود و پیکربندی مربوطه را مشخص می‌کند که در نتیجه آن سرویس پایگاه داده به سرعت پایگاه داده را تهیه کرده و به کاربر اطلاع می‌دهد. پس از آن نیز سیستم DBaaS مجوزهای مختلفی نظیر اضافه کردن کاربران و ایجاد طرح واره‌ها را به کاربر خواهد داد.

 

مزایای سرویس پایگاه داده

سرویس دیتابیس مزایای بسیاری را برای سازمان به همراه می آورد. مزایای اصلی آن عبارت اند از:

  • سرعت بالاتر در توسعه
  • بهره وری بالاتر
  • قابلیت اطمینان و عملکرد برنامه
  • امنیت برنامه

حال بیایید به هرکدام از موارد بالا نگاهی بیاندازیم.

 

چابکی توسعه دهنده

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

  • توسعه‌دهنده سازمان یک درخواست (تیکت) باز می‌کند
  • قسمت IT سازمان تیکت را بررسی کرده و به اختصاص منابع محاسبه، ذخیره‌سازی و شبکه مورد نیاز برای پایگاه داده توسعه دهنده می‌پردازد
  • قسمت IT منابع تخصیص یافته را پیکربندی می‌کند
  • قسمت IT پایگاه داده را به توسعه دهنده می‌دهد و توسعه‌دهنده از این مرحله به بعد را بر عهده می‌گیرد

 

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

یک سرویس پایگاه داده (DBaaS)، با اتوماسیون موارد ذکر شده، زمان را بهبود می‌بخشد و نه تنها به توسعه دهنده چابکی لازم را می‌بخشد، بلکه پایگاه داده همیشه منطبق با بهترین روش‌ها اداره شده و در دسترس نیز هست. سرویس دیتابیس، تمام موارد ذکر شده که عامل کندی هستند را کنترل کرده و به توسعه دهنده اجازه می‌دهد تا انرژی خود را به جای دیتابیس، برروی برنامه اصلی متمرکز کند.

 

بهره وری IT

بخش آی‌تی مسئول عملیات دیتابیس سازمان است؛ این عملیات شامل مواردی مثل تنظیم، پیکربندی، مانیتورینگ، به روزرسانی، بک آپ‌ها و به طور کلی تمام اموری که بایستی برای حفظ پایگاه داده در زمان مناسب انجام شوند، می‌باشد. با رشد شرکت و تعداد پایگاه داده‌هایی که بایستی مدیریت و نگهداری شوند، منابع آی تی شرکت محدود خواهد شد.  با انجام اقدامات مناسب، قسمت فناوری سازمان در نهایت نفس راحتی خواهد کشید و از انجام فعالیت‌های خرد مربوط به دیتابیس کنار خواهد رفت و در نهایت این فرصت را پیدا می‌کند که استانداردهای عملکردی سازمان را بهبود بخشیده و بر ارائه خدمات بهتر و سریع تر به مشتریان خود تمرکز کند.

 

قابلیت اطمینان و عملکرد برنامه

سرویس دیتابیس به راحتی می‌تواند پایگاه داده شرکت را در بهترین سطح دسترسی قرار داده و با نظارت بر عملکرد آن، همیشه پایگاه داده را در بالاترین سطح از عملکرد قرار دهد. با انجام مواردی نظیر تهیه رپلیکیشن، در هنگام خرابی، سیستم به صورت اتوماتیک، ترافیک را به سمت دیگری هدایت می‌کند تا این اطمینان حاصل شود که سیستم همیشه در دسترس است. DBaaS همواره پایگاه داده شما را مانیتور می‌کند تا افزایش تقاضا را کنترل کرده و منابع شما را در جهت منافع سازمان‌تان افزایش یا کاهش دهد. با استفاده از سیاست‌گذاری‌های مشابه نیز می‌توانید با تهیه منابع اضافه تر سیستم را پیکربندی کنید تا به طور خودکار مقیاس بندی شود.

 

امنیت برنامه

یک DBaaS خوب با ویژگی هایی که دارد می‌تواند مدیریت مداوم امنیت را برای انواع پایگاه داده‌هایی که ممکن است در سازمان‌تان استفاده کنید را به همراه بیاورد؛ این در حالی است که برخی ویژگی‌های امنیتی جدید نیز به آن اضافه خواهد کرد. علاوه بر رمزگذاری داده‌ها به صورت بومی، ممکن است به دنبال مواردی مانند امنیت شبکه به صورت end-to-end و شبکه های خصوصی مجازی نیز باشید. DBaaS قادر است تا برای تایید هویت کاربر با استفاده از سیاست های مختلف کنترل دسترسی مختلف ایجاد کند.

 

حل چالش های ابر با استفاده از DBaaS‌ داخلی

اگر داده های خود را روی یک ابر عمومی نگه دارید، هزینه‌هایی که مرتبط با این داده ها است احتمالا بسیار بالا خواهد بود. اما تنها مشکل این نیست؛ قیمت ها می‌توانند در مناطق مختلف با توجه به دسترسی شما متفاوت باشند. این هزینه‌ها میتوانند تا جایی بالا بروند که بعضی کمپانی ها مجبور اند سالانه میلیون ها دلار برای پابلیک کلود هزینه کنند. اما این هزینه ها چطور تاثیر گذار هستند؟ بیایید با یک مثال ساده جواب این سوال را بدهیم. فرض کنید که کمپانی شما به حد خوبی از رشد رسیده و اکنون نیازمند آن هستید که داده های‌تان را برون سپاری کنید چرا که مدیریت آن‌ها زمان و هزینه زیادی از شما می‌گیرد. راه حل چیست؟ اگر مقاله را به دقت مطالعه کرده باشید جواب ساده است : سرویس دیتابیس (DBaaS).

اما مشکل سازمان‌ها در چیست؟ مشکل اینجا است که پاسخ‌شان به سوال قبلی احتمالا خریداری محیطی تحت عنوان زیرساخت است. اگر تنها به دنبال مدیریت داده‌۲ها هستید و دسترسی سرویس و مقیاس گذاری و بک‌آپ ها و همه مواردی که قبل تر به آن اشاره کردیم برای‌تان اهمیت دارد، خریداری زیرساخت یا همان (IaaS) تنها یک هزینه اضافی خواهد بود. شما تنها به سرویس دیتابیس احتیاج دارید.

 

DBaaS برای توسعه دهندگان و تیم آی‌تی

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

 

پیشنهاد ما

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

پنج ویژگی کلیدی که باید هنگام خرید DBaaS‌ در نظر بگیرید

امروزه ارائه دهندگان دیتابیس به عنوان سرویس، در طیف گسترده‌ای از ویژگی ها قرار دارند؛ در نتیجه برای انتخاب بهترین سرویس دیتابیس موجود برای سازمان‌تان بایستی موارد زیر را در نظر بگیرید.

انتخاب صحیح پایگاه داده به عنوان سرویس برای موفقیت هر سیستم مبتنی بر مدیریت پایگاه داده ضروری است. بر اساس گزارش اخیر research market انتظار میرود که بازار جهانی DBaaS از ۱۲ بیلیون دلار در سال ۲۰۲۰، به ۲۴.۸ بیلیون دلار در سال ۲۰۲۵ برسد. به نظر می‌رسد تنها چیزی که باعث این رشد شده است تقاضای روزافزون برای پردازش و نمایش داده‌ها با حداقل تاخیر باشد.

تامین کنندگان DBaaS نه تنها میزبان تمام زیرساخت و داده های دیتابیس شما هستند، بلکه تمام زیرساخت‌های مربوط به شبکه و سخت افزار را نیز مدیریت می‌کنند. یک سرویس دیتابیس برای شما قابلیت مقیاس پذیری، انعطاف، بک‌آپ گیری به صورتی که شما تعیین می‌کنید و هم‌چنین محافظت از داده‌ها را به همراه می‌آورد. علاوه بر این با انتخاب DBaaS‌ مناسب از ویژگی‌های دیگری مثل امکان مانیتورینگ، دریافت هشدارها و پیام‌های مربوط به دیتابیس و همین‌طور قابلیت رپلیکیشن نیز بهره خواهید برد.

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

 

پنج فاکتور مهم برای انتخاب سرویس پایگاه داده

ارائه دهندگان سرویس پایگاه داده، همگی یک شکل نیستند و در طیف گسترده‌ای از ویژگی‌ها تفاوت قابل توجهی دارند. برای انتخاب بهترین سرویس برای سازمان خود، بایستی این ۶ عامل را در نظر بگیرید:

  • در دسترس بودن و انعطاف‌پذیری بالا
  • مقیاس پذیری و عملکرد بهینه
  • انعطاف پذیری برای محل قرار گرفتن دیتابیس
  • مدل‌های مدرن داده‌ای
  • هزینه

حال بیایید نگاهی دقیق تر به هر کدام از این ویژگی ها بیاندازیم:

 

در دسترس بودن و انعطاف پذیری بالا

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

 

مقیاس پذیری بالا

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

 

انعطاف پذیری برای محل قرار گرفتن دیتابیس

برنامه‌های مدرن به سمتی می‌روند که می‌توانند چندین ارائه دهنده فضای ابری را پوشش دهند یا از چندین نوع مختلف از خدمات ابری استفاده کنند. بیشتر اوقات سازمان‌ها سرمایه خود را بر یک ارائه دهنده متمرکز می‌کنند و از این رو به یک ارائه دهنده فضای ابری نیز متکی هستند. با این حال برای افزایش چابکی و بهبود عملکرد، داده های شما بایستی بر روی چندین فضای ترکیبی قرار بگیرد در نتیجه صاحبان اپلیکیشن ها بایستی برای حفظ انعطاف پذیری عملیاتی، یک پایگاه داده انعطاف پذیر را انتخاب کنند که بر روی همه ابرها و مکان‌ها کار کند.

 

مدل‌های مدرن داده‌ای

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

 

هزینه

کاهش هزینه مالکیت همیشه یکی از اولویت‌های اصلی مشاغل است. استفاده کارآمد از منابع محاسباتی و استفاده مجدد از سرمایه دو پارامتر اصلی هستند که بر رشد کسب و کار شما تاثیر می‌گذارند. با رشد داده ها در دیتابیس‌تان، استفاده ناکارآمد از منابع منجر به هزینه خواهد شد. یک پایگاه داده مدرن با قابلیت پشتیبانی از بخش‌های مشترک به منظور ارائه هزینه‌های کمتر، ادغام آسان تر با API و تعمیر و نگهداری آسان، از موارد اصلی در هنگام انتخاب DBaaS‌ است.

با خدمات دیتابیس پنکیک بیشتر آشنا شوید

آیا اهداف مشخصی را در مارکت خود مشخص کرده‌اید؟

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

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

آیا پیش بینی مشکلاتی که بر سر راه‌تان قرار خواهد گرفت را کرده‌اید؟

با استفاده از سرویس‌های دیتابیس پنکیک بگذارید ما نگران سوال بالا را باشیم. هزینه، وقت و انرژی خود را صرف توسعه کسب و کارتان کنید و ما دیتابیس شما را مدیریت میکنیم.

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

در ادامه سرویس‌های پنکیک را بیشتر بشناسید و با مزایای استفاده از DBaaS آشنا شوید.

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

خدمات پنکیک:

 

  • پایگاه داده MySQL:

MySQL سیستم مدیریت دیتابیس و بر پایه زبان SQL میباشد. از MySQL می‌توان برای ذخیره یک رکورد کوچک استفاده کرد و یا حتی مقادیر موجودی محصولات یک فروشگاه را کنترل کرد. MySQL درمقایسه با سایر نرم‌افزارهای دیتابیس مثل Oracle رابط کاربری بهتری داشته و استفاده ازآن نیز آسان است. همانطور که می‌دانید MySQL و SQL دو مفهوم جدا از هم هستند،MySQL  یکی از محبوب‌ترین ها در بازار است که از مدل client-server بهره می‌برد  MySQL از ساختار زبان    SQL  برای دریافت و پاسخ به کوئری‌ها استفاده می‌کند. اگر تا به حال با نرم افزارهایی مثل PostgreSQL  کار کرده‌اید با سینتکس مربوط به SQL آشنا هستید.

از ویژگی های MySQL میتوان به منعطف بودن و استفاده آسان، عمل‌کرد منحصر به فرد و سرعت بهینه و استاندارد بالا اشاره کرد.

 

  • پایگاه داده PostgreSQL:

PostgreSQL به دلیل معماری تثبیت شده، قابلیت اطمینان بالا، یکپارچگی داده‌ها، قابلیت توسعه و همچنین تعهدی که به جامعه‌ی متن‌باز دارد، در ارائه‌ی راه‌حل‌های جدید و نوآوری، از شهرت بالایی برخوردار است. این پایگاه داده با نزدیک به دو دهه فعالیت در بازار رقبای بزرگی مثل مایکروسافت، اوراکل،IBM  را به چالش کشیده است و قادر به نگهداری از انواع داده‌های مربوط به برنامه‌های شما می‌باشد. PostgreSQL نسبت به سایر پایگاه داده‌های بازار نیاز به نگهداری کمتری داشته و در نتیجه هزینه کمتری در مقایسه با استفاده از سایر دیتابیس‌های موجود در بازار پرداخت خواهید کرد.

 

  • پایگاه داده MongoDB:

MongoDB یکی از نمونه های موفق در بین دیتابیس های غیر رابطه ای (NoSQL) است که سعی در جایگزینی دیتابیس‌های رابطه‌ای را دارند. این بانک اطلاعاتی متن‌باز، داده‌ها را به صورت غیرجدولی ذخیره میکند. در حال حاضر کمپانی‌های مطرحی مانند Facebook و IBM از این سیستم استفاده می‌کنند. با حضور MongoDB در بازار، روند استفاده از این دیتابیس محبوب در بین توسعه دهندگان به خاطر ویژگی‌ها و مزایایی که دارد امروزه بسیار بیشتر از گذشته شده است.

امروزه جایگزین‌هایی برای دیتابیس‌های رابطه‌ای در بازار می‌بینیم که یکی از آن‌ها NoSQL نام دارد. NoSQL در لغت به معنی “Not only SQL” میباشد. این بانک اطلاعاتی داده‌ها را به صورت غیرجدولی ذخیره می‌کند. یکی از نمونه های موفق MongoDB ،NoSQL  نام دارد.

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

 

  • پایگاه داده InfluxDB:

InfluxDB  یک دیتابیس از نوع Time-series و متن‌باز می‌باشد که توسط تیم InfluxData توسعه پیدا کرده است InfluxDB به کمک زبان Go توسعه پیدا کرده و شما می‌توانید بدون نصب هیچ‌گونه متعلقاتی آن را نصب کنید. برای جمع‌آوری داده‌ها محدودیتی پیش روی شما نیست و مهم نیس که داده‌های خود را چگونه و با چه فرمتی به InfluxDB می‌دهید.

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

استفاده از InfluxDB و Grafana برای مانیتور کردن داده‌ها

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

InfluxDB یک دیتابیس Time-series (پایگاه داده سری زمانی) است که به طور ویژه برای ذخیره داده‌های این چنینی طراحی شده است و گرافانا نیز ابزاری گرافیکی برای نمایش این نوع دیتا است.

مروری بر عملکرد مانیتورینگ توسط گرافانا

گرافانا یکی از محبوب ترین ابزارهای گرافیکی برای نمایش داده‌های دیتابیس‌های Time-Serie است که با InfluxDB نیز هم‌خوانی دارد. در ادامه به تنظیم و ست کردن داشبورد گرافانا و InfluxDB می‌پردازیم و می‌‌بینیم که چطور از گرافانا به منظور بهره‌برداری بیشتر از داده‌های زمانی InfluxDB استفاده کنیم و چطور داده‌ها را دقیقا به شیوه‌ای که نیاز داریم نمایش دهیم.

داشبورد گرافانا

برای شروع بایستی InfluxDB و گرافانا را به هم دیگر وصل کنیم. InfluxDB و Grafana هر دو یک API داشته که در پورت های مختلف قرار دارند و گرافانا به منظور کوئری گرفتن داده‌ها، از API ای که برای InfluxDB تخصیص داده شده استفاده می‌کند. زمانی که InfluxDB را نصب می‌کنید به ابزاری برای جمع آوری اطلاعات نیاز دارید که برای این منظور از Telegraf استفاده می‌کنیم.

تنظیمات امنیتی گرافانا چطور عمل می‌کند؟

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

در اینجا به بعضی از تنظیمات امنیتی گرافانا اشاره می‌کنیم:

• به طور پیش فرض، گرافانا به کاربران اجازه ثبت نام داده و همچنین به کاربران غیر ادمین نیز اجازه ثبت سازمان می‌دهد. بنابراین ما توصیه میکنیم که مقدار “enable anonymous access” را False قرار دهید تا به کاربران اجازه ثبت سازمان داده نشود.

• به طور پیش فرض مقدار anonymous access غیرفعال است ولی اگر داشبوردی در اختیار دارید که می‌خواهید آن را تبلیغ کنید بهتر است که آن را enable کنید.

• اگر می‌خواهید زمانی که پسورد را ریست می‌کنید یوزرها ایمیل دریافت کنند باید این مورد را در قسمت SMTP مشخص کنید.

• گرافانا مقادیر به دست آمده را در اختیارتان می‌گذارد. تلگراف نیز از یک ورودی به نام Prometheus استفاده می‌کند که می‌توانید به آن مراجعه کنید و مقادیر گرافانا را جمع آوری کنید.

تنظیم کردن نمودار برای مقادیر Grafana

• در قسمت پیکربندی یک data source اضافه کنید، Influx Type را انتخاب کنید و نامی برای آن Source انتخاب کنید. همچنین می‌توانید این سورس را به عنوان منبع داده پیش فرض برای سرویس گرافانا خود انتخاب کنید. سپس URL مربوطه را بگیرید و دیتابیس، یوزر و اعتبارنامه را وارد می‌کنید و هنگامی که اعلان “موفقیت” را دریافت کردید، داشبورد گرافانا را اضافه می‌کنید.

• داشبورد گرافانا از ردیف ها و پنل ها تشکیل شده است. شما می‌توانید چندین پنل در یک ردیف داشته باشید و میتوانید پنل ها را نیز ویرایش کنید.

• از دیگر ویژگی‌های اندازه‌گیری در گرافانا، دسته بندی این اندازه گیری‌ها ست. به طور پیش فرض مقادیر گرافانا با فواصل زمانی پیش فرض گروه بندی شده است که بر اساس صفحه و عرض پنل محاسبه میشود.

• همچنین میتوانید نحوه نمایش گراف‌ها را برای خودتان شخصی سازی کنید و از تنظیمات مختلفی که برای صفحه وجود دارد بهره ببرید.

نظارت بر دیتاهای Time-series را با استفاده از گرافانا بهینه کنید.

هر نمودار در گرافانا در واقع یک کوئری به InfluxDB است. هرچه تعداد نمودارهای بیشتری داشته باشید، بار بیشتری در سرور InfluxDB شما وجود دارد. بنابراین اگر یک داشبورد با 30 گراف دارید به این معنی است که تعداد 30 کوئری به اینفلاکس دی‌بی می‌فرستید و نتایج جمع‌آوری شده توسط InfluxDB را به دست آورند و سپس برای مانیتورینگ به گرافانا ارسال شوند.

در نتیجه برای بهتر کردن عملکرد InfluxDB و گرافانا در کنار هم می‌توانید از نکات زیر استفاده کنید:

• ردیف های خود را به صورت collapsible تنظیم کنید. وقتی ردیف‌ها به صورت جمع شده قرار دارند، گرافانا آن نمودار را نشان نداده و ارائه نمی‌کند و بنابراین کوئری به سمت InfluxDB نیز ارسال نمی‌شود. بنابراین اگر یک داشبورد گرافانا در اختیار دارید که نمودارهای بسیاری در بر دارد، ممکن است همه آن‌ها برای تان مفید نباشد و یک راه عالی برای سرعت بخشیدن به عملکرد گرافانا، استفاده از ردیف‌های قابل جمع شدن است.

• اگر یک کوئری گسترده برای محاسبه دارید و InfluxDB زمان زیادی برای پاسخ دادن صرف میکند و یا دچار time out میشود و یا بر روی نمودار گرافانا خطا مشاهده می‌کنید قبل از Refresh کردن بیشتر صبر کنید.

• InfluxDB کوئری ها را cache نمی‌کند، بنابراین هر زمان یک کوئری ارسال می‌کنید، نتایج دوباره محاسبه می‌شوند. به طور مثال اگر بازه های زمانی بلندتری برای مانیتورینگ انتخاب کنید، به دست آوردن نتایج توسط اینفلاکس دی‌بی طولانی تر خواهد شد و هرچه داده‌ها بیشتر دچار تجمیع شوند، گرافانا و InfluxDB بایستی زمان بیشتری برای محاسبه وقت بگذارند.

نتیجه

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

در صورتی که پنل گرافانای شما شامل تعداد زیادی گراف و نمودار هست یا سرویس مانیتورینگ مورد استفاده شما، سرویس ها و سرورهای زیادی را مانیتور می‌کند، شما نیاز به یک میزبان قوی برای پایگاه داده اینفلاکس (influxdb) خود خواهید داشت. با استفاده از دیتابیس ابری اینفلاکس پنکیک، نه تنها به کارایی بسیار بالایی در خواندن و نوشتن روی پایگاه داده سری زمانی خود دست خواهید یافت، بلکه تنها با چند کلیک می توانید منابع پایگاه داده خود را افزایش دهید.

تاثیر استفاده از DBaaS بر کسب و کار

محبوبیت و رشد DBaaS به سرعت در سراسر دنیای فناوری ادامه دارد. این پلتفرم نرم افزاری حتی به کاربرانی که سر رشته ای از کار با دیتابیس ندارند نیز کمک میکند تا بدون مشکل عملیات دیتابیس‌های خود را کنترل کنند. ویژگی های DBaaS به توسعه دهندگان و ادمین های دیتابیس کمک میکند تا بتوانند بک آپ‌های سیستم را اتوماتیک کرده، خوشه‌های SQL و NoSQL بسازند و همچنین بتوانند بدون داشتن تجربه خاصی، عملکرد دیتابیس خود را مانیتور کنند.

انعطاف پذیری و مقایس پذیری به طور کلی از اهمیت بیشتری نسبت به گذشته برخوردار هستند و می‌دانیم که سرعت تغییرات در دنیای تکنولوژی چقدر سریع‌تر از قبل است؛ کسب و کارها به راه حل های جدیدتری برای رقابت کردن نیاز دارند. توسعه دهندگان به منظور بهینه سازی توسعه برنامه خود به دنبال یک مدل آسان برای مدیریت پایگاه داده‌های خود هستند. حال بیایید ببینیم که آیا DBaaS برای اهداف شما مناسب است یا خیر.

 

    برون‌سپاری بخش امنیت و مدیریت

امروزه برون‌سپاری در دنیای فناوری بسیار متداول است، در سال 2017، 64 درصد از درآمد کسب شده از برون‌سپاری، در حوزه فناوری اطلاعات بوده است. توسعه دهندگان از مزایای برون‌سپاری برای تمرکز بر بهره‌وری و شروع پروژه های جدید استفاده میکنند.

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

علاوه بر تعدیل وظایف ادمین، برون‌سپاری مدیریت دیتابیس، عملکرد امنیتی را نیز بهبود خواهد بخشید. امروزه برقراری امنیت در جریان توسعه امری ضروری است چرا که به طور فزاینده‌ای شاهد هک شدن کمپانی‌ها و اپلیکیشن‌ها هستیم و این موضوع میتواند تاثیر مخربی بر شهرت برند شما داشته باشد و به همین دلیل بسیار اهمیت دارد که هر اقدامی که برای تقویت امنیت برنامه خود لازم می‌بینید را انجام دهید. اکثر پلتفرم‌های DBaaS دارای ویژگی‌های امنیتی متعددی برای کمک به ساختار دفاعی شما هستند، از جمله این ویژگی‌ها میتوان به رمز گذاری SSL، پشتیبانی محلی SSD و لیست سفید IP برای کنترل دسترسی اشاره کرد.

برون‌سپاری در جهت تامین امنیت یک روش موثر برای تمرکز بیشتر بر اهداف کمپانی شما خواهد بود و در نتیجه آن وقت بیشتری در جهت نوآوری و ساخت محصولات بهتر خواهید داشت. تا به این‌جا متوجه شدیم که یکی از دلایل موفقیت DBaaS همین توجه به وظایف مدیریتی و امنیتی و کاهش مسئولیت شما در این جهات است.

 

    صرفه جویی در مخارج

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

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

 

    داده ها و مصارف خود را ردیابی کنید

با میزبانی پایگاه داده خود در فضای ابری، میتوانید به سرعت به کلیه اطلاعات مربوط به عملکرد، فضای مصرفی و مصرف منابع خود دسترسی پیدا کنید و حتی داده‌ها را در هر زمان که می‌خواهید extract کنید. در بیشتر DBaaS ها یک داشبورد از عملکرد دیتابیس در اختیار خواهید داشت و علاوه بر آن میتوانید به صورت real-time  عملکرد دیتابیس را ببینید و از هشدارها با خبر باشید.

با استفاده از این روش میتوانید عملکرد خود را به صورت موثر بررسی کنید و این در حالی است که دیگر مسئولیت سنگین مدیریت دیتابیس‌های خود را بر عهده ندارید.

 

    مقیاس پذیری و در دسترس بودن

مقیاس‌پذیر بودن در دنیای امروز اهمیت بسیاری دارد. اگر احتیاج به تغییر مقیاس دیتابیس خود دارید  DBaaS این ویژگی را برای شما فراهم میکند و با استفاده از این امکان، افزایش ظرفیت دیتابیس‌تان دیگر کار پیچیده و زمانبری نخواهد بود. تغییر اندازه سرورهای دیتابیس به صورت دستی برای اضافه کردن CPU، حافظه و یا فضای دیسک، فرایندی وقت گیر به شمار می‌رود و اینجاست که بسیاری از تیم های توسعه وقتی برای انجام این امور ندارند. با استفاده از یک DBaaS می‌توانید سرورهای خود را به راحتی فشردن یک کلیک مقیاس‌بندی کنید و پلتفرم به طور خودکار پیگیر انجام امور مقیاس‌بندی می‌شود.

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

 

 

    عدم تجربه

همانطور که پیش‌تر هم گفتیم، اگر تیم نرم‌افزاری شما بیشتر از توسعه دهندگان تشکیل شده و این افراد قادر به انجام و تامین امور دیتابیسی نیستند بایستی به فکر استفاده از یک سرویس دیتابیسی (DBaaS) باشید. برای سهولت در انجام امور دیتابیس، تامین کننده دیتابیس سرویس‌های مختلفی که از جمله مهم ترین آن ها بک‌آپ اتوماتیک است را ارائه می‌دهد.

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

 

    دیتابیس‌های موقتی

اگر از دیتابیس به عنوان آزمایش مقادیر back-end استفاده می‌کنید، DBaaS به شما این امکان را می‌دهد که دیتابیس‌های مورد نظر خود را با مقادیری که می‌خواهید بسازید و سپس هر زمان نیازی به آن نداشتید آن را پاک کنید.

 

    بازیابی اطلاعات مشکل نخواهد بود

با رشد داده‌ها در بین کسب و کارها که اکثرا هم اطلاعاتی حیاتی به شمار می‌روند، سازمان‌های داینامیک و پویا قادر به تحمل خرابی نخواهند بود و به همین دلیل است که امروزه اکثر شرکت ها به دنبال ایجاد زیرساخت های پایدار به منظور دور بودن از فاجعه‌های بازیابی اطلاعات هستند.

 

    امنیت داده‌ها

با وجود داده‌های حساس در سازمان‌ها، اطمینان از امنیت این داده‌ها اهمیت بسیاری دارد. در واقع دغدغه اصلی مشتریان در هنگام مواجه با سرویس‌های مختلف همین امنیت داده‌های تجاری است. با استفاده از سرویس‌های دیتابیس این نگرانی به حداقل خواهد رسید و داده‌های شما در محیطی امن نگهداری خواهد شد.

 

    راه حلی برای آینده

امروزه بسیاری از سازمان‌ها برای عملکرد بهتر مشاغل خود به دنبال سیستمی برای تحلیل داده‌ها هستند. همه این‌ها نیازمند دیتابیس‌های قوی و راه حل‌های نوین نرم افزاری است. سازمان‌های تجاری، اپلیکیشن‌های موبایل، بازی‌ها و سایر سیستم‌های مشابه، به توانایی‌های دیگری مانند مقیاس گذاری اتوماتیک نیاز دارند که همه و همه با کمک DBaaS قابل حل خواهد بود.

 

    رشد DBaaS

انتظار می‌رود که در سال های آینده محبوبیت DBaaS در بین تیم‌های نرم افزاری  رشد بسیاری داشته باشد و تبدیل به یک فناوری رایج بشود. با بیشتر شدن نیاز ارگان‌ها به انواع مختلف دیتابیس در جهت تثبیت جایگاه خود در مارکت، برون‌سپاری مدیریت دیتابیس به DBaaS راه حلی مقرون به صرفه و آسان به نظر می‌رسد که به رشد فناوری و کسب و کارتان کمک شایانی خواهد کرد.

MongoDB یا MySQL؟

در جامعه‌ی الکترونیکی امروز که ذخیره‌سازی داده‌ها اهمیت زیادی دارند، جدال میان MongoDB و MySQL بیشتر از هر زمان دیگری شدت پیدا کرده است. در یک طرف یک دیتابیس رابطه‌ای و در سمت دیگر یک دیتابیس غیر رابطه‌ای یا همان NoSQL ایستاده است. هر دو دیتابیس متن‌باز هستند و تحت لایسنس GNU GPL توزیع یافته‌اند. هر دو نیز به صورت نسخه‌های تجاری در دسترس هستند و ویژگی‌های بسیاری را ارائه می‌دهند.

بررسی اجمالی

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

سیستم مدیریت دیتابیس رابطه‌ای (RDMS)

RDBMS زبان استاندارد برای مدیریت دیتابیس‌های رابطه‌ای است. در RDBMS داده‌ها به شکل ردیف و ستون ذخیره می‌شوند. روابط بین جداول نیز توسط Table SQL ذخیره می‌شوند. SQL یک زبان برنامه نویسی است که برای اموری مثل بازیابی داده‌ها در یک پایگاه داده و به روز رسانی داده‌ها در یک پایگاه داده استفاده می‌شود. برخی از سیستم‌های مشهور رابطه‌ای که از SQL استفاده می‌کنند عبارت‌اند از: Oracle، Sybase، Microsoft SQL، Server،Access .

ویژگی‎‏های RDBMS

1. دیتابیس‌های SQL بر پایه جداول هستند.
2. داده‌ها بر روی ردیف‌ها و ستون‌ها ذخیره می‌شوند.
3. هر سطر شامل نمونه‌ای منحصر به فرد از داده‌ها، برای دسته‌های تعریف شده از ستون‌ها است.
4. برای شناسایی منحصر به فرد ردیف‌ها می‌توانید از Primary Key استفاده کنید.

محدودیت‌های دیتابیس‌های بر پایه SQL

• مقیاس پذیری: کاربران برای افزایش مقایس پایگاه داده‌های بر پایه SQL مجبور به استفاده از سرورهای قدرتمندی هستند که گران بوده و کار با آن‌ها نیز دشوار است. برای اینکه قادر باشیم یک پایگاه داده این چنینی را مقیاس پذیر کنیم بایستی آن را بر روی تعداد زیادی از سرورها توزیع دهیم، به همین خاطر استفاده از جداول بر روی سرورهای مختلف آسان نخواهد بود.
• پیچیدگی: در SQL داده های سرور همگی باید به نحوی در جداول ذخیره شوند. اگر داده‌های شما در جداول قرار نمی‌گیرند در نتیجه باید ساختار دیتابیس را خودتان از پایه درست کنید که پیچیده و مشکل خواهد بود.

دیتابیس‌های محبوب بر پایه SQL

• MySQL: محبوب‌ترین پایگاه داده منبع‌باز و مناسب برای برنامه‌های سازمانی.

• Oracle: یک سیستم مدیریت دیتابیس رابطه‌ای که بر پایه زبان C++ نوشته شده است. Oracle همچنین یک سیستم دیتابیس No-SQL نیز روانه بازار کرده است.

• IMB DB2: خانواده‌ای از محصولات سرور پایگاه داده که IBM برای تجزیه و تحلیل کلان داده (Big Data) آن را معرفی کرده است.

• Sybase: یک سرور پایگاه داده که در ابتدا در سطح سیستم‌عامل لینوکس استفاده می‌شد و اولین DBMS سازمانی برای سیستم‌عامل لینوکس بود.

• MS SQL Server: سیستم مدیریت پایگاه داده که توسط مایکروسافت توسعه یافته است و عمدتا برای پایگاه داده‌های سازمانی که از معماری SQL و No-SQL تشکیل شده‌اند، استفاده می‌شود.

NoSQL:

NoSQL در واقع مخففی برای عبارت «Not only SQL» است. با استفاده از NoSQL می‌توان داده‌ها را در مجموعه‌هایی گرد هم آورد و دیگر نیازی به ساختار جداول نیست. از کوئری join استفاده می‌کند و می‌توانیم آن را مقیاس‌گذاری کنیم.

مزایای NoSQL:

• مقیاس پذیری آسان: در پایگاه داده‌های RDBMS با افزایش بار در دیتابیس، دیتابیس به صورت vertical مقیاس گذاری می‌شود و در نتیجه نیاز به سرور های گران قیمت‌تر و قدرتمند‌تر داریم. در NoSQL دیتابیس‌ها به صورتی طراحی شده‌اند که به صورت افقی (Horizontal) گسترش پیدا کنند و در نتیجه با افزایش منابع می‌توانیم مقیاس گذاری را انجام دهیم.

• نگهداری سرورها ارزان است: نگهداری از دیتابیس‌های RDBMS هزینه‌بر بوده و برای آن به نیروی انسانی متخصص نیاز داریم. در سوی دیگر دیتابیس‌های NoSQL به مدیریت و نظارت کمتری احتیاج دارند و از ویژگی‌های بسیاری مانند ترمیم اتوماتیک (automatic repair)، توزیع آسان داده‌ها، مدل‌های ساده‌ی داده و ویژگی‌های از این قبیل، نیازهای مدیریتی را کمتر خواهد کرد.

• هزینه پایین سرورها و متن‌باز بودن: دیتابیس‌های NoSQL ارزان و Open-Source هستند. پیاده‌سازی این دیتابیس‌ها آسان بوده و به طور معمول هزینه چندانی برای سرور دیتابیس‌ها پرداخت نخواهید کرد. این در حالی است که در RDBMS ها بایستی از سرورهای بزرگ و گران قیمت استفاده کنید. بنابراین هزینه ذخیره و پردازش داده‌ها در NoSQL بسیار کمتر از سیستم‌های RDBMS است.

• عدم وجود Schema یا مدل داده‌ای ثابت: NoSQL از مدل داده‌ای خاصی استفاده نمی‌کند بنابراین داده‌ها بدون تعریف طرح یا الگوی قبلی در دیتابیس قرار می‌گیرند. در نتیجه می‌توانید فرمت داده‌ها را هر زمان که خواستید تغییر دهید.

محدودیت ها و معایب NoSQL:

• همانطور که گفتیم بزرگترین مزیت دیتابیس‌های NoSQL متن‌باز بودن آن‌ها است؛ در عین حال این متن باز بودن می‌تواند تبدیل به نقطه ضعف نیز بشود، چرا که استانداردهای تعریف شده خاصی برای NoSQL وجود ندارند.
• رویه خاصی برای ذخیره وجود ندارد.

دیتابیس های NoSQL محبوب در بازار:

• MongoDB: محبوب‌ترین پایگاه داده که از NoSQL استفاده می‌کند. یک پایگاه داده بر پایه اسناد.
• Apache’s Couch DB: دیتابیسی مناسب برای وب که از داده‌های با فرمت JSON برای ذخیره اطلاعات و از جاوااسکریپت برای indexing و از HTTP برای API خود استفاده می‌کند.

SQL یا NoSQL: MySQL یا MongoDB

حالا که متوجه تفاوت‌های ساختاری بین SQL و NoSQL شدیم، بیایید به تفاوت‌های عملکردی اصلی بین این دو بپردازیم.

MySQL چیست؟

MySQL یکی از محبوب‌ترین RDBMS های موجود در بازار است که توسط شرکت Oracle توسعه داده شده و پشتیبانی می‌شود. همانند دیگر سیستم‌های رابطه‌ای، MySQL با استفاده از زبان SQL داده‌ها را در جداول ذخیره می‌کند. در MySQL طرح اولیه دیتابیس توسط شما و بر اساس نیازتان تعیین شده و از آن برای تعیین قواعد بین جداول استفاده می‌شود. برای هر تغییری در این طرح‌واره (schema) نیازمند تغییرات در دیتابیس خواهید بود و ممکن است برای لحظاتی دیتابیس خود را از دست بدهید.

مزایای MySQL:

• سازگاری: MySQL برای تمام پلتفرم‌های معروف مثل لینوکس، ویندوز، مک، BSD و سولاریس موجود است. هم چنین با زبان‌های Ruby، Node.js، Perl، Java، C++، Python و Php ارتباط برقرار می‌کند و فقط به SQL محدود نیست.

• همانندسازی (افزونگی): دیتابیس MySQL می‌تواند بر روی چندین Node مختلف همانندسازی شوند، این به این معنی است که مقیاس پذیری دیتابیس را می‌توان به راحتی تغییر داد.

MongoDB چیست؟

MongoDB دیتابیس متن باز و غیر رابطه‌ای است که توسط کمپانی MongoDB توسعه یافته است. MongoDB داده ها را به صورت BSON نمایش می‌دهد که نمایشی باینری از JSON است. اگر بخواهید به یکی از اسناد فیلد اضافه کنید، بدون اینکه سیستم از دسترس خارج شود و یا نیاز به آپدیت کردن کل اسناد داشته باشید می‌توانید این کار را انجام دهید.

در زیر به بعضی از مزایای MongoDB اشاره می‌کنیم:
• مقیاس‌پذیری: MongoDB به صورت افقی مقیاس پذیر بوده و به شما کمک می‌کند از حجم workload خود بکاهید و کسب و کار خود را به راحتی افزایش مقیاس دهید.

• مدیریت: MongoDB به ادمین سیستم نیازی ندارد و به خاطر سهولت استفاده و یوزر فرندلی بودن، هم توسط توسعه دهندگان و هم ادمین ها قابل مدیریت است.

• انعطاف پذیری: می‌توانید بدون تاثیرگذاری بر روی عملکرد برنامه و یا ردیف‌های موجود، ستون‌ها و ردیف‌های مختلفی را اضافه کنید.

چه زمان از دیتابیس NoSQL استفاده کنیم؟

برای جلوگیری از تبدیل شدن نقاطی از دیتابیس به bottleneck، خصوصا در فضاهای با حجم بالا، دیتابیس‌های NoSQL مزیت‌هایی دارند که در دیتابیس‌های رابطه‌ای وجود ندارند:
1. ذخیره‌سازی مقادیر حجیمی از دیتا بدون نیاز به یک ساختار ویژه: دیتابیس NoSQL ذخیره سازی انواع مختلف داده را محدود نمی‌کند، به علاوه با بروز تغییرات در ساختار کسب و کار شما، می‌توانید تغییرات را به راحتی در دیتابیس اعمال کنید.

2. استفاده از Cloud Computing: استفاده از فضای ذخیره‌سازی مبتنی بر Cloud یک راه حل عالی است. استفاده از سخت افزار مقرون به صرفه برای گسترش داده های این فضا، همان چیزی است که دیتابیس‌های NoSQL برای آن طراحی شده‌اند.

در پایان برای جواب دادن به این سوال که «چه زمان از MongoDB به جای MySQL استفاده کنیم؟» باید بگوییم که بایستی اهداف بلندمدت و نیازمندی‌های پروژه را مد نظر قرار دهید.

MySQL همواره به خاطر عملکرد عالی، منعطف بودن، حفاظت از اطلاعات و مدیریت آسان شهرت داشته است. اما اگر داده های شما پیچیده هستند و ساختار مشخصی ندارند، اگر طرح اولیه پروژه برایتان واضح نیست و مهم‌تر از همه، اگر با حجم عظیمی از داده‌ها سر و کار دارید MongoDB احتمالا پاسخگوی چالش‌های شما است.

افزایش کارایی خواندن از دیتابیس های postgres

امروزه PostgreSQL  سریع ترین نرم افزار مدیریت دیتابیس در دنیا است با این وجود توسعه دهنده گان هنوز ترجیح میدهند از یک سیستم Non-relational استفاده کنند؛ فقط و فقط به خاطر یک مسئله: مقیاس گذاری

تفکری که حول PostgreSQL وجود دارد به این صورت است: PostgreSQL یک دیتابیس رابطه‌ای است، دیتابیس های رابطه‌ای برای مقیاس گذاری مناسب نیستند پس از دیتابیس های غیر رابطه‌ای استفاده کنیم.

هرچند این سیستم‌های غیر رابطه‌ای ممکن است برای مقیاس گذاری مناسب باشند اما معایبی هم دارند: قابلیت اطمینان پایین، ضعف در اجرای کوئری، مشکلات سازگاری.

حالا بیایید ببینیم منظور از scalability چیست؟

وقتی صحبت از مقیاس پذیری میشود میدانیم که توسعه دهندگان معمولا به دنبال ترکیبی از 3 مورد زیر هستند:

  • عملکرد بهتر در Insert
  • عمکرد بهتر در read
  • قابلیت دسترسی بهتر (که عمدتا به مقیاس پذیری ربطی نداشته ولی باز هم یکی از دلایل به شمار می‌‌آید)

PostgreSQL  از 2 ویژگی بالا یعنی عملکرد بهتر در read و قابلیت دسترسی بهتر با استفاده از یک ویژگی به نام همانندسازی جریان (streaming replication) استفاده میکند.

بنابراین اگر workload شما زیر 50 هزار insert در ثانیه است نباید مشکلی با مقایس پذیری از طریق PostgreSQL داشته باشید.

در این مطلب ما در مورد مقیاس پذیری و قابلیت دسترسی در PostgreSQL با استفاده از همانندسازی جریان توضیح میدهیم.

 

نحوه کار همانندسازی جریانی در PostgreSQL

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

همانندسازی با انتقال مداوم بخش‌های WAL  از سرور اصلی به هر رپلیکیشن مرتبط کار میکند.

 

WAL  چیست؟

قبل از آنکه بیشتر به replication بپردازیم، ببینیم منظور از WAL چیست؟

WAL(write ahead along) یک سری دستورالعمل است که از هر تغییر کوچک در دیتابیس باخبر میشود.

استفاده کردن از WAL در دیتابیس، یک روش متداول در سیستم‌های پایگاه داده برای اطمینان از atomicity و تداوم است.  به خصوص تداوم اهمیت بسیار دارد؛ با این تصور که وقتی دیتابیس یک transaction انجام میدهد، داده ی حاصل شده در آینده قابل جستجو است، حتی زمانی که سرور اصطلاحا crash میشود. اینجا ست که WAL وارد عمل میشود.

وقتی یک کوئری را اجرا میکنیم که داده ها را تغییر میدهد (یا تغییرات شمایی ایجاد میکند)، PostgreSQL ابتدا تغییرات را در حافظه ثبت میکند تا بتواند تغییرات را سریع ضبط کند. دسترسی به حافظه بسیار سریع اما بی ثبات است به این معنی که اگر سرور crash شود تغییرات اخیر داده های ما پس از راه اندازی مجدد سرور ناپدید میشوند. بنابراین ما باید نهایتا تغییرات را در یک حافظه ماندگار ذخیره کنیم.هرچند PostgreSQL قبل از ذخیره داده اصلی بر روی دیسک، ابتدا ورودی WAL را ذخیره میکند.

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

حال اگر سرور خراب شود بعد از ری استارت میتواند تمامی تغییرات را بر روی WAL اعمال کند.

 

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

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

 

WAL و Replication

متوجه شدیم که WAL  در صورتی خرابی و ری استارت شدن سرور به کار می آید اما یک محدودیت بزرگ هم دارد: در صورتی که دیسک خراب شود یا مشکل غیرقابل بازگشت دیگری به وجود آید WAL نمیتواند به ما کمک کند.

فرض کنید که تمام دیتای ما بر روی یک سرور است و به خاطر خرابی برای دیسک ممکن است از بین برود، بنابراین ما به چیزی نیاز داریم که ما را در مقابل خرابی های این چنینی مقاوم کند. اینجا است که replication به کمک می آید.

در اینجا PostgreSQL از یک رویکرد زیرکانه استفاده میکند، به جای آن که از یک ساختار کاملن جدا بسازد که از replication استفاده کند، از WAL به عنوان یک ابزار استفاده کرده و آن را برای بقیه سرورها میفرستد، حالا ما یک رپلیکیشن کامل از دیتابیس خود بر روی یک سرور دیگر داریم!

در تصویر بالا میبینیم که سرور اصلی در هر دو حالت read/write تمامی تغییرات داده را کنترل میکند (insert, update,delete) ، برای تمامی transaction ها برنامه ریزی میکند و محل ذخیره، آپدیت، پاک کردن اطلاعات را مشخص میکند،. هرگونه دستورالعمل حاصل از تغییر دیتابیس به WAL ارسال میشود و در این میان یک پیام به مشتری نیز ارسال میشود.
در حالت عادی وقتی در recovery mode قرار داریم، نوشتن و خواندن بر روی دیتابیس مجاز نیست، و یک سرور رپلیکیشن را میتواند بر روی حالت hot standby قرار دهد. این حالت اجازه write را گرفته و شما در وضعیت read-only قرار میگیرید. در نتیجه میتوانید در حالی که تغییرات دیتا در حال استریم شدن است از سرور رپلیکیشن برای خواندن استفاده کنید.

حالات مختلف رپلیکیشن برای موقعیت های مختلف

PostgreSQL از 3 نود اصلی در رپلیکیشن استفاده میکند، که هرکدام از آن ها مقادیر تکرار داده را که قبل از اینکه یک write رخ بدهد اعمال میکند.
Asynchronous replication بعد از اینکه دیتا بر روی WAL اصلی نوشته شد آن را به کلاینت بر میگرداند، اما
Synchronous Write زمانی که برروی WAL نوشته شد این مقدار را برمیگرداند

Asynchronous replication(همانندسازی آسنکرون)

این نوع رپلیکیشن تضمینی در رابطه با اینکه اطلاعات به رپلیکیشن های مختلف ارسال شده یا نه، ندارد.
دیتا زمانی که بر روی WAL سرور اصلی نوشته شد، نوشته شده در نظر گرفته میشود. فرستنده WAL تمام دیتای WAL را بر روی رپلیکیشن های متصل شده پیاده میکند اما این اتفاق به صورت asynchronous و بعد از اینکه WAL نوشته شد می افتد.

Write performance (عملیات نوشتن):

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

Read consistency (عملیات خواندن):

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

Data loss (از دست رفتن دیتا):

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

Synchronous write replication:

این نوع رپلیکیشن تضمین میکند که تمامی مقادیر مشخص شده برای رپلیکیشن، داده ی خود را قبل از اینکه سرور اصلی به مشتری اعلام موفقیت کند بر روی WAL مینویسند.

Write performance (عملیات نوشتن):

عملکرد write در این نوع رپلیکیشن حرکت کندتری نسبت به asynchronous دارد.

Data Loss (از دست رفتن دیتا):

از دست دادن دیتا در این حالت هنوز امکان پذیر است هرچند که نسبت به اجرای async کم تر شده است، در اکثر موارد synchronous هر دو سرور هم اصلی و هم رپلیکیشن دچار کرش میشوند.

Synchronous apply replication:

نه تنها تضمین میکند که WAL برای همه رپلیکیشن ها به صورت مشخص نوشته شده است بلکه تمام بخش های WAL در پایگاه داده اعمال میشوند.

Write performance (عملیات نوشتن):

از آنجایی که مشتری باید منتظر بماند تا کلیه عملیات نوشتن در سرور اصلی و رپلیکیشن انجام شود، این حالت کندترین نوع ممکن است.

Read performance (عملیات خواندن):

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

Data loss (از دست رفتن دیتا):

در مورد از دست دادن دیتا، این نوع از رپلیکیشن حتی تضمین بهتری نسبت به 2 مورد قبلی است.
در هر نوع تنظیماتی از synchronous apply، پایگاه داده اصلی و تمامی رپلیکیشن ها به صورت پایدار خواهند بود.