آموزش پایگاه‌های داده: مقدمه‌ای بر پایگاه‌های داده برای دانشمندان علم داده

منتشرشده در towardsdatascience به تاریخ ۲۸ سپتامبر ۲۰۲۰
لینک مقاله اصلی: Databases 101: Introduction to Databases for Data Scientists

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

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

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

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

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

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

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

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

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

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

اما،

برای انجام این کار، این داده‌ها باید در جایی ذخیره و ساختار بندی شوند، جایی که دسترسی به آن آسان باشد، ارتباط سریع فراهم کند، و ایمن باشد.

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

انواع پایگاه‌داده

پایگاه‌های داده رابطه‌ای

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

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

روش برقراری ارتباط و تعامل با پایگاه‌های اطلاعاتی رابطه‌ای از طریق استفاده از زبان SQL است.

پایگاه‌های اطلاعاتی غیر ارتباطی

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

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

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

زبان پرسمان ساخت یافته (SQL)

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

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

چرا SQL؟

SQL بسیار محبوب است و به طور گسترده در توسعه نرم‌افزار-به طور کلی-و علم داده به طور خاص به دلایل مختلف از جمله موارد زیر استفاده شود:

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

سهولت استفاده: یادگیری اصول SQL ساده و مستقیم است. هیچ سینتکس گیج‌کننده‌ای از نکات پنهان برای تسلط بر استفاده از SQL وجود ندارد.

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

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

پایگاه‌های داده SQL در مقابل noSQL

هر زمان که یک پروژه جدید به شما واگذار می‌شود یا سعی در طراحی یک پایگاه‌داده می‌کنید، اولین سوالی که احتمالا از خود می‌پرسید این است که از کدام پایگاه‌داده باید استفاده کنم؟ SQL یا NoSQL؟

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

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

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

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

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

نتیجه گیری

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

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

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