எளிய தமிழில் MySQL – பகுதி 2

855


MySQL – இன் வடிவமைப்பு

MySQL-ஆனது பற்பல கூறுகளை உள்ளடக்கிய ஒரு மென்பொருள் அமைப்பாகும். பொதுவாக இதனை MySQL server மற்றும் MySQL client என இரண்டு வகையாகப் பிரிக்கலாம்.



MySQL client என்பது நம்மால் பார்த்து பயன்படுத்தக் கூடிய வகையில் இருக்கும் ஒரு front end tool ஆகும். அதாவது Windows-ல் இருக்கும்  console prompt மற்றும் GNU/Linux–ல் இருக்கும்  shell prompt போன்றவற்றின் மூலமாக, நாம் SQL மொழியில் commands வழங்கலாம். இந்த commands-ஐத் தான் MySQL server பெற்றுக்கொண்டு அதற்குரிய வேலைகளைச் செய்யத் துவங்கும். MySQL server-ல் என்ன நிகழ்கிறது என்பது பொதுவாக பயனர்களின் கண்களுக்குப் புலப்படாது. ஆனால் இந்த MySQL server-தான்  எல்லா வேலைகளையும் செய்து முடித்து result-ஐக் கொடுக்கும்.

எளிய தமிழில் MySQL - பகுதி 2இந்த வரைபடத்தில்   பல்வேறு  MySQL  clients ஆனது ஒரு MySQL  Server வுடன் இணைக்கப்பட்டுள்ளது.



ஒவ்வொரு MySQL client-வும் பின்வரும் வேலைகளைப் புரிகிறது.



$  Password ஐ சரிபார்த்து  Authentication ஐ தொடங்குதல்


$  நாம் கொடுக்கும் SQL Queries ஐ server-க்கான  Tokens ஆக மாற்றுதல்

$   Tokens-ஐ Server-க்கு வழங்குதல்


$  Compress அல்லது Encrypt செய்யப்பட்ட இணைப்புகளை கண்காணித்தல்

கடைசியாக Server-இடம் இருந்து விடைகளைப் பெற்றுக்கொண்டு அதனை பயனர்களுக்குத் தெரிவித்தல் 

MySQL server ஆனது client இடமிருந்து request-ஐ பெற்றுக்கொண்டு அதற்குரிய response-ஐ திரும்பக்கொடுக்கும். இது Management Layer மற்றும் Storage Engine என்று இரண்டு பெரும் பகுதிகளை உள்ளடக்கியுள்ளது. இவைதான் அதிக அளவில் memory, disk மற்றும் network- வுடன் தொடர்பு கொள்கின்றன.

Management Layer ஆனது, MySQL client இடமிருந்து பெரும் request-ஐ வைத்துக்கொண்டு, பின்வரும் வேலைகளைப் புரிகிறது.


$    இணைப்புகளை decrypt அல்லது decode செய்தல்

$    Queries ஐ சரிபார்த்து parse செய்தல்

$    Query Cache -லிருந்து catched queries -ஐ எடுத்தல்

$    தகவல்களை Storage Engine-க்கு அனுப்புதல்

மேலும் disk-க்கான logs-ஐ எழுதுதல் மற்றும் memory-ல் logs-ஐ சேமித்தல் மற்றும் எடுத்தல் போன்ற சில வேலைகளையும் செய்கிறது.

Storage Engine ஆனது databases, tables, indexes -ஐ நிர்வகிக்கின்றது. மேலும் ஒருசில logs மற்றும் சில புள்ளிவிவரங்களையும் நிர்வகிக்கின்றது. இது இவ்வகையான data- வை disk மற்றும் memory-ல் சேமிக்கிறது. மேலும் இதனை Network மூலமாக தொலைவில் உள்ள வேறுசில MySQL server-க்கு அனுப்புதல் போன்ற சில வேலைகளையும்  செய்கிறது.

(தொடர்ந்து வரும்)