ڈیٹا بیس ڈیٹابیس کی مختصر تاریخ

ڈیٹابیس کی مختصر تاریخ :

شروع میں ڈیٹا ڈسک پر محفوظ نہیں کیا جاتا تھا بلکہ پروگرامر کو طبعی(physical) اور منطقی(logical) ڈیٹا ساخت(structure) دونوں کو بیان کرنا پڑتا تھا جس میں سٹوریج ، طریقہ رسائی (access method) ، ان پٹ آؤٹ پٹ(I/O) موڈ شامل ہوتے تھے۔ ہر ڈیٹا سیٹ کے لیے ایک پروگرام اور بہت زیادہ مواد کی نقول(redundancy)۔
ڈیٹا کی استقامت(persistence) نہ تھی ، ریم محدود اور مہنگی جس کی وجہ سے پروگرامر کی پیداواری قوت کم تھی۔

1968 برمبنی فائل:
ڈیٹا بیس سے پہلے ڈیٹا سادہ فائل میں محفوظ کیا جاتا تھا۔
ڈیٹا فائلوں میں محفوظ کیا جاتا تھا مع انٹرفیس درمیان پروگرام اور فائلوں کے۔
متعدد طریقہ رسائی مثلا اشاریہ ، متواتر(sequential) ، اتفاقی (random)
بے تحاشہ پروگرامنگ تیسری نسل کی زبانوں مثلا بیسک(basic) ، کوبول(cobol) میں

1968 - 1980 غیر نسبتی ڈیٹابیس(non relational database)
ڈیٹا بیس جس نے ساخت(structure) اور سالمیت(integrity) پر مبنی محفوظ آپریشنل ڈیٹا مہیا کرنا شروع کیا جسے اطلاقی(application) سسٹم استعمال یا شیئر کر سکتے تھے۔
Hierarchical ڈیٹابیس ماڈل پر مبنی آئی بی ایم کا پہلا DBMS جو IMS کہلایا
Network ڈیٹابیس ماڈل پر مبنی DBMS جو IDMS کہلایا۔

Network DBMS
1960 میں IDS نیٹ ورک ماڈل پر مبنی DBMS تیار ہوا ، اسے 1971 میں CODASYL گروپ کی مدد سے معیاری بنایا گیا
اس کے تین خاص حصے تھے
نیٹ ورک نقشہ (schema)۔۔۔۔۔ ڈیٹابیس انتظام
ذیلی نقشہ (subschema) ہر ڈیٹابیس صارف کے لیے علیحدہ منظر
ڈیٹا بندوبستی زبان (Data management language)جو نچلے اور تفصیلی سطح پر تھی

Hierarchical DBMS
آئی بی ایم کے IMS نے 1970 اور 1980 کے عشروں میں IMS نے مین فریم ڈیٹا بیس مارکیٹ پر راج کیا
 
Relation Model and RDBMS
1970 میں Edgar F. Codd میں تاریخ ساز نسبتی ماڈل پیش کرکے ڈیٹا بیس کے مستقبل کا رخ متعین کردیا۔ اس ماڈل میں مواد کی تلاش پر اصرار تھا برخلاف سلسلوں کی مدد سے مواد تک پہنچنے کے۔ یہ ضروری تھا تاکہ ڈیٹا بیس کا مواد ارتقا کے مراحل سے گزر سکے برخلاف اطلاقیوں کے بار بار لکھے جانے کے۔ نسبتی ماڈل 1980 میں زیادہ استعمال میں آیا جب ہارڈویئر اس قدر طاقتور ہو چکا تھا کہ ایسے ماڈل اور ان پر مبنی نظاموں کے اطلاق کو ممکن بنایا جا سکے۔ 1990 کے اوائل میں نسبتی(relational) ماڈل تمام بڑے سسٹم پر لوگو ہو چکا تھا اور یہ صورتحال اب بھی قائم ہے ۔
ڈیٹابیس کی غالب زبان نسبتی ماڈل(relational model) کی معیاری SQL ہے جس نے ڈیٹابیس کے دوسرے ماڈلوں کو بھی متاثر کیا ہے۔
نسبتی ماڈل(relational model) میں چونکہ زور تلاش پر تھا بہ نسبت مواد کی آمد و رفت (navigation)کہ اس لیے اس میں اکائیوں(entities) کے درمیان نسبت دکھانے کے لیے واضح طور پر اشارے(pointers) موجود نہیں تھے بلکہ اس کی بجائے پرائمری کلید(primary key) اور خارجی کلید(foreign key) سے ظاہر کیا جاتا۔ یہ کیوری(query) زبان کے لیے تو ایک اچھی بنیاد تھی مگر ایک ماڈلنگ زبان کے لیے مفید نہیں تھی۔ اس وجہ سے ایک مختلف ماڈل ، نسبت اکائی ماڈل (entity relationship model ) سن 1976 میں معرض وجود میں آیا جو ڈیٹابیس ڈیزائن کے لیے مشہور و معروف ہوگیا۔
 
