MySQL Storage Engines – Relational Database Tables एक प्रकार का Data Structure होता है, जो विभिन्न प्रकार की Information को Store व Organize करने का काम करता है। हम किसी Table को एक सारणी के रूप में मान सकते हैं, जो कि Rows व Columns का बना होता है। MySQL विभिन्न प्रकार की जरूरतों को पूरा करने के लिए विभिन्न तरह के Data Structures का प्रयोग करते हुए Data को Computer में Store करता है। इन विभिन्न प्रकार के Data Structures को MySql का Storage Engine कहा जाता है। जो कि सामान्यतः निम्नानुसार होते हैं:
- MyISAM
- InnoDB
- Memory
- Merge
- Federated
- Archive
- CSV
- Example
- Blackhole
सामान्यतः InnoDB या MyISAM को Default रूप से उपयोग में लिया जाता है। उपरोक्त सभी प्रकार के Storage Engines की अपनी अलग विशेषताऐं हैं और अलग-अलग प्रकार की जरूरतों को पूरा करने के लिए हम अपनी जरूरत के अनुसार इनमें से किसी एक प्रकार के Storage Engine को अपनी हर Table के लिए Use करते हैं।
MyISAM Storage Engine की Tables Operating System से Independent होती हैं, जिसका फायदा ये होता है कि हम Windows Operating System पर बनाई गई Table को बिना किसी परेशानी के Linux Server पर भी ज्यों का त्यों उपयोग में ले सकते हैं। साथ ही MyISAM Storage Engine में हम Large Amount of Data Store कर सकते हैं।
MyISAM Storage Engine की कमी ये है कि ये Storage Engine Transactions को Support नहीं करता। Transactions की सुविधा प्राप्त करने के लिए हमें InnoDB Storage Engine को Use करना जरूरी होता है।
इनके अलावा जब हम हमारे Table के Data को एक Comma Separated Values के रूप में MySql में Store करना चाहते हैं, तब हम Storage Engine के रूप में CSV Storage Engine को Use कर सकते हैं।
हालांकि इनके अलावा भी 6 और प्रकार के Storage Engines हैं, लेकिन सामान्यतः हमारी जरूरत MyISAM या InnoDB Storage Engines से पूरी हो जाती है, इसलिए हम Storage Engines के विस्तार में नहीं जा रहे हैं।
अब हम phpMyAdmin Panel का प्रयोग करते हुए उपरोक्त सारणी के अनुसार एक Table Create करने के लिए पूरी तरह से तैयार हैं। phpMyAdmin Panel का प्रयोग करते हुए जब हम Table Create करना चाहते हैं, तो हम phpMyAdmin Panel को निम्नानुसार Use कर सकते हैं:
Default रूप से phpMyAdmin Panel में Table के केवल दो Columns के लिए ही Space मिलता है। लेकिन चूंकि हमारी Table में कुल 7 Columns हैं, इसलिए उपरोक्त चित्र में बताए अनुसार हमें 5 और Columns Add करने हैं। अतः उपरोक्त चित्र में दर्शाए Box में मान 5 Specify करके Go Button पर Click करने पर हमारे सामने निम्नानुसार 5 और Columns Add हो कर नया Page दिखाई देने लगता हैः
उपरोक्त Table में हमने "confirmpwd" Column को छोड दिया है, क्योंकि Password Confirmation का काम हम Client Side में कर सकते हैं। इसलिए इस Field के लिए हमें अलग से नया Column Create करने की जरूरत नहीं है।
Table के सभी Fields की Information Fill करने के बाद हमें इसी Page पर दिखाई देने वाले "Save" Button को Click करना होता है। जैसे ही हम Save Button पर Click करते हैं, हमारी Table Create हो जाती है, जिसके Structure को हम "subscribers" नाम पर Click करके देख सकते हैं, जो कि निम्नानुसार दिखाई देती हैः
चूंकि हमारी Table Create हो चुकी है, इसलिए अब हम User के Registration Form से आने वाले Data को इस Table में Store कर सकते हैं और Login Confirmation की जरूरत पडने पर User की Information को Comparision के लिए इसी Table से Retrieve कर सकते हैं। तो चलिए, अब हम फिर से हमारा Registration Form Create करते हैं, लेकिन इस बार Registration व Login का काम हम इस Database Table के माध्यम से करेंगे।