AdBlock Detection Block

Sure, ad-blocking software does a great job at
blocking ads, but it also blocks some useful and important features of our
website. For the best possible site experience please take a moment to
disable your AdBlocker.

ما هي PostgreSQL ؟

نشره زايد في الاثنين, 2008/02/11 - 5:29م

في عام 1986م جلس البرسوفور في جامعة كلفونيا في بيركلي و الخبير المشهور في تقنية قواعد البيانات مايكل ستونبركر Michael Stonebraker ليبني نظام قواعد بيانات جديد و محسن ، وبالرغم أنه كان مستمتع بنجاح مشروعه السابق في قواعد البيانات المسمى INGRES ، إلا أنه قرر أن يطبق رؤيته الجديدة في مشروع جديد كليا ، بدلا من البناء على المشروع السابق بسبب تعقيداته ، مما أنتج في نهاية مشروع Postgres . و خلال ثمان السنوات التالية ، أخذ شهرة مشروع Postgres بالنمو خصوصا بين مجتمع الباحثين ، حتى وصلت تلك الشهرة حد الإغراق ، مما أخذ كل وقت الباحثين في مشروع Postgres الذين كان عليهم مواصلة بحوثهم في قواعد البيانات ، لذا كانت تلك الشهرة هي القاتلة لمشروع Postgres الذي انتهى رسميا مع الإصدارة 4.2 ، و لحسن الحظ أن رخصة هذه المشروع هي من ترخيص BSD المفتوح المصدر ، مما أمن استمرارية هذا المشروع ، حيث قام مجموعة من المطورين بتبني هذا المشروع عن طريق الإنترنت ، و في عام 1994م أضاف أندرو يو و جوللي تشن محلل SQL ( ليستبدل نظام لغة QUEL السابق ) ، و أطلقا المشروع تحت اسم Postgres95 ، و مع حلول عام 1996م أصبح من البديهي أن اسم Postgres95 لا يمثل الرؤية المستقبلية للمشروع ، فلذا تم إطلاق قاعدة البيانات باسم PostgreSQL 6.0 بواسطة مجتمع المطورين ، ليعكس أصل المشروع و الخصائص الجديدة التي اضيفت إليه .

و اليوم أصبحت PostgreSQL واحدة من أشهر المشاريع المفتوحة المصدر على الإنترنت ، وهي تشغل أعدد ضخمة من التطبيقات و المواقع و حتى أجزاء من البنية التحتية للإنترنت ، وفي الحقيقة فإن بعض المنظمات الضخمة و المشهورة في العالم تستعمل PostgreSQL بشكل متكرر ، و على سبيل المثال شركة Afilias Ltd ( المناحة لنطاق .info ) ، و شركة أبل للحواسيب ، و BASF و شركة سيسكو للأنظمة ، و منظمة الصحة العالمية WHO ، و الأكثر أهمية هو عدد الشركات التي تساهم في تطوير المشروع و تقدم الدعم له ، مثل شركة Fujitsu و شركة Pwrvasive Software Inc و شركة رد هات ، و شركة SRA International Inc ، و الجدير بالملاحظة على رغم من تلك الشركات تساهم في مشروع PostgreSQL إلا أنها لا تملكه و لا تحدد مسار تطويره ، حيث أنه يتطور بواسطة متطوعين من داخل مجتمع المصادر الحرة ، لذا ماذا ترى كل تلك الشركات في مشروع PostgreSQL ؟ و الأهم لماذا يجب أن تكون PostgreSQL الأولى في قائمة خياراتك عندما تريد أن تبدأ في مشروع يتطلب قواعد بيانات ؟

أهم مميزات PostgreSQL

تأتي PostgreSQL مزودة بمميزات ذات أهمية محورية لكلا المشاريع البرمجية الشخصية و المشاريع البرمجية للشركات الكبرى ، و سنسلط الضوء على بعض من هذه الخصائص.

سلامة البيانات

دائما يناضل مطورو PostgreSQL ليجعلوا سلامة البيانات على قائمة أولوياتهم ، فلو أن مميزة جديدة تعارضت مع سلامة البيانات فلن يسمحوا لها حتى تعمل بشكل جيد و تحافظ على سلامة البيانات ، و كذلك الحال مع تحسينات الأداء و السرعة ، فما فائدة أن تكون قاعدة البيانات سريعة و لكن لا تثق به ؟ ، إن فلسفة مطوري PostgreSQL هي اجعلها أولا تعمل بشكل صحيح ، ثم بعد ذلك اجعلها تعمل بسرعة.

