انتخاب پایگاه داده نادرست برای برنامه های کاربردی داده فشرده، دری را به روی چالش های مقیاس بندی و پیچیدگی های غیر ضروری باز می کند. انتخاب درست ساده تر است.
پایگاه دادهای که امروز انتخاب میکنید بر تلاشهای برنامه و توسعه شما در آینده تأثیر خواهد گذاشت. با این حال، انتخاب یک توسعهدهنده برای پایگاه داده یک تصمیم احساسی است، و توسعهدهندگان اغلب یک پایگاه داده را صرفاً بر اساس آنچه برنامههایشان در ابتدا نیاز دارند انتخاب میکنند.
اگر پایگاه داده ای هیجان انگیز به نظر می رسد، یک توسعه دهنده ممکن است با دل و جرات خود عمل کند. و آنها ممکن است از انجام تجزیه و تحلیل در مورد اینکه آیا پایگاه داده برای برنامه آنها امروز و در آینده کار می کند یا خیر صرف نظر کنند.
یک برنامهنویس ممکن است از انتخاب بین پایگاههای اطلاعاتی موجود غرق شود. این می تواند فلج ایجاد کند و به دنبال آن یک پایگاه داده انتخاب شود که به آن چه برنامه کاربردی شروع می شود، می پردازد. اما شما همیشه نمی دانید همه موارد استفاده از یک برنامه کاربردی چه خواهد بود. برنامه ها معمولاً ساده شروع می شوند و با گذشت زمان پیچیده تر می شوند.
بنابراین، آنچه معمولاً اتفاق می افتد این است که یک توسعه دهنده با PostgreSQL شروع می کند. سپس توسعهدهنده MongoDB را اضافه میکند زیرا میخواهند با دادههای نیمه ساختاریافته کار کنند و به یک طرحواره انعطافپذیر نیاز دارند. سپس توسعهدهنده Elasticsearch را برای انجام جستجوی گزارش یا جستجوی وجهی اضافه میکند. و سپس متوجه می شوند که به اندازه کافی سریع نیست، بنابراین Redis را به عنوان یک حافظه پنهان در بالای آن وارد می کنند. و هنگامی که آنها می خواهند تجزیه و تحلیل انجام دهند، یک انبار داده مانند Snowflake ایجاد می کنند.
همه چیز به سرعت گیج کننده می شود. گسترش پایگاه داده حاصل، توسعه دهندگان را نگران انتقال داده ها بین پایگاه های داده و استفاده از فرآیندهای پرهزینه استخراج، تبدیل و بارگذاری (ETL) می کند.
اما لازم نیست اینطور باشد. توسعه دهندگان می توانند هر آنچه را که نیاز دارند با اتخاذ رویکردی متفاوت بدست آورند. در اینجا نحوه انتخاب پایگاه داده ای است که همه نیازهای شما را برآورده می کند.
به آینده نزدیک نگاه کنید
مهاجرتهای پایگاه داده و پلتفرمسازی مجدد پیک نیک نیست. همانطور که پایگاه داده خود را انتخاب می کنید، به خاطر داشته باشید که انتخابی را انجام می دهید که خنثی کردن آن دشوار است و می تواند شما را در یک معماری قفل کند.
به این فکر کنید که آیا پایگاه داده انتخابی شما هم شرایط فعلی شما را برآورده می کند و هم می تواند شما را به جایی که باید در آینده با برنامه خود بروید، برساند. این سوالات را از خود بپرسید:
- اگر برنامه شما ویروسی شود به چه چیزی از پایگاه داده خود نیاز دارید؟
- آیا پایگاه داده انتخابی شما امکان افزودن ویژگی های جدید جالب را در آینده فراهم می کند؟
- آیا پایگاه داده را صرفاً بر اساس آنچه به شما امکان می دهد اکنون نسخه نمایشی خود را نشان دهید انتخاب می کنید؟
ممکن است به سمت چرخاندن MongoDB و رها کردن آن در همان حالت متمایل شده باشید. اما به خاطر داشته باشید که گرفتن یک تصمیم فوری امروز ممکن است بعداً باعث ناراحتی شما شود.
هنگامی که کم میشوید از تقلب خودداری کنید
پایگاههای اطلاعاتی سنتی مبتنی بر معماریهای مقیاسپذیر بودند. این بدان معناست که اگر میخواهید سریعتر پیش بروید، باید سختافزار بزرگتری بخرید. این هزینه قابل توجهی را به تلاش های شما اضافه کرد. اما پایگاههای داده مدرن معمولاً مبتنی بر معماریهای مقیاسپذیر هستند. شما همچنان به سخت افزار اضافی نیاز دارید، اما هزینه متناسب با ارزشی است که باید اضافه کنید. بنابراین، بسیار دلپذیرتر است.
با درک جذابیت معماریهای کوچکتر، پایگاههای داده قدیمی مانند MySQL و PostgreSQL قابلیتهای بزرگنمایی را اصلاح کردهاند. یکی از روش های رایج مورد استفاده برای انجام این کار شامل تقسیم کردن یا شکستن پایگاه داده به قطعات (یا خرده های) جداگانه است. در نتیجه، به جای داشتن یک نمونه غول پیکر MySQL، ممکن است ۱۰ نمونه MySQL کوچکتر داشته باشید.
توجه داشته باشید که اگر ارائهدهنده پایگاه دادهای را انتخاب کنید که این رویکرد را برای کاهش مقیاس انتخاب میکند، ممکن است در صورت نیاز به اجرای پرسوجوهایی که نیاز به اشتراکگذاری دادهها در بین خردهها دارند، با مشکل مواجه شوید. جستارهای به سبک تجزیه و تحلیل، که در آن شما نیاز به یافتن مشتریان برتر در یک منطقه یا فعال ترین کاربران دارید، می تواند به ویژه در این نوع معماری مشکل ساز باشد.
دو سرد و گرم اجرا کنید
ذخیرههای ستونی برای تجزیه و تحلیل ایدهآل هستند زیرا به شما امکان میدهند حجم زیادی از دادهها را به سرعت اسکن کنید. فروشگاههای ردیف برای بارهای کاری تراکنشی مناسبتر هستند، که نیاز به جستجو و بهروزرسانی با تأخیر کم دارند.
در گذشته، برای انتخاب پایگاه داده باید بین ذخیره سازی ستون محور و ردیف گرا یکی را انتخاب می کردید. اما دیگر مجبور نیستید آن انتخاب سخت را انجام دهید. پایگاه داده های مدرنی که ذخیره سطر و ستون را در یک جدول ترکیب می کنند اکنون در دسترس هستند.
در این سناریو، دادهها در یک ذخیرهسازی ردیف در حافظه نوشته میشوند تا تراکنشها و جستجوهای فوقالعاده سریع را فعال کنند. با خاموش شدن داده ها، داده های سردتر به ذخیره ستون نوشته می شود. این به شما امکان می دهد تجزیه و تحلیل کارآمدی نیز روی آن انجام دهید.
سریعتر حرکت کنید، اما فیزیکی نشوید
پایگاههای اطلاعاتی سنتی پیرامون دیسکهای مغناطیسی طراحی شدهاند که منبع اصلی تأخیر هستند. در حالی که فروشندگان پایگاه داده الگوریتمهایی را برای به حداقل رساندن این تأخیر طراحی کردهاند، محدودیتهای فیزیکی برای مدت زمان چرخاندن دیسکها و سر دیسکها برای قرار گرفتن در موقعیت خود وجود دارد.
می توانید با اتخاذ یک پایگاه داده مدرن بدون قطعات متحرک، تاخیر مربوط به IO را کاهش دهید. درایوهای حالت جامد (SSD) تا ۲۰۰ برابر سریعتر از دیسک های چرخان هستند. برای تداوم نوشتن یک پایگاه داده، فقط باید یک ضمیمه انجام دهید. شما با نوشتن در گزارش تراکنش – پیوستن به گزارش تراکنش، پایداری خواهید داشت. اگر فقط جستارهای خواندن یا جستجو را انجام می دهید، اصلاً نیازی به زدن دیسک ندارید.
درک کنید که کمتر بیشتر است
پایگاه داده های گذشته فاقد سرعت، انعطاف پذیری و قابلیت پشتیبانی از همه برنامه های شما هستند. به همین دلیل است که بسیاری از کسبوکارها در طول زمان پایگاههای داده متفاوتی را جمعآوری کردهاند.
برنامه های کاربردی پر داده شما نیاز به نوع جدیدی از پایگاه داده دارند.
به دنبال یک پایگاه داده واحد باشید که به شما امکان می دهد مقیاس کارآمد و به طور چشمگیری معماری خود را ساده کنید. پایگاه داده ای را بیابید که برای مدیریت بارهای کاری تراکنشی و تحلیلی طراحی شده است. پایگاه داده ای را پیدا کنید که پرس و جوهای تحلیلی سریع را در مجموعه داده های بزرگ و پویا با همزمانی بالا انجام دهد. و از یک پایگاه داده چند مدلی استفاده کنید که به همه انواع داده ها آدرس می دهد.
جردن تیگانی مدیر ارشد محصول در SingleStore است. او قبلا یکی از مهندسان موسس Google BigQuery بود. در دهه ساخت آن محصول، او به عنوان مدیر مهندسی و سپس مدیر مدیریت محصول خدمت کرد و دو کتاب در مورد این موضوع تالیف کرد. جردن همچنین چندین سال در مایکروسافت به عنوان مهندس در هسته ویندوز و کار بر روی تجزیه و تحلیل نرم افزار دودویی زمان اجرا در Microsoft Research گذراند. جردن دارای لیسانس هنر در رشته مهندسی برق از دانشگاه هاروارد در سال ۱۹۹۸ و کارشناسی ارشد علوم کامپیوتر از دانشگاه واشنگتن در سال ۲۰۰۸ است.
—
انجمن فناوری جدید مکانی را برای کاوش و بحث در مورد فناوری سازمانی نوظهور در عمق و وسعت بی سابقه ای فراهم می کند. انتخاب ذهنی است، بر اساس انتخاب ما از فناوری هایی که معتقدیم مهم هستند و برای خوانندگان InfoWorld بیشترین علاقه را دارند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. همه سوالات را به newtechforum@infoworld.com ارسال کنید.
پست های مرتبط
۵ نکته برای انتخاب پایگاه داده مناسب
۵ نکته برای انتخاب پایگاه داده مناسب
۵ نکته برای انتخاب پایگاه داده مناسب