
مدیریت پایگاه داده از یک برنامه کاربردی خاص و تخصصی، به یک جزء حیاتی و مرکزی در تمامی سازمانها و شرکتهای مدرن تبدیل شده است. به همین دلیل، دانش جامع درباره سیستمهای پایگاه داده به بخش جداییناپذیری از آموزش علوم کامپیوتر و مهندسی نرمافزار مبدل شده است. در این کتاب ارزشمند، مفاهیم بنیادی مدیریت پایگاه داده به صورت کاملاً تشریحی و کاربردی ارائه میشود. این مفاهیم شامل بخشهای متنوعی از جمله طراحی پایگاه داده، زبانهای پرسوجو، و پیادهسازی ساختارهای درونی سیستمهای اطلاعاتی است.
این اثر مکتوب برای اولین دوره آموزشی پایگاه داده در مقاطع کارشناسی ارشد و دکتری و همچنین سالهای پایانی کارشناسی به عنوان یک کتاب درسی اصلی تدوین شده است. علاوه بر مطالب پایهای و ضروری، کتاب حاوی مباحث پیشرفتهای است که میتواند به عنوان مکملهای درسی یا به عنوان مطالب مقدماتی برای دورههای عالی و تخصصی مورد استفاده قرار گیرد.
تنها پیشنیاز برای درک کامل مطالب این کتاب، آشنایی مقدماتی با ساختارهای داده بنیادی، سازمان کامپیوتر و یک زبان برنامهنویسی سطح بالا مانند جاوا، سی، سیپلاسپلاس یا پایتون است. مفاهیم به صورت توصیفهای شهودی و ملموس ارائه شدهاند که بسیاری از آنها بر اساس یک نمونه کاربردی و واقعی از یک دانشگاه طراحی شدهاند. نتایج نظری مهم به طور کامل پوشش داده شدهاند، اما برای حفظ روان بودن متن، از آوردن اثباتهای فرمولهای پیچیده خودداری شده و در عوض، از نمودارها و مثالهای متعدد برای نشان دادن صحت نتایج استفاده شده است.
ویرایش هفتم این کتاب ارزشمند، ضمن حفظ سبک آموزشی و ساختار موفق نسخههای قبلی، تغییرات و تحولات شگرفی را در نحوه طراحی، مدیریت و استفاده از پایگاههای داده امروزی بازتاب میدهد. یکی از بزرگترین تغییرات سالهای اخیر، استفاده گسترده از سیستمهای دادههای بزرگ است که در این نسخه به طور کامل به آن پرداخته شده است. همچنین روندهای نوین در تدریس مفاهیم بانکهای اطلاعاتی لحاظ شده تا انطباق بیشتری با نیازهای بازار کار و دانشگاههای تراز اول جهان داشته باشد.
در این بخش، سیستمهای دادههای بزرگ هم از دیدگاه کاربر و هم از منظر معماری داخلی سیستم مورد بررسی قرار میگیرند. این تغییرات نسبت به نسخههای قبلی بسیار گسترده بوده و ابزارهایی مانند آپاچی هادوپ و اسپارک به طور عملی تشریح شدهاند.
یک فصل کاملاً جدید به بررسی پایگاههای داده بلاکچین اختصاص یافته است که این فناوری نوظهور و نقش رو به رشد آن را در برنامههای کاربردی سازمانی معرفی میکند. تمرکز اصلی این بخش بر تعامل میان سیستمهای بلاکچین و سیستمهای مدیریت پایگاه داده سنتی است.
تمام بخشهای مربوط به لایههای درونی پایگاه داده بهروزرسانی شدهاند تا بازتابدهنده فناوریهای نسل جدید مانند دیسکهای حالت جامد، پایگاههای داده مبتنی بر حافظه اصلی، سیستمهای چند هستهای و ذخیرهسازی ستونی باشند.
پوشش مفاهیم مدیریت دادههای نیمهساختاریافته با استفاده از ساختارهای نوین متنی و زبانهای پرسوجوی مرتبط با دادههای پیوندی به طور چشمگیری تقویت شده است.
کلمات کلیدی:این کتاب تخصصی در یازده بخش اصلی سازماندهی شده است تا فرآیند یادگیری را برای مخاطب ساده و گامبهگام کند. هر بخش به طور ویژه بر یکی از ارکان اساسی مهندسی داده تمرکز دارد.
این بخش به معرفی مدل رابطهای دادهها میپردازد و مفاهیم پایهای مانند ساختار پایگاههای داده رابطهای، طرحوارهها، کلیدها، نمودارهای طرحواره، زبانهای پرسوجوی رابطهای و جبر رابطهای را پوشش میدهد. فصول بعدی این بخش بر تاثیرگذارترین زبان کاربردی یعنی زبان ساختاریافته پرسوجو یا همان اسکیال تمرکز دارند. در این فصول، عملیات مدیریت دادهها شامل پرسوجوها، بهروزرسانیها، درج و حذف با فرض اینکه طراحی طرحواره قبلاً انجام شده است، تشریح میشوند. مباحث مربوط به نحو تعریف دادهها نیز در اینجا به تفصیل بررسی شده است.
این بخش نمایی کلی از فرآیند طراحی پایگاه داده و توصیف دقیقی از مدل دادهای موجودیت-رابطه ارائه میدهد. این مدل یک دیدگاه سطح بالا از مسائل طراحی پایگاه داده و مشکلات موجود در ثبت معنای برنامههای واقعی را در چارچوب محدودیتهای یک مدل دادهای فراهم میکند. نشانهگذاری نمودار کلاس نیز در این بخش پوشش داده شده است.
علاوه بر این، تئوری وابستگیهای تابعی و فرآیند نرمالسازی با تاکید بر انگیزه و درک شهودی از هر فرم نرمال معرفی میشود. این مبحث با رویکردی آغاز میشود که به مخاطب اجازه میدهد مفهوم نرمالسازی را پیش از ورود به مباحث پیچیدهتر وابستگی تابعی درک کند. در نهایت، بخش با مباحث مربوط به مدلسازی دادههای زمانمند به پایان میرسد.
در این بخش، چندین نوع داده پیچیده که برای طراحی و توسعه برنامههای کاربردی اهمیت ویژهای دارند، از جمله دادههای نیمهساختاریافته، دادههای مبتنی بر شیء، دادههای متنی و دادههای مکانی مورد بحث قرار میگیرند. همچنین ابزارها و فناوریهایی که برای ساخت برنامههای کاربردی تعاملی تحت وب و موبایل استفاده میشوند، تشریح خواهند شد.
این بخش شامل پوشش مفصلی از فناوریهای سمت سرور و سمت کاربر است. مباحث مطرح شده شامل چارچوبهای توسعه وب، زبان جاوا اسکریپت و خدمات وب هستند. همچنین معماری برنامههای کاربردی، سیستمهای نگاشت شیء-رابطهای، کارایی سیستم از جمله حافظههای پنهان توزیعشده و چالشهای منحصربهفرد در تضمین امنیت برنامههای کاربردی تحت وب بررسی میشوند.
این بخش نمایی کلی از برنامههای کاربردی تحلیل داده در مقیاس بزرگ ارائه میدهد و تمرکز خود را بر این موضوع میگذارد که چگونه این برنامهها تقاضاهای متمایزی را در مقایسه با برنامههای سنتی بر مدیریت دادهها تحمیل میکنند. در ادامه، نحوه پاسخگویی به این تقاضاها بررسی میشود.
مباحث پوشش داده شده شامل سیستمهای ذخیرهسازی دادههای بزرگ، از جمله سیستمهای فایل توزیعشده، ذخیرهسازهای کلید-مقدار، سیستمهای غیررابطهای، مدلهای برنامهنویسی موازی، دادههای جریانی و پایگاههای داده گرافی است. ساختار و کاربرد سیستمهای طراحی شده برای تحلیل دادهها در مقیاس بزرگ، مفاهیم هوش تجاری، سیستمهای پشتیبان تصمیمگیری، ساختار انبار داده و فرآیند جمعآوری دادهها در انبار داده از دیگر مباحث مهم این بخش هستند. در نهایت، کاربرد دادههای انبار داده در برنامههای تحلیل برخط و الگوریتمهای دادهکاوی مورد بررسی قرار میگیرد.
این بخش به دستگاههای ذخیرهسازی و چگونگی تاثیر ویژگیهای این دستگاهها بر سازماندهی فیزیکی و کارایی پایگاه داده میپردازد. ساختارهای ذخیرهسازی داده از جمله سازماندهی فایلها و مدیریت بافر بررسی میشوند و تکنیکهای متنوع دسترسی به دادهها تشریح میگردند.
دسترسی مبتنی بر شاخصهای چندسطحی معرفی شده و به پوشش دقیق درختهای بیپلاس منتهی میشود. سپس ساختارهای شاخص برای برنامههایی که در آنها ساختار درخت بیپلاس کارایی کمتری دارد، بررسی میشوند؛ از جمله شاخصهای بهینهسازی شده برای نوشتن مانند درختهای ادغامی ساختاریافته با گامبر، شاخصهای بیتی، و شاخصگذاری دادههای مکانی با استفاده از درختهای چندبعدی.
این بخش به الگوریتمهای ارزیابی پرسوجو و بهینهسازی آنها اختصاص دارد. تمرکز اصلی بر الگوریتمهای پیادهسازی عملیات پایگاه داده، به ویژه طیف وسیعی از الگوریتمهای پیوند است که برای کار روی دادههای بسیار بزرگ که در حافظه اصلی جا نمیشوند، طراحی شدهاند. تکنیکهای پردازش پرسوجو برای پایگاههای داده مبتنی بر حافظه اصلی نیز در اینجا پوشش داده میشوند.
در ادامه، فرآیند بهینهسازی پرسوجو تشریح میشود و نشان داده میشود که چگونه طرحهای پرسوجو میتوانند با استفاده از قوانین تبدیل به طرحهای معادل دیگر تبدیل شوند. سپس نحوه تولید تخمینهای هزینه اجرای پرسوجو و چگونگی یافتن کارآمدترین طرحهای اجرای پرسوجو با کمترین هزینه بررسی میشود.
این بخش بر اصول بنیادین یک سیستم پردازش تراکنش تمرکز دارد: یکپارچگی، سازگاری، انزوا و ماندگاری که به عنوان اصول چهارگانه تراکنش شناخته میشوند. روشهای تضمین این ویژگیها از جمله بازیابی مبتنی بر ثبت وقایع و کنترل همروندی با استفاده از قفلگذاری، تکنیکهای مبتنی بر برچسب زمانی و انزوای عکسبرداری بررسی میشوند.
تکنیکهای کنترل همروندی برای تضمین سریالپذیری، از جمله روشهای خوشبینانه، تکنیکهای کنترل همروندی چند نسخهای، سطوح ضعیف سازگاری، همروندی در ساختارهای شاخص، همروندی در سیستمهای پایگاه داده حافظه اصلی، تراکنشهای طولانیمدت و پردازش تراکنشهای بیدرنگ از دیگر مباحث این بخش است. در نهایت، تکنیکهای اصلی برای تضمین اجرای صحیح تراکنشها علیرغم خرابیهای سیستم و نقصهای ذخیرهسازی، سیستمهای پشتیبان از راه دور و بازیابی حافظه اصلی ارائه میشوند.
در این بخش، معماری سیستمهای کامپیوتری و تاثیر سیستم کامپیوتری زیرین بر سیستم پایگاه داده مورد بحث قرار میگیرد. سیستمهای متمرکز، سیستمهای سرویسدهنده-سرویسگیرنده، معماریهای موازی و توزیعشده، و سیستمهای مبتنی بر رایانش ابری تشریح میشوند. جنبههای متمایز پایگاههای داده موازی و توزیعشده شامل ذخیرهسازی، شاخصگذاری، پردازش پرسوجو و مدیریت تراکنش بررسی خواهند شد.
مفاهیم افراز دادهها، عدم تقارن دادهها، تکثیر، شاخصگذاری موازی، سیستمهای فایل توزیعشده و ذخیرهسازهای کلید-مقدار موازی در این بخش گنجانده شدهاند. الگوریتمهای موازی برای مرتبسازی، پیوند، مدلهای تبادل کارهای موازی، موازیسازی در سطح نخ، دادههای جریانی، بهینهسازی پرسوجوهای توزیعشده جغرافیایی، اجماع توزیعشده سنتی مانند تعهد دوفازی و راهکارهای پیشرفتهتر مانند پاکسوس و رافت از دیگر سرفصلهای این بخش جامع هستند. توازنهای قضیه کپ و ابزارهای شناسایی ناسازگاری با استفاده از برکتورهای نسخه و درختان مرکل نیز به تفصیل بحث میشوند.
این بخش پوشش شاخصگذاری را با بررسی دقیقتر درختهای ادغامی ساختاریافته با گامبر و گونههای آن، شاخصهای بیتی، شاخصگذاری مکانی و تکنیکهای درهمسازی پویا گسترش میدهد. مباحث مربوط به تنظیم کارایی، ارزیابی کارایی، آزمایش، مهاجرت از سیستمهای قدیمی، استانداردسازی و سیستمهای دایرکتوری توزیعشده بررسی میشوند.
بخش مهمی از این سرفصل به فناوری بلاکچین از دیدگاه پایگاه داده اختصاص دارد. ساختارهای داده بلاکچین و استفاده از توابع درهمسازی رمزنگاری و رمزگذاری کلید عمومی برای تضمین ویژگیهای ناشناسی، غیرقابلانکار بودن و مقاومت در برابر دستکاری تشریح میشوند. الگوریتمهای اجماع توزیعشده مانند اثبات کار، اثبات سهام و اجماع بیزانس مقایسه میگردند. تمرکز اصلی بر ویژگیهایی است که بلاکچین را به یک مفهوم مهم در پایگاه داده تبدیل میکند، از جمله نقش بلاکچینهای مجوزدار، کدگذاری منطق تجاری در قراردادهای هوشمند و قابلیت همکاری بین بلاکچینی.
ضمیمه کتاب جزئیات طرحواره دانشگاهی مورد استفاده در کتاب، شامل طرحواره کامل، زبان تعریف دادهها و تمامی جدولها را ارائه میدهد. علاوه بر این، فصول آنلاینی برای مطالعه بیشتر در دسترس است که مباحثی همچون زبانهای پرسوجو محض، مباحث پیشرفته در طراحی پایگاه داده رابطهای از جمله تئوری وابستگیهای چندمقداری و فرمهای نرمال بالاتر، پایگاههای داده مبتنی بر شیء و انواع دادههای پیچیدهتر، مدیریت دادههای ساختاریافته متنی، بازیابی اطلاعات و بررسی سیستم پایگاه داده پستگرسکیوال را پوشش میدهند.
اگر به دنبال درک عمیق و اصولی از سیستمهای مدیریت پایگاه داده هستید، این کتاب فیزیکی کاملترین راهنما برای شماست. با مطالعه این اثر، شما نه تنها مفاهیم تئوریک را به صورت دقیق میآموزید، بلکه با چالشهای واقعی دنیای فناوری و راهحلهای پیادهسازی شده در نرمافزارهای تجاری بزرگ آشنا میشوید.
این کتاب ابزاری قدرتمند برای ارتقای دانش فنی مهندسان نرمافزار، معماران داده و دانشجویان مقاطع عالی است. متن روان، مثالهای ملموس دانشگاهی، و پوشش بینظیر فناوریهای مدرن مانند دادههای بزرگ و بلاکچین، این اثر را به جزیی جداییناپذیر از کتابخانه تخصصی شما تبدیل میکند. هماکنون میتوانید این مرجع ارزشمند را تهیه کرده و دانش خود را در حوزه مدیریت دادهها به سطح جدیدی برسانید.
نمونه چاپ کتاب موجود نیست.
نظرات کاربران (0)