القابلية للتمدد بشكل عالي

في أغلب أنظمة قواعد البيانات التقليدية ، يتم التحكم بالعمليات المتزامنة بواسطة سلسلة مختلفة من آليات الإقفال ، و الكثير من هذه الأنظمة سريعة جدا في الاستعلامات وضع القراءة-فقط ، أو عندما يكون عدد المستخدمين محدود ، و لكن تغرق في حالة مقابلة أعدد ضخمة من المستخدمين الذين يقرؤون و يكتبون في نفس الوقت ، لقد تفادت PostgreSQL هذه المشكلة باستعمال نظام يعرف بالتحكم المتزامن المتعدد الإصدارات Multiversion Concurrency Control (MVCC) ، بحيث أن كل عملية ترى صورة ( أو نسخة ) فقط من البيانات التي تعمل عليها ، مما يعزلها عن التغيرات التي تحصلت في البيانات الأصلية بواسطة المستخدمين الآخرون.

اكتمال الخصائص

على الرغم من أنه لا يوجد برنامج مكتمل ، إلا أن PostgreSQL تدعم الكائنات الأساسية لقواعد البيانات مثل القيود و المفتاح الأجنبي و القوادح Trigger و العروض views منذ سنوات ، و هي كذلك تدعم خصائص غير منتشر بشكل كبير مثل التجميعات المخصصة custom aggregates و النطاقات domains و العوامل المخصصة custom operators و القواعد rules ، و إضافة إلى ذلك فإن دعم الاستعلامات الفرعية في PostgreSQL هو الأول في مجاله مما يسمح بالاستعلامات الفرعية في فقرات SELECT و FROM و WHERE في أي استعلام ، وفوق ذلك كله ، فإن PostgreSQL تدعم أيضا الكثير من لغات البرمجة مثل C و SQL و PL/pgSQL و PL/Perl و PL/PHP و PL/Tcl و PL/Ruby ، هذا الغنى من الخصائص سمح ل PostgreSQL بالانتقال إلى إضافة خصائص متقدمة جدا مثل الاسترجاع نقطة-في-الوقت point-in-time recovery (PITR) ، و نقاط الحفظ ( العمليات المتفرعة ) و فراغات الجدول tablespaces . لا يهم ماذا تريد أن تفعل ، فPostgreSQL لديها طريقة لفعله ، و إذا لم تكن كذلك فيمكنك على الأرجح أن تضيف هذه الميزة بنفسك.

الامتداد

فضلا عن إتاحة مصدر شفرة PostgreSQL ، فإن PostgreSQL جعلت إضافة الامتدادات لقاعدة البيانات أمرة في غاية السهولة مع التجميعات المخصصة ، و أنواع البيانات ، و النطاقات و العوامل . إن فهرسة كل النص ، و تطابق العبارات الغامضة ، و OpenGIS مجرد أمثلة من حزم كثيرة تم بناؤها على PostgreSQL.

دعم المنصات

دائما تسعى PostgreSQL بخطى كبيرة لتعمل قد الإمكان على مختلف المنصات ، لقد تم نقلها إلى أكثر من دزينة من منصات اليونكس و اللينكس من الأنظمة المشهورة مثل FreeBSD و رد هات لينكس ، و حتى المنصات المغمورة مثل QNX و BeOS ، و كذلك حتى منصات الألعاب مثل بلاستشن 2 من سوني ، و مكعب الألعاب ننتوندو . و بالرغم كل هذه المرونة إلا أنه يعاب على PostgreSQL في الماضي على أنها تحتاج إلى مجموعة أدوات محاكية لبيئة اللينكس Cygwin حتى تعمل على الويندوز ، و لكن مع الإصدارة الثامنة أصبحت تدعم منصات الويندوز الجديدة بشكل أصلي بدون الحاجة إلى محاكيات ، ولقد اكتسبت هذه الإصدارة شهرة واسعة بسبب دعمها الأصلي للأنظمة الويندوز .

خيارات أمن مرنة

