پایگاه داده PostgreSQL چیست ؟
PostgreSQL یک سیستم مدیریت پایگاه داده رابطهای رایگان و متنباز (RDBMS) به حساب میآید که مبتنی بر SQL است. این بانک اطلاعاتی یا همان پایگاه داده از SQL و JSON برای پرس و جوهای (کوئری) رابطهای (Relational) و غیر رابطهای خود جهت توسعه با SQL پشتیبانی میکند. PostgreSQL میتواند انواع اطلاعات پیشرفته و ویژگیهای بهینه عملکردی را در بر بگیرد که فقط در پایگاه دادههای تجاری گران قیمت، مانند Oracle و SQL Server موجود است.
در گذشته این بانک اطلاعاتی «Postgre» نامگذاری شده بود. پایگاه داده PostgreSQL توسط گروهی مجرب از توسعهدهندگان پشتیبانی میشود که تلاش بسیاری در تبدیل آن به یک سیستم DBMS بسیار قابل اعتماد داشتهاند. حال برای شناخت بهتر پایگاه داده PostgreSQL بهتر است در ادامه به شرح مختصری از تاریخچه این سیستم مدیریت بانک اطلاعاتی پرداخته شود.
تاریخچه پایگاه داده PostgreSQL
PostgreSQL که پیشتر Postgres نامیده میشد، توسط استاد علوم کامپیوتر، مایکل استونبرکر (Michael Stonebraker) و تیمش ایجاد شده است و امروزه به عنوان یکی از پایگاه دادههای محبوب متنباز در سطح وسیعی مورد استفاده قرار میگیرد. ادامه این بخش از مقاله «پایگاه داده PostgreSQL چیست» به ارائه فهرستی از تاریخچه مختصر پایگاه داده PostgreSQL اختصاص دارد.
تاریخچه مختصری از PostgreSQL :
تاریخچه پایگاه داده PostgreSQL در ادامه این بخش به طور مختصر فهرست شده است:
- INGRES در سال ۱۳۵۶ (۱۹۷۷ میلادی) توسعه یافت.
- مایکل استونبرکر و همکارانش در سال ۱۳۶۵ (۱۹۸۶ میلادی) Postgre را توسعه دادند.
- پشتیبانی از ACID و PL/pgSQL در سال ۱۳۶۹ (۱۹۹۰ میلادی) آغاز شد.
- این پایگاه داده با نام Postgres۹۵ در سال ۱۳۶۹ (۱۹۹۵ میلادی) منتشر شد.
- Postgres۹۵ مجدداً با نام PostgreSQL 6.۰ در سال ۱۳۷۵ (۱۹۹۶ میلادی) منتشر شد.
- کنترل نحوی Join، لود کننده زبان رویهای در سال ۱۳۷۷-۱۳۸۰ (۱۹۹۸-۲۰۰۱ میلادی) به PostgreSQL اضافه شدند.
- نسخههای ۷.۲ و ۸.۲ همراه با یک سری امکانات جدید مانند پشتیبانی از جداول و شِماها در سال ۱۳۸۱-۱۳۸۵ (۲۰۰۲-۲۰۰۶ میلادی) اضافه شدند.
- نسخه ۸.۴ پایگاه داده PostgreSQL در سال ۱۳۸۸ (۲۰۰۹ میلادی) منتشر شد.
- نسخه ۹.۰ پایگاه داده PostgreSQL در سال ۱۳۸۹ (۲۰۱۰ میلادی) منتشر شد.
- در سال ۱۳۹۲ (۲۰۱۳ میلادی) گروه کاربران PostgreSQL شهر نیویورک (NYCPUG) و انجمن PostgreSQL ایالات متحده (United States PostgreSQL Association | PgUS) با هم ادغام شدند.
- در نهایت بانک اطلاعاتی PostgreSQL در کنفرانس بین اللملی PGconf در روسیه و در سال ۱۳۹۳ (۲۰۱۴ میلادی) ارائه شد.
حال پس از ارائه تاریخچه مختصری از پایگاه داده PostgreSQL ، ادامه این مقاله به شرح ویژگیهای PostgreSQL اختصاص داده شده است.
ویژگیهای پایگاه داده PostgreSQL
فهرستی از ویژگیهای پایگاه داده PostgreSQL در ادامه آمده است:
- پایگاه داده PostgreSQL به توسعهدهندگان در ساخت اپلیکیشنها کمک میکند.
- این بانک اطلاعاتی به وسیلهی حفاظت از یکپارچگی اطلاعات به مدیران کمک میکند تا محیطی با تحمل خطا را ایجاد کنند و در صورت رخ دادن خطا مشکلی برای اطلاعات ایجاد نشود.
- PostgreSQL با سیستم عاملهای مختلف، تمام زبانهای برنامه نویسی اصلی و میانافزارهای (Middleware) متفاوت سازگاری دارد. میانافزار برنامهای است که مانند پُلی برای ارتباط بین سیستم عامل و پایگاه داده عمل میکند.
- ساز و کار سطح بالای قفل کردن و پیشرفتهای در پایگاه داده PostgreSQL برای حفظ اطلاعات تعبیه شده است.
- این بانک اطلاعاتی از کنترل همروندی چند نسخهای پشتیبانی میکند. کنترل همروندی روشی است که معمولاً توسط سامانههای مدیریت پایگاه داده برای ارائه دسترسی همزمان به پایگاه داده استفاده میشود.
- پایگاه داده PostgreSQL قابلیت برنامه نویسی کامل سمت سرور را دارد.
- این پایگاه داده مطابق با استاندارد ANSI SQL (انجمن استاندارد ملی آمریکا) است.
- PostgreSQL از معماری شبکه کلاینت سرور به طور کامل پشتیبانی میکند.
- این پایگاه داده دارای تمهیدات امنیتی SSL با قابلیت انعکاس مبتنی بر رویداد نگاری (Log-based) و مبتنی بر برانگیزش (trigger-based) است.
- PostgreSQL سروری با دسترسی بالا و همیشه آماده به کار دارد.
- بانک اطلاعاتی PostgreSQL با شیگرایی و ANSI-SQL۲۰۰۸ سازگار است.
- پشتیبانی از JSON به PostgreSQL اجازه میدهد تا بتواند با دیگر بانکهای اطلاعاتی مانند NoSQL ارتباط برقرار کند.
پس از شرح ویژگیهای پایگاه داده PostgreSQL ، شاید بهتر باشد به مزایای این بانک اطلاعاتی هم پرداخته شود. بنابراین در ادامه به این موضوع پرداخته شده است.
مزایای پایگاه داده PostgreSQL چیست ؟
هر یک از مزایای پایگاه داده PostgreSQL در قالب یک فهرست و به طور مختصر در این بخش ارائه شدهاند.
- PostgreSQL میتواند وبسایتها و اپلیکیشنهای وب پویا را به عنوان پشته LAMP اجرا کند؛ LAMP پشته نرم افزاریای است که برای توسعه وب استفاده میشود.
- PostgreSQL اطلاعات را به صورت پیشنویس ثبت میکند که این روش باعث مقاوم شدن پایگاه داده در برابر خطاهای احتمالی خواهد شد.
- کد منبع پایگاه داده PostgreSQL به صورت رایگان، تحت مجوز منبعباز در دسترس است. این موضوع بسیار مهم، این آزادی را به برنامه نویسان و توسعهدهنگان میدهد که بر اساس نیازهای تجاری خود از آن استفاده کنند.
- بانک اطلاعاتی PostgreSQL از اشیاء جغرافیایی برای استفاده در خدمات مبتنی بر مکان و سیستمهای اطلاعات جغرافیایی پشتیبانی میکند.
- برای یادگیری پایگاه داده PostgreSQL ، نیاز به آموزش زیادی نیست و استفاده از آن بسیار ساده است.
- نیاز به نگهداری و مدیریت زیادی برای جاسازی و اقدامات مهم دیگر ندارد.
علاوه بر مزایای برجسته، بانک اطلاعاتی PostgreSQL معایبی هم دارد که در بخش بعدی مقاله «پایگاه داده PostgreSQL چیست» به آنها اشاره شده است.
معایب پایگاه داده PostgreSQL چه هستند؟
معایب پایگاه داده PostgreSQL به شرح زیرند:
- از جمله معایب پایگاه داده PostgreSQL میتوان به این مسئله اشاره کرد که بانک اطلاعاتی Postgres تنها متعلق به یک سازمان خاص نیست. بنابراین، با وجود داشتن ویژگیهای کامل و قابل مقایسه با سایر پایگاه دادههای موجود، در کسب محبوبیت و بهدست آوردن جایگاهش دچار چالشهایی شده است.
- در PostgreSQL ، تغییراتی که برای بهبود سرعت انجام داده میشوند، نیاز به کار بیشتری نسبت به MySQL دارند. زیرا پایگاه داده PostgreSQL بر سازگاری بیشتری نسبت به سرعت تمرکز دارد. به بیان سادهتر، PostgreSQL بیش از اینکه بر سرعت تمرکز داشته باشد، بر سازگاری تاکید دارد.
- بسیاری از برنامههای منبعباز از پایگاه داده MySQL پشتیبانی میکنند؛ اما ممکن است از پایگاه داده PostgreSQL پشتیبانی نکنند.
- یکی دیگر از معایب پایگاه داده PostgreSQL این است که این پایگاه داده در مقایسه با پایگاه داده MySQL کندتر عمل میکند.
حال در ادامه این مقاله به کاربردهای PostgreSQL پرداخته شده است.
کاربردهای پایگاه داده PostgreSQL چه هستند؟
PostgreSQL موارد استفاده متعددی دارد و در طیف وسیعی از کاربردها مورد استفاده قرار میگیرد. بنابراین، در این بخش به برخی از کاربردهای رایج پایگاه داده PostgreSQL اشاره شده است. پیش از آن، هر یک از این موارد در ادامه فهرست شدهاند:
- صنعت مالی
- اطلاعات GIS دولتی
- صنعت
- فناوری وب و NoSQL
- دادههای علمی
کاربردهای پایگاه داده PostgreSQL : صنعت مالی
بانک اطلاعاتی PostgreSQL یک سیستم DBMS ایدهآل برای صنعت مالی به حساب میآید. علاوه بر این، کاملاً سازگار با ACID است که آن را به گزینهای مناسب برای OLTP (پردازش تراکنش آنلاین) تبدیل میکند. ACID سرنامی برای کلمات Isolation ،Consistency ،Atomicity و Durability و به ترتیب به معنای «اتکای واقعی، انطباق، انزوا و دوام» است. همچنین، PostgreSQL میتواند تجزیه و تحلیلهای پایگاه داده را نیز انجام دهد. این بانک اطلاعاتی را میتوان به همراه نرم افزارهای ریاضی مانند Matlab و R استفاده کرد.
کاربردهای پایگاه داده PostgreSQL : اطلاعات GIS دولتی
پایگاه دادهی PostgreSQL یک سیستم قدرتمند با استانداردهای بالا برای اطلاعات دولتی ارائه میدهد که PostGIS نامیده میشود. این سیستم صدها تابع مختلف را برای پردازش دادههای هندسی در قالبهای گوناگون ارائه میدهد. علاوه بر این، با استفاده از هر دو ابزار QGIS یا GeoServer که ابزارهای حوزه نقشهبرداری هستند، سادهترین روش برای مدیریت Geodata، یعنی همان اطلاعات جغرافیایی در جامعه منبعباز ارائه شده است.
کاربردهای پایگاه داده PostgreSQL : صنعت
امروزه ، تولیدکنندگان صنعتی نیز از بانک اطلاعاتی PostgreSQL برای تسریع روند تجارت خود استفاده میکنند. همچنین، PostgreSQL به آنها کمک میکند تا با استفاده از این DBMS متنباز به عنوان منبع ذخیرهسازی در بکاند نرم افزار، عملکرد زنجیره تامین را بهینه کند. این موضوع به سازمانها اجازه میدهد تا هزینه عملیاتی مشاغل خود را کاهش دهند.
کاربردهای پایگاه داده PostgreSQL : فناوری وب و NoSQL
اگر یک وب سایت در یک زمان واحد به صدها یا حتی هزاران درخواست در ثانیه نیاز داشته باشد، PostgreSQL بهترین گزینه برای حل این مسئله است. PostgreSQL با تمام فریم ورکها و فناوریهای توسعه وب جدید مانند جنگو، Node.js ،Hibernate ،PHP و غیره سازگاری دارد و استفاده میشود. همچنین قابلیت پاسخی که این بانک اطلاعاتی دارد، این امکان را فراهم میکند که در صورت نیاز بتوان مقیاسبندی را تنظیم کرد و تعداد سرورهای پایگاه داده را افزایش داد.
کاربردهای پایگاه داده PostgreSQL : دادههای علمی
در پروژههای علمی نیاز است که ترابایتها داده تولید و ذخیره شوند. بنابراین، رسیدگی به این دادهها یکی از مهمترین مسائل این پروژهها است. برای این منظور، بانک اطلاعاتی PostgreSQL قابلیتهای تحلیلی فوقالعاده و موتور قدرتمند SQL را ارائه میدهد. این پایگاه داده کمک میکند تا حجم بالایی از دادهها به آسانی مدیریت شوند. با توجه به محبوبیت و پراستفاده بودن پایگاه داده MySQL، بهتر است مقایسهای میان MySQL و PostgreSQL انجام شود تا بتوان در خصوص انتخاب پایگاه داده مورد استفاده بهتر تصمیمگیری کرد.
تفاوتهای MySQL و PostgreSQL
در این قسمت به تفاوتهای اصلی پایگاه دادههای MySQL و PostgreSQL اشاره میشود.
- MySQL کد منبع خود را تحت شرایط مجوز GNU و سایر قراردادهای اختصاصی در دسترس قرار داده است، ولی PostgreSQL این کد را تحت مجوز PostgreSQL در دسترس قرار میدهد. GNU مجوزی است که اجازه میدهد برخی از نرمافزارها سورس کد خود را زیر نظر آن در دسترس عموم قرار دهند.
- MySQL در حال حاضر متعلق به شرکت اوراکل است و چندین نسخه پولی را ارائه میدهد، اما PostgreSQL رایگان و منبعباز است و این موضوع به این معنی است که کاربر هیچوقت نیاز به پرداخت مبلغی برای استفاده از این نرم افزار نخواهد داشت.
- MySQL فقط هنگام استفاده از موتورهای ذخیرهسازی خوشهای NDB و InnoDB سازگار با ACID است، اما PostgreSQL به طور کامل با ACID سازگاری دارد.
- MySQL در سیستمهای OLAP و OLTP که فقط سرعت خواندن در آنها مهم است، عملکرد خوبی دارد. اما، PostgreSQL در سیستمهایی عملکرد بهتری دارد که نیاز به اجرای پرس و جوهای پیچیده دارند.
- MySQL نرمافزار قابل اعتمادی است و با کاربردهای هوش تجاری (Business Intelligence | BI) که خواندن آنها دشوار است به خوبی کار میکند. PostgreSQL نیز با اپلیکیشنهای BI به خوبی کار میکند، با این حال، بیشتر برای برنامههای انبار داده (Data Warehouse) و تجزیه و تحلیل دادهها مناسب است که نیاز به سرعت خواندن و نوشتن سریع دارند.
به این ترتیب در این مقاله سعی شد تا حد امکان به طور جامع به این سوال پاسخ داده شود که پایگاه داده PostgreSQL چیست و به مباحث پیرامون آن از جمله تاریخچه، ویژگیها، مزایا و معایب بانک اطلاعاتی PostgreSQL نیز پرداخته شد. اکنون در بخش پایانی این مقاله برای آشنایی بیشتر و آموزش جامعتر PostgreSQL آن دسته از دورههای فرادرس که بیشترین ارتباط را با پستگرس اسکیوال و پایگاه داده دارند به علاقمندان معرفی شدهاند.
در این مقاله بانک اطلاعاتی منبعباز PostgreSQL معرفی و به این سوال پاسخ داده شد که پایگاه داده PostgreSQL چیست ؟ این بانک اطلاعاتی (که در ابتدا Postgres نامیده میشد) توسط پروفسور مایکل استونبرکر و تیمش ارائه شده است. پروفسور استونبرکر به همراه تیمش در زمینه علوم کامپیوتر فعالیت میکنند. یکی از مهمترین مزایای پایگاه داده PostgreSQL ، سازگاری آن با فریمورکها، زبانهای برنامه نویسی و میانافزارهای گوناگون است. بانک اطلاعاتی PostgreSQL منبعباز و رایگان است و به هیچ عنوان نیازی به پرداخت هیچ مبلغی برای استفاده از آن وجود ندارد.
یکی از ویژگی های پایگاه داده PostgreSQL این است که میتواند وبسایتها و اپلیکیشنهای وب پویا را به عنوان گزینهای برای پشته LAMP اجرا کند. این بانک اطلاعاتی از دادههای JSON پشتیبانی میکند. بانک اطلاعاتی Postgres متعلق به یک سازمان خاص نیست، بنابراین، با وجود داشتن ویژگیهای کامل و قابل مقایسه با سایر سیستمهای DBMS، در بدست آوردن محبوبیت خود مشکل داشته است. در نهایت میتوان گفت پایگاه داده PostgreSQL به طور گسترده در صنعت مالی، دادههای GIS دولتی، صنعت، فناوری وب، NoSQL و برای جمعآوری دادههای علمی استفاده میشود.
این مقالات برای شما نیز مفید است: