PostgreSQL for Database Developers and Administrators


عنوان دوره طول دوره زمان برگزاری تاریخ شروع دوره شهریه استاد نوع برگزاری وضعیت ثبت نام ثبت نام فیلم جلسه اول
PostgreSQL for Database Developers and Administrators 13 جلسه 52 ساعت جمعه از ساعت 14:00 الی 18:00
جمعه 27 تیر 1404 7,500,000 تومان مهندس علی مومن حضوری و آنلاین دانلود
دوره
PostgreSQL
for
Database Administrators and Developers
یکی از پرطرفدار ترین بانکهای اطلاعاتی جهان

هدف از دوره: تربیت متخصصان توسعه و مدیریت بانک اطلاعاتی PostgreSQL (سطح ۱)

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

این پایگاه داده قابلیت یکپارچه سازی (integration) را با انواع و اقسام پایگاه داده ها و سرویس های دیگر از جمله Data Warehouse ها و سرویس های Data Processing دارد. نفوذ و محبوبیت این پایگاه داده به حدی است که شرکت های مطرح زیادی حتی صاحبان عظیم محصولات بزرگ پایگاه داده ای دیگر از این پروژه حمایت مالی و توسعه (development) می کنند.

از جمله Amazon Web Services، CYBERTEC، Crunchy Data، Microsoft، Fujitsu، EnterpriseDB، Red Hat، Google ، و غیره.

این DBMS در تمام مهمترین سرویس های ابری که Database as a Service (DBaaS) (سرویسهای دیتابیسی کانتینری) را ارائه میدهند، ارائه شده است. حتی در برخی از مطرح ترین سرویس های ابری بومی در ایران.


در این دوره مقدماتی چون معرفی PostgreSQL، معرفی مقدماتی لینوکس (بالاتر از سطح LPIC 1)، نصب و راه اندازی سرویس، آغاز به کار، ساختار دیتابیس کلاستر، افزونه ها، مقدمات برنامه نویسی دیتابیس تحت PostgreSQL به چند زبان (Procedural Languages)، تراکنش ها، ساختار Transaction Log و بک آپ، ریکاوری و ریستور عنوان می شود. ریستور در واحد زمان (Point-in-time Recovery) از مباحث دوره پیشرفته است.

مدت زمان دوره: 45 ساعت

پیش نیاز دوره:  داشتن دانش لینوکس در سطح LPIC 1 ترجیح دارد اما به هر حال ضروریات لینوکس برای این دوره تدریس میشود، همچنین به دلیل مدیریت کردن PostgreSQL تحت لینوکس، به تدریج، دانش مورد نیاز به صورت عملی حاصل می شود. داشتن دانش یک RDBMS دیگر همچون MySQL یا SQL Server برای شروع این دوره بسیار توصیه شده و کمک کننده است.

رزومه مدرس دوره : مهندس علی مومن



پیش گفتار:

سیستم مدیریت بانک داده شیئی-رابطه ای (ORDBMS: Object-relational Database Management System) PostgreSQL یک سیستم مدیریت دیتابیس تراکنشی کد-باز و رایگان قوی و پایدار با امکانات متنوع، قدرتمند، فراوان و امکان توسعه به چندین زبان رویه ای (Procedural Language، معادل زبان T-SQL در SQL Server و PL/SQL در Oracle و غیره) مختلف است. از جمله این زبان ها PL/PGSQL، PL/Python، PL/Tcl و PL/Perl هستند.

این مسئله باعث می شود که PostgreSQL بتواند پذیرای طیف وسیعی از توسعه دهندگان باشد. ویژگی های شیئ گرایی آن باعث ساده تر شدن کار برنامه نویسان برای استفاده از قابلیت های برنامه نویسی شیئ گرا و تعریف اشیاء و تایپ های customize شده، شده است. از نمونه امکانات دیگر می توان به عنوان مثال به امکاناتی چون دیتا تایپ های متنوع و Operator Overloading اشاره کرد که باعث شده است توسعه دهندگان بتوانند ایندکس ها را به مفهومی گسترده تر و پیچیده تر تعریف کنند.

از جمله data type های (و متدهای های مربوط به آنها) مطرح و پرکاربرد native موجود بر روی پوستگرس پس از نصب، یا دیتا تایپ ها و فانکشنهای مطرح و پرکاربردی که با افزونه های فراوان و تخصصی غالبا رایگان به پوستگرس اضافه می شوند می توان به JSON، JSONB، دیتاتایپ های جغرافیایی فضایی، شبکه ای، آرایه از دیتاتایپ ها، دیتاتایپ های کاستوم، Full-Text Search، سری های زمانی، Key-Value Store، باینری، vector ها مربوط به هوش مصنوعی و Machine Learning، Fuzzy Text Search، GraphQL، JSON Validator، Message Broker، Automatic Partitioning، و دیتاتایپ های آماده فراوان دیگر اشاره کرد.

این مسئله باعث شده که پوستگرس فراتر از یک RDBMS باشد (بسیاری از دیتاتایپ هایی که به صورت خاص به آنها اشاره شد مربوط به دیتابیس های NoSQL ای هستند). به بیان دیگر، به خاطر کدباز بودن و انطباق پذیری پوستگرس، متخصصان فراوان در زمینه های مختلف در نقاط مختلف دنیا افزونه های اختصاصی فراوانی را برای آن توسعه دهند.