ایڈگر کوڈ نے آئی بی ایم میں کام کرتے ہوئے وہاں تب کے موجود ڈیٹابیس ماڈل (Hierarchical) میں کمیاں پائیں اور ایک نئے ڈیٹابیس ماڈل کو خدوخال واضح کرتے ہوئے 1970 میں اپنا مقالہ A Relational Model of Data for Large Shared Data Banks پیش کیا جو ایک نئے باب کا آغاز ثابت ہوا۔

Edgar Codd's Relational Model

کوڈ نے اپنے مقالے میں ایک نئے سسٹم کو بیان کیا جو بڑی ڈیٹابیس کےس ساتھ کام کرے اور محفوظ کر سکے۔ بجائے Codasyl ماڈل کی طرز پر ریکارڈز(records) کو سلسلہ وار لسٹ(linked list) کی شکل میں آزادانہ طور پر محفوظ کیا جا ئے، کوڈ نے خیال پیش کیا کہ "ٹیبل" جو مقررہ لمبائی والے ریکاڑد پر مشتمل ہو اسے استعمال کیا جائے۔ سلسلہ وار لسٹ بہت سست ثابت ہوگی جہاں ڈیٹابیس میں کسی ریکارڈ میں خالی جگہ چھوڑنی پڑے۔ نسبتی ماڈل نے اس مشکل کا حل ڈیٹا کو ٹیبل مطابقت کی ایک سیریز میں تقسیم کرکے نکالا ، جس میں اختیاری عناصر کو اہم ٹیبل سے نکال کر وہاں رکھا جا سکتا۔
ڈیٹابیس کا ایک عمومی استعمال کسی بھی صارف کے بارے میں معلومات ، لاگنگ معلومات ، متعدد ایڈریس ، فون نمبر۔ navigational میں تمام ڈیٹا ایک ہی ریکارڈ میں محفوظ کیا جاتا تھا اور جو چیزیں استعمال میں نہیں ہوتی تھیں وہ ڈیٹابیس میں رکھی ہی نہیں جاتی تھیں۔ نسبتی طریقہ کار ڈیٹا کو مطابق() کر ٹیبل میں داخل کیا جاتا ہے۔ بنیادی ٹیبل میں ڈیٹا داخل کیا جائے گا اور اختیاری ٹیبل میں ڈیٹا تب ہی جائے گا جب اس سے متعلقہ ڈیٹا مہیا کیا جائے گا۔
لاگ ان معلومات اور اسے سے جڑی دوسری معلومات باقی ٹیبل میں محفوظ ہوگی ، اس کے لیے ایک تصویری شکل مندرجہ ذیل ہے۔

Relational_key.png


معلومات کو واپس جوڑنا اس سسٹم کی کلید(key) ہے۔ نسبتی ماڈل میں ، معلومات کا ایک حصہ "کلید "(key) جو کسی بھی مخصوص ریکارڈ کو منفرد(unique) انداز میں بیان کرے گی۔
اگر صارفین کے متعلق معلومات ڈھونڈی جا رہی ہے تو اختیاری ٹیبل میں موجوڈ معلومات کلید(key) کے ذریعے ڈھونڈی جا سکے۔ مثلا اگر صارف کا لاگ ان نام منفرد ہے تو فون نمبر اور ایڈریس کو اس لاگ ان نام بطور کلید کے محفوظ کیا جا سکتا ہے۔ سادگی سے متعلقہ ڈیٹا کو دوبارہ ایک مجموعہ سے جوڑنا ایسی چیز تھی جو روایتی کمپیوٹر زبانوں کے ڈیزائن میں شامل نہ تھی۔
navigational اپروچ میں پروگرام ایک لوپ کے ذریعے مجموعہ کو حاصل کیا جاتا تھا ، نسبتی(relational) اپروچ میں لوپ(loop) کے ذریعے ایک ریکارڈ کے بارے میں معلومات اکٹھی کی جاتی ہے۔ کوڈ(Codd) کے حل میں لوپ (loop)کی ضرورت کو ایک سیٹ مرتکز زبان سے حاصل کیا گیاجو آگے چل کر SQL بن گئی۔

