حسین کعبی: وقتی فیگو را در جام جهانی زدم....
تاریخچه
2 DB تاریخچهمفصلی دارد. بسیاری تصور میکنند که این پایگاه، اولین سیستم بانک اطلاعاتی بود که از زبان استاندارد پرسوجوی بانک اطلاعاتی (یعنی SQL که آن هم از خود آیبیام است) استفاده کرد، اگرچه شرکت اوراکل یک بانک اطلاعاتی تجاری مبتنی بر SQL را قدری زودتر از آیبیام وارد بازار کرده بود.
نام 2 DB را برای اولین بار در سال 1983 برای این سیستم گذاشتند. در آن سال، آیبیام 2DB را برای بستر مینفریم MVS عرضه کرد. قبل از آن، محصول مشابهی که SQL/DS نامیده میشد، روی مینفریمهای VM اجرا میشد. سیستم منطقی2 یا SystemR یک نسخه آزمایشی بود که در دهه70 میلادی توسعه یافت. 2 DB نیز ریشه در اوائل دهه 70 دارد.
E.F.Codd که برای آیبیام کار میکرد، نظریه بانکهای اطلاعاتی رابطهای را در ژوئن 1970 منتشر ساخت که مدلی برای کار با داده بود. برای کار با آن مدل دادهای، کاد به یک زبان مربوط به بانک اطلاعاتی رابطهای نیاز داشت که خودش آن را آلفا نامید. در آن زمان، آیبیام اعتقادی به قابلیتهای کاد نداشت و پیادهسازی ایدهآن را به گروهی از برنامهنویسان داد که زیر نظر کاد کار نمیکردند. آن گروه بسیاری از اصول پایهای مدل رابطهای کاد را نادیده گرفتند. نتیجهکار، زبان ساختیافتهانگلیسی پرسوجو یا Sequel بود. زمانیکه آیبیام اولین محصول خود را در ردیف بانکهای اطلاعاتی منتشر کرد، آنها به یک زبان با قابلیت تجاری نیز نیاز داشتند، در نتیجه، زبان Sequel را بازبینی کردند و زبان جدیدی با نام SQL را نامگذاری کردند تا تفاوت این دو زبان مشخص باشد.
از نظر روند تاریخی، هنگامی که اینفورمیکس، Illustra (نسخه تجاری بانکاطلاعاتی (Postgres را خرید و موتور بانک اطلاعاتیشان را با معرفی سرورهای جهانیشان در یک مدیر پایگاه داده از نوع Object SQL قرار داد. هم اوراکل و هم آیبیام، ماجرا را با تغییر موتورهای بانک اطلاعاتی خودشان دنبال کردند تا آنها هم قابلیتهای شیء منطقی3 داشته باشند. در سال 2001، آیبیام اینفورمیکس را خرید و در سالهای بعد، فناوری اینفورمیکس را در محصول 2 DB خود وارد ساخت. در حال حاضر، 2 DB را به لحاظ فنی میتوان یک سیستم مدیریت پایگاه داده object-sql به شمار آورد.
2 DB چندین سال در نقش یک DBMS همه کاره روی تمام سرورهای مینفرم آیبیام در دسترس بود. بعدها آیبیام، 2DB را روی پلتفرمهای دیگری مانند 2 OS/، یونیکس و ویندوز هم ارائه داد و بعد به سرااغ لینوکسهای مبتنی بر z رفت و پشتیبانی خود را آنجا هم گسترش داد. حتی PDAها هم میتوانند از 2 DB استفاده کنند.
این فرآیند در اصل در سالهای دههشروع شده بود. ایده نسخهای از 2 DB برای مینفریمها از بانکهای اطلاعاتی شبکهای و سلسلهمراتبی آیبیام DL/I و IUBMIMS گرفته شده است. 2 DB در سیستم عامل /OS5i هم هست و در ورژنهای مختلف z/VSE و Z/VM وجود دارد.
یک نسخهاولیه از این کُد که بعدها LUW2DB (سرورهای لینوکس، یونیکس، ویندوز) شد، ابتدا بخشی از یک نسخهتوسعهیافتهاز یک بخش از 2 OS/ بود که مدیر پایگاهداده نامیده میشد. آیبیام کارآیی مدیر پایگاه داده را چندبار توسعه داد و مواردی مثل بانکهای اطلاعاتی توزیعشده را به آن اضافه کرد که امکان دسترسی اشتراکی به یک بانک اطلاعاتی را روی یک LAN میداد. در نهایت آیبیام مشخص کرد که در کد مدیر پایگاهداده مشکل غیرقابل رفعی وجود دارد و مصمم شد تا در آزمایشگاه نرمافزاری تورنتوی خود، آن را از نو بنویسد. نسخهجدید مدیر پایگاه داده که مانند نسخه مینفریم، 2 DB نامیده میشد، روی پلت فرمهای 2 Os/ و 6000 RS/ اجرا شده و 2/2 DB و 6000/2DB نامیده میشود.
نامگذاری نسخههای 2 DB
دیگر نسخههای 2 DB که بر اساس کدهای متفاوت توسعهیافتهاند در نامشان کاراکتر / را دارند و این گونه نام گرفتند: T400/2DB (برای 400As/)، VSE (برای DOS/VSE) و /Vm2DB (برای سیستم عامل VM.) وکلای آیبیام جلوی این گونه نامگذاری دمدستی را گرفتند و تصمیم گرفتند که تمام محصولات باید به این صورت نامگذاری شوند: »محصول برای پلتفرم« برای مثال 90for Os/s 2(DB.
نسخههای بعدی 2 DB برای مینفریمها و دیگر محصولات سرور آن بانک اطلاعاتی جهانی udb) 2DB4( 2DB نام گرفتند، نامی که قبلا برای نسخههای ویندوز–لینوکس، یونیکس هم استفاده میشد و این امر باعث شده بود نسخههای مختلف دچار تداخل اسم شوند. در این نقطه، نسخهمینفریم 2 DB و نسخهسرور 2 DB که به زبانهای متفاوت نوشته شده بودند Pl/s) برای مینفریمها و C++ برای سرورها(، اما عملکرد مشابهی داشتند و ساختار مشابهی از sql را استفاده میکردند.
در طی سالیان، 2 DB از پیشرفتهای نرمافزاری بیشماری پرده برداری کرد. به خصوص در سری Z آیبیام که ویژگیهایی همچون Data Sharing Parallel Sysplexداشت. در حقیقت نسخه UDB2DB برای Z/os در حالحاضر به یک سیستم 64 بیتی نیاز دارد و روی پردازندههای 32بیتی اجرا نمیشود، و 2 DB برای Z/os مینفریمها، تفاوتهای نرمافزاری منحصربهفردی دارد تا به مشتریهای بزرگ سرویس بدهد. در اوایل دهه90، آیبیام یک نسخه Clustered از 2DB را که Parallel Edition نامیدهمیشد، منتشر کرد که در اصل روی AIX اجرا میشد. این نسخه امکان بهاشتراکگذاری را فراهم میکرد که در آن یک بانک اطلاعاتی بززرگ میان چند سرور 2 DB تقسیم میشد که با یکدیگر از طریق یک بستر ارتباطی پرسرعت در ارتباط بودند. این نسخه2 DB در نهایت روی تمام توزیعهای لینوکس، یونیکس و انواع ویندوز قابل اجرا شد و بعدها DEEE5 نام گرفت. حالا آیبیام این محصول را ویژگی تقسیم بانکاطلاعاتی (DPF) مینامد و آن را به عنوان یک افزونه روی محصولاتش میفروشد.
در اواسط سال 2006، آیبیام از نرمافزاری بهنام Viper پردهبرداری کرد که نام اختصاری 2 DB نسخه روی پلتفرمهای توزیع شده و Z/os است. نسخه نهم 2 DB اوائل سال 2007 اعلان شد. آیبیام ادعا میکند که این نسخهجدید اولین بانک اطلاعاتی رابطهای است که میتواند XML را به صورت محلی نگهداری کند. دیگر ویژگیها شامل OLTP برای پلتفرمهای توزیعشده، انبارسازی دادهها و امور مرتبط با هوش تجاری است. همچنین برای مینفریم محبوب آیبیام، Z/os هم ویژگیهای خودمدیریتی و بهرهوری از 64 بیت را افزوده است. علاوه بر آن بهبود اجرای Stored Procedureها و گرامرهای مختلف SQLرا بهبود داده است.در اکتبر2007،آیبیام، وایپر2 را اعلان کرد که نام اختصاری2 DB نسخه 9.5 روی پلتفرمهای توزیع شده بود.
در ژوئن 2009، آیبیام »کبرا« را معرفی کرد که نام اختصاری ورژن 29.7DB برای LUW بود. به این نسخه فشردهسازی دادهها برای شاخصهای بانک اطلاعاتی، جداول موقت و شیءهای بزرگ، افزوده شده است.
این نسخه همچنین دادههای XML محلی را در پردازش Hash پشتیبانی میکند و همچنین از تکنیکی بهنام Range Partitioning (بخشبندی محلی دادههای فیزیکی برای بالا بردن بازدهی و سرعت) استفاده مفید کرد. ذخیره محلی XML به کاربران اوراکل این امکان را میدهد که راحتتر با 2DB کار کنند. این ویژگیها شامل پشتیبانی از گرامرهای متداول SQL، Pl/Sql، اسکریپت نویسی و انواع دادهای بانک اطلاعاتی اوراکل میشود. این نسخه همچنین مدل همزمانی را بهبود بخشیده تا برای کاربران بانک اطلاعاتی اوراکل ظاهری آشنا داشته باشد.
کاربرد 2DB بیشتر در حوزههایی بیشتر است که به تراکنش سنگین و سریع در بستری پهناور نیاز باشد. تنظیم و راهاندازی 2DB شاید در اولین نگاه ساده بهنظر نرسد، اما وقتی که پایا شود، مهارتهای خود را در مقایسه با دیگر رقبا (که بسیار اندک هستند) نشان خواهد داد.
پی نوشت ها
.Informix.1
.System Relational.2
.Object-Relational.3
universal database 2.DB.4
Extended Enterprise Edition 2.DB.5
محمد کاظمی
حسین کعبی: وقتی فیگو را در جام جهانی زدم....