تدعم PostgreSQL نطاق واسع من بروتوكولات الأمن ، و الكثير من خيارات التكوين ، و كذلك خصائص داخل القاعدة البيانات لتساعدك على التحكم بمن يستطيع الوصول إلى البيانات و كيفية ذلك في قاعدة البيانات ، إن أمن PostgreSQL يمكن أن يقسم إلى صنفين عامين : * وسائل توثيق قياسية ، مثلا يمكن استخدام Kerberos و Pluggable AuthenticationModule (PAM) و ident و MD5 encryption لتحكم بوصول المستخدمين إلى قاعدة البيانات ، و هذا يمكن أن يعد لكل مستخدم ، و لكل قاعدة بيانات ، و لكل جهاز موصول أو توليفة من هذه الخيارات حسب متطلبات بيئتك ، و حتى يمكنك أن تطلب أن يتم الإتصال بواسطة طبقة المقابس الآمنة SSL. * الصلاحيات الداخلية ، باستخدام أوامر SQL القياسية مثل GRANT و REVOKE لتسمح بالتحكم في الكائنات في داخل قاعدة البيانات ، بحيث يمكن أن ينشئ مستخدمين بصلاحية الوصول إلى كل الجداول أو إلى جداول محدودة أو بصلاحيات القراءة فقط ، و مع جمع هذا مع الخصائص المتقدمة ( مثل الدوال و العروض و المخططات ) تستطيع أن تجعل مستخدمين مختلفين يريا تمثيلين مختلفين تماما لنفس قاعدة البيانات .

ترخيص خالي من المتاعب

تم ترخيص PostgreSQL تحت رخصة BSD ، والتي تعني أنه يمكن أن تستخدم في التطبيقات المفتوحة المصدر و التجارية مجانا ، مما جعلها تمتلك المناعة ضد الإصدارات المتعددة ( لاختلاف التراخيص ) مهما كانت احتياجات ، يمكنك أن تجد الترخيص كاملا هنا http://www.postgresql.org/about/licence

وسائل دعم متعددة