حساب کی ایک شاخ tuple calculus کو استعمال کرتے ہوئے اس نے یہ دکھایا کہ ایسا سسٹم بنایا جا سکتاہے جو کسی بھی ڈیٹابیس کے تمام آپریشن (insert, delete, update) کو سپورٹ کر سکتا ہے اور ساتھ ساتھ ایک آپریشن میں کسی بھی ڈیٹا کے سیٹ کو تلاش یا واپس کروایا جا سکتا ہے
 
1970 کے بعد SQL DBMS
Codd کے مقالے سے متاثر ہو کر برکلے میں دو لوگوں نے ایک پراجیکٹ انگریس(INGRES) شروع کیا۔
1973 میں پہلی ٹیسٹ پراڈکٹ سامنے آئی جو 1979 میں پھیل گئی۔
INGRES بہت حد تک سسٹم آر سے مشابہ تھی جس میں ڈیٹا رسائی کے لیے ایک زبان کا استعمال بھی شامل تھا جو QUEL کہلاتی تھی۔ وقت کے ساتھ ساتھ ابھرتے ہوئے معیار SQL کے ساتھ ہو گئی۔
اسی اثنا میں آئی بی ایم نے خود بھی نسبتی ماڈل پر مبنی ایک پراجیکٹ کیا مگر پھر اسے ترک کر دیا۔

اس کے بعد IBM نے سنجیدگی کے ساتھ کوڈ کے تصورات پر مبنی ایک پروٹوٹائپ سسٹم آر پر 1970 کے عشرے کے اوائل میں کام شروع کیا۔ پہلا ورژن 1975-75 میں تیار ہوا اور کثیر ٹیبل سسٹم پر آگے کام شروع ہوا۔
1978-79 میں مزید ورژن آئے اور سسٹم آر SQL/DS پراڈکشن سطح پر تیار ہوا اور اب DB2 کہلاتا ہے۔

INGRES کے پراجیکٹ میں شامل بہت سے لوگ اس منصوبے کی کمرشل کامیابی کے بارے میں پریقین ہو چکے تھے اور انہوں نے مختلف کمپنیاں بنا کر اس کام کو کمرشل بنیادوں پر شروع کر دیا، سمیت SQL انٹرفیس کے۔
 
INGRES کے پراجیکٹ میں شامل بہت سے لوگ اس منصوبے کی کمرشل کامیابی کے بارے میں پریقین ہو چکے تھے اور انہوں نے مختلف کمپنیاں بنا کر اس کام کو کمرشل بنیادوں پر شروع کر دیا، سمیت SQL انٹرفیس کے۔

Sybase
Informix
NonStop SQL
Ingres

صرف Larry Ellison کی Oracle Database ایک مختلف چین سے شروع ہوئی گو وہ بھی IBM کے System R پر ہی مبنی تھی مگر مارکیٹ میں پہلا ورژن ریلیز 1978 میں کرنے میں IBM پر سبقت لے گئی۔

StoneBraker نے کچھ اسباق سیکھے ایک نئی ڈیٹابیس بنانے کے لیے جس کا نام Postgres رکھا گیا اور اب یہ جانی جاتی ہے بطور PostgreSQL
PostgreSQL بہت سے بین الاقوامی اہم پراجیکٹ میں استعمال ہوتی ہے ( ڈومین رجسٹریاں اسے پرائمری ڈیٹا سٹور کے طور پر استعمال کرتی ہیں)

PostgreSQL اب مشہور اور بڑی اوپن سورس کمپنیاں استعمال کر رہی ہیں جن میں مندرجہ ذیل شامل ہیں

skype
Ubuntu
oDesk
BitLeap LLC

کئی ایوارڈ بھی جیت چکی ہے جن میں سے کچھ کی تفصیل نیچے دی گئی ہے۔

2004 ,2005 , 2006 میں ایوارڈ جیتا
Linux Journal Editor's Choice Awards for Best Database

2008 میں
Developer.com Product of the Year, Database Tool
 