این RDBMS به صورت خاص برای سیستم عامل های رایگان و کد-باز بر پایه Unix از جمله Linux طراحی شده، اما قابل نصب و استفاده بر روی همه سیستم عامل های عمده از جمله Windows، Unix، macOS، Solaris، سیستم عامل های BSD و غیره به صورت native و همچنین کانتینرها است. به علاوه از این ORDBMS روی Mini-device های فراوانی از جمله Raspberry Pi و ساعت های حضور و غیاب استفاده می شود.

PostgreSQL همانند میزبان اصلی خود یعنی لینوکس، به شدت customizable بوده و از لحاظ feature ها و ماژول های فراوان اقماری قابل مدیریت است تا استفاده کنندگان حسب نیاز خود بتوانند feature های مطلوب خود را برای افزایش امکانات این RDBMS به صورت دلخواه نصب کنند.

یعنی میتوان صرفا افزونه های مورد نیاز را نصب کرد و افزونه های غیر نیاز را در نظر نگرفت، یا به خاطر کدباز بودن فقط بخشهایی از آن را compile کرد تا نسخه ای بسیار سبک و light weight ایجاد شده و روی دستگاه های کوچک و ضعیف استفاده شود. اما این ویژگی باعث پیچیده تر شدن مدیریت آن همچون لینوکس می شود. ماژول های PostgreSQL شامل ماژول های تجاری و رایگان می شود اما غالب آنها Open-source و رایگان هستند.

این RDBMS بسیار محبوب بوده و community بسیار گسترده ای از کارشناسان بسیار دارد که در ارتقاء PostgreSQL و ماژول های آن و همچنین حل مشکل کارشناسان دیگر مشارکت می کنند.

PostgreSQL در سطح Enterprise به صورت رایگان قابل استفاده است و همچنین میزبان عمده آن لینوکس نیز رایگان است و به همین دلیل شرکت های فراوانی آن را به عنوان سیستم ذخیره سازی داده اصلی یا یکی از سیستم های اصلی ذخیره سازی داده استفاده می کنند. این RDBMS در حال حاضر بسیار محبوب بوده و جایگاه قدرتمندی برای خود ایجاد کرده است. همچنین نسبت به بسیاری از RDBMS های مطرح Legacy پیشرفت و آینده روشن تری برای آن تصور می شود.

PostgreSQL همچنین پلی برای دستیابی به RDBMS پیشرفته و توزیع شده CockroachDB نیز هست که قابلیت های فراوانی دارد.

در نهایت، براساس بررسی های آماری شرکت های مختلف و اطلاعات بدست آمده، غالب شرکت ها در دنیای امروزی از سیستم های Data Management هایبرید استفاده میکنند که یکی از مهمترین آنها PostgreSQL است. همچنین بر اساس نظرسنجی جدید شرکت ردگیت، غالب متخصصان حوزه Data Management باور دارند که متخصصان امروزی دیگر نمی توانند به یادگیری یک سولوشن Data Management اکتفا کنند و باید چندین DBMS را فراگیرند.

PostgreSQL & Linux Course Curriculum

Course Contents:

Introduction

Introduction to PostgreSQL 3h

Why PostgreSQL?

Multi-Skilled Database Specialists and its necessity, Cloud Computing

What does robustness mean in PostgreSQL?

PostgreSQL vs. Other RDBMSs

References

Introduction to Linux 1 3h

Brief Explanation, History, Distros

Quick Installation Guide

Basic Commands & Concepts 1

Introduction to Linux 2 3h

Basic Commands and Concepts 2

Introduction to Linux 3 3h

Basic Commands and Concepts 3

References

Setup, Installation, Basic Configuration 4h

Installation & Initialization 1h

Basic PostgreSQL Conf Files 3h

Beginning to Work with PostgreSQL 10h

PSQL 2h

Meta Commands

Settings & SHOW Command

Other Clients

Hands-on work with visual clients 8h

Concepts, Objects, and terminology 4h

Catalogs

databases (Default and User)

Relations

Schemas

Basic security

Important System Catalogs

Environment

Basic database objects

Querying

DDL Commands

DML Commands

Basic Functionalities

Advanced PostgreSQL directories and files 6h

Directory types

Data directory 2h

Initialization (review)

Object storage

Tablespaces etc.

Other data directory parts

Advanced Conf files 2h

Other PG Binaries and Wrapper Files 2h

Major binaries

Minor binaries (Contrib)

Backup, Recovery

Backups 4h

Backup types (Physical and Logical)

Base backup (Backup & Restore)

Supplementary materials 3h

Extensions

Migration to & From PostgreSQL

PostgreSQL Internal Concepts 4h

Data Low-Level Structure

Process and Memory Architecture 1h

Vacuuming 1h

WAL Structure 2h

Development 4h

PL/PGSQL 3h

Concurrency Control 1h

Transactions

Transaction Processing

Introduction to Containerization and its applications

Setup PostgreSQL on Docker 3h