من المميزات الفريدة في PostgreSQL بالمقارنة مع حلول قواعد البيانات الأخرى هي نطاق الواسع من خدمات الدعم ، و أولا و الأهم هو أن PostgreSQL تملك مجتمع من المستخدمين مفتوح و نشط ، سواءا كنت تبحث عن مساعدة في القوائم البريدية (http://www.postgresql.org/community/lists/) أو تدردش مع مستخدمين في IRC في قناة #postgresql ؛ فإن مساعدة الخبراء متوفرة ، في الحقيقة يمكنك في الغالب أن تجد المطورين الأساسيين يجيبوا على الأسئلة في قائمة البريدية المخصصة للمبتدئين ، كذلك يوفر مجتمع PostgreSQL نطاق واسع من الخدمات لمستخدميه ، مثل التوثيق المتفاعل (http://www.postgresql.org/docs/) و أرشيف قابل للبحث للقوائم البريدية (http://archives.postgresql.org/) و تسهيلات استضافة للمشاريع المتعلقة ب PostgreSQL (http://projects.postgresql.org/ ) . بالطبع PostgreSQL تملك أكثر من مجتمع متذبذب يقف خلفها ، فهناك أيضا دزينة من الشركات الصغيرة التي تخصصت في تقدم الدعم لـ PostgreSQL مثل Command Prompt Inc. و credativ GmbH و PostgreSQL Inc. ، كذلك يوجد أيضا شركات كبيرة تقدم دعم عالمي لـ PostgreSQL مثل Fujitsu و Pervasive SoftwareInc و SRA International Inc. ، هذا الطيف الواسع من الشركات التي تقف خلف PostgreSQL يعني مهما كانت احتياجاتك فإن ستجد حل يناسب تلك الاحتياجات ، و لن تحتاج أبد إلى القلق بخصوص وجود مزود واحد محتكر لحلول قاعدة البيانات.

مستخدمون من عالم الواقع

سواءا كان المشروع شخصي أو تطبيق ذو مهمة خطيرة عالمية ، فإن هناك فرص لأن تكون PostgreSQL تناسب احتياجاتك ، سوف نسلط الضوء الآن على بعض التطبيقات التي استخدامات هذه التقنية : شركة Afilias Inc. إن شركة Afilias Inc. (http://www.afilias.info) هي إحدى تلك الشركات التي لم يسمع بها أحد ولكن الجميع يعتمد عليها ، تقدم Afilias حلول تسجيل أسماء النطاقات ، و أنظمتها تساعد على تشغيل أكثر من نصف دزينة من نطاقات رموز الدول ، و بالإضافة إلى نطاقات .info و .org ، إن استخدام Afilias لقاعدة PostgreSQL يعتبر أمر ثوري في صناعة تسجيل النطاقات ، فعندما طرح موضوع استبدال نطاق .org ، تم تقديم 9 حلول من أصل 11 تعتمد على قواعد بيانات احتكارية و مكلفة ، و كان الحلان الآخرين هو الاعتماد على قاعدة PostgreSQL (انظر http://www.icann.org/tlds/org/questions-to-applicants-13.htm). و اليوم تعمل Afilias بنجاح تحت ظروف حمل عالي لعدة سنوات و منها تعامل مع أكثر من 1000 مدخلة في الثانية ، والناس في شركة Afilias مرتاحين جدا لهذا الوضع ، حتى أنهم أصبحوا من عشاق هذه القاعدة و عمليات مجتمعها لدرجة توظيف عدد من مطوري هذه القاعدة و منهم المطور الأساسي Jan Wieck . وكذلك قاموا بتمويل مشروع تكرار Slony-I (http://slony.info) و الذي يضيف التكرار المتتالي و عابر الإصدارات إلى قاعدة PostgreSQL ، و مع كل اصدارة تزداد قوة العلاقة بين Afilias و PostgreSQL.

الخدمة الوطنية للطقس

إن إدارة الأحوال الجوية و البحرية التابعة لخدمة الطقس الوطنية الأمريكية (http://weather.gov) ، هي إحدى مزودي الخدمات الأخرى التي يعتمد عليها الناس كل يوم ، وهي مسئولة عن تقديم معلومات الأحوال الجوية و تنبأت المناخ والتحذيرات للولايات المتحدة الأمريكية و المناطق المحيطة بها لكل المؤسسات الخاصة والعامة حول العالم ، و إحدى المناطق الأساسية التي كان ل PostgreSQL تأثير هو النظام الجديد لتحضير التنبؤات تفاعليا IFPS ، حيث يقوم هذا النظام بتكامل البيانات من ردارات الرصد و محطات الأحوال الجوية لبناء نموذج مفصل محلي لتوقعات الطقس ، و تتوقع هذه الإدارة عند تشغيل هذا النظام بشكل كامل أن يكون هناك أكثر من 150 مخدم قواعد بيانات PostgreSQL في الخدمة .

موقع WhitePages.com

بدأ موقع WhitePages.com كموقع هاوي على أيام سكرة الدوت كوم في عام 1996 م ، و اليوم أصبح من أنشط الموقع على الإنترنت ؛ حيث يتعامل مع أكثر من مليونين نقرة في اليوم لموقع WhitePages.com ، و أكثر من 8 ملايين على الشبكة التي يدرها 411.com و superpages.com و قسم الصفحات البيضاء في MSN . و بالرغم من أن WhitePages.com كان يستخدم MySQL و Oracle معا ، إلا انه عندما رغب في جعل أدلته تحت سقف بيت واحد اختار قاعدة البيانات PostgreSQL ، لقد كانت قدرة PostgreSQL على تحميل و فهرسة البيانات بمعدل عالي جدا ، هو المفتاح لاختيارها ؛ لأن WhitePages.com كان يحتاج إلى أن يضم مجموعة بيانات ضخمة من مصادر مختلفة ، و بعد ذلك نمت قاعدة بيانات WhitePages.com حتى أصبح أكثر من 375جيجا بايت بجداول تجاوز عدد صفوفها 250 مليون صف ، لقد أصحبت PostgreSQL جزء كبير من شبكة WhitePages.com .

الخاتمة

وهكذا خرجت PostgreSQL من ميادين البحث العلمي لتصبح أغنى وأفضل تطبيق قواعد بيانات مفتوح المصدر على أرض الواقع.

المصدر: Beginning PHP and PostgreSQL 8: From Novice to Professional

Comments

مستكشف مانع الإعلانات

نحن نعرف أن الإعلانات مزعجة!

لكن نحن في وادي التقنية لا نستخدم الإعلانات المزعجة ولا نستخدم إعلانات جوجل. نستخدم مربعا صغيرا على يمين الموقع من شركة حسوب العربية ونحن متأكدون من أنه لن يسبب لك أي إزعاج. من فضلك قم بتعطيل مانع الإعلانات لموقعنا وادعمنا.