Object-oriented Database
1980 کی دہائی میں کا زور ہوا اور اس کے ساتھ ہی ڈیٹابیس میں ڈیٹا کے بڑھاؤ میں بھی اضافہ ہوا۔
پروگرامر اور ڈیزائنر نے ڈیٹا کو ڈیٹابیس میں object کے طور پر استعمال کرنا شروع کر دیا۔ اس قسم کی ڈیٹابیس میں ڈیٹا کی متعلقہ فیلڈ ایک object کی خصوصیات کے طور پر اس کے ساتھ جڑی ہوتی ہیں نہ کہ علیحدہ بغیر کسی تعلق کے۔ مثلا اگر کسی شخص کا ڈیٹا ڈیٹابیس میں محفوظ ہے تو اس کی خصوصیات ایڈریس ، فون نمبر، عمر اب اس شخص سے متعلق ہوں گی نہ کہ محض اضافی ڈیٹا۔ اس سے ڈیٹا کے درمیان تعلق object اور اس کی خصوصیات میں تعلق میں بدل جاتا ہے بجائے انفرادی فیلڈ کے درمیان تعلق کے۔
Object-oriented Database کو زیادہ کامیابی نہیں ملی مگر اس کا نسبتی ڈیٹابیس پر مثبت اثر پڑا اور اب تقریبا تمام مشہور اور معروف ڈیٹابیس خالص نسبتی ڈیٹابیس کی بجائے object relational بن چکی ہیں۔

2004 میں دوبارہ سے اٹھنا شروع ہوئیں اور اب بہت سے مخصوص شعبہ جات میں استعمال بڑھ رہا ہے جن میں مندرجہ ذیل شامل ہیں
ٹیلی کام
ہائی انرجی فزکس
مالیکیولر بائیولوجی
spatial database

ODM نے Object oriented databases کے لیے SQL کی ایک قسم (Object Query Language ا)OQL کو معیاری بنا کر relational database کے لیے SQL کی طرح کا معیار قائم کرنے کی کوشش کی ہے۔
 
NoSQL databases
اکیسویں صدی میں ڈیٹا کے بے پناہ پھیلاؤ ، غیرمنظم اور بے ساختگی نے نسبتی ماڈل اور اس پر مبنی ڈیٹابیس کے لیے ڈیٹا کی اس پیچیدگی ،اس کے پھیلاؤ اور غیرمنظم ساخت کو سنبھالنا مشکل ہوا اور اس کے نتیجہ میں ایک اور قسم کا ڈیٹا ماڈل اور اس پر مبنی ڈیٹابیس وجود میں آنی شروع ہوئیں اور یہ NoSQL کہلاتی ہیں۔​

اس طرح کی ڈیٹا بیس کو مستحکم schema کی ضرورت نہیں ہوتی ، جوائن آپریشن سے بچاؤ کے لیے ڈیٹا کو denormalized فارم میں محفوظ کیا جاتا ہے تاکہ وہ افقی درجہ پر پروان (scale horizontally) چڑھ سکے۔ زیادہ تر کو کی ویلیو(key value) یا دستاویزی ڈیٹابیس (document oriented ) کے زمروں میں رکھا جا سکتا ہے ۔
حالیہ سالوں میں وسیع منقسم ڈیٹابیس جن میں high partition tolerance ہو کی ڈیمانڈ بڑھی ہے مگر CAP تھیوریم کے مطابق کسی بھی منقسم سسٹم کے لیے بیک وقت استقامت(consistency) ، فراہمی (availability) اور partition tolerance ممکن نہیں۔ کوئی بھی منقسم سسٹم (distributed system) ان خصوصیات میں سے دو کی گارنٹی دے سکتا ہے مگر تینوں کی بیک وقت نہیں۔ اس لیے اس قسم کی NoSQL ڈیٹابس بالآخر استقامت (eventual consistency) فراہم کرتی ہیں جس میں فراہمی اور partition tolerance کو ممکنہ حد تک ڈیٹا کی اسقامت کے ساتھ مہیا کیا جاتا ہے۔

مشہور ڈیٹابیس مندرجہ ذیل ہیں اور یہ سب اوپن سورس ہیں


 
XML databases
XML ڈیٹا بیس NoSQL ڈیٹابیس کے ذیلی سیٹ میں مشتمل ہے۔
ایسی تمام ڈیٹابیس انڈسٹری معیار پر مبنی XML اسٹوریج فارمیٹ استعمال کرتی ہیں۔
XML ایک اوپن ، قابل مطالعہ(readable) اور کثیر پلیٹ فارم (cross platform) ڈیٹا فارمیٹ ہے جو مختلف آئی ٹی سسٹم کے مابین آپریشن کے لیے استعمال ہوتا ہے۔

اس ضمن میں چند سافٹ ویئر مندرجہ ذیل ہیں

BaseX
eXist
MarkLogic Server
MonetDB/XQuery
Sedna

زیادہ تر XML ڈیٹابیس XQuery کو سپورٹ کرتی ہیں جو ڈیٹابیس سے معلومات حاصل کرنے کے لیے استعمال ہوتی ہے اور بڑی حد تک SQL سے ملتی جلتی ہوتی ہے۔
 
Top