2.17.2019

MongoDB அறிமுகம்.



மேங்கோ டிபி என்பது no-sql டேட்டாபேஸ் ஆகும். இது ஓபன் சோர்ஸ் சாஃப்ட் வேர் ஆகும். வெவ்வேறு பிளாட்ஃபாரமிற்கு இடையே செயற்படுகின்றது.மேலும் இது டாக்குமெண்ட் ஒரியண்டட் டேட்டா பேஸ் ஆகும். C++ கொண்டு இது எழுதப்பட்டு எழுதப் பட்டுள்ளது.
MongoDB என்பது என்ன?
மேங்கோ டிபி என்பது உயர் செயல் திறன், உயர் கிடைக்கும் தன்மை, தானாக அளவிடுதல் கொண்ட ஓபன் சோர்ஸ் டாக்குமென்ட் டேட்டா பேஸ் ஆகும்.
மேங்கோ டிபி ஆனது ஜெனரல் பப்ளிக் லைசென்ஸ் அடிப்படையில்யில் இலவசமாகவும் வணிக லைசன்ஸ் அடிப்படையியில் உற்பற்த்தியாளரிடமிருந்தும் கிடைக்கின்றது
MongoDB ஆனது கமாடிட்டி சர்வரில் பணிபுரிவதற்கென்று உருவாக்கப்பட்டது. இப்போது பெரிய நிறுவனங்களிலும் எல்லா வகையான தொழில் சாலைளிலும் பயன்படுத்தப் படுகின்றது.

 MongoDB தேவை ஏன்?
நிறைய டேட்டா பேஸ்கள் சந்தையில் உள்ள நிலையில் ஏன் மாங்கோ டிபி தேவைப்படுகின்றது என்ற பெரியதொரு கேள்வி நாம் எண்ணலாம்.
பதில்:
இப்பொழுதுள்ள நவீன நிறுவனங்களுக்கு பெரிய டேட்டாவை கையாளுதல், விரைவான உருவாக்கம், வளைந்து கொடுக்கும் தன்மை கொண்ட டேட்டா பேஸ் தேவைப்படுகின்றது.
மாங்கோ டிபி உருவாக்க முக்கிய காரணங்கள்:
  • அளவிடுதல்
  • செயற்திறன்
  • பயன்பாட்டிற்கு கிடைக்கும் தன்மை.
  • சிறிய சர்வர்களிருந்து சிக்கலான பல தளங்கள் வரை பயன்படுகின்றது.
முக்கிய குறிப்புகள்
  • விரைவான உருவாக்கம்.
  • எளிய முறையில் விரிவுறுத்துதல்
  • பெரிய அளவீடு.
 MongoDB வரலாறு
2007-ல் விண்டோஸ் அஜுர்க்கு இணயான சர்வீஸ் அடிப்படயிலான பிளாட்ஃபார்ம் உருவாக்கும் நோக்கம் எழுந்தது.

"விண்டோஸ் அஜூர் ஆனது கிளவிட் கம்ப்யூட்டிங் பிளாட்ஃபார்ம் மற்றும் உள்கட்டமைப்பு ஆகும் . இது மைக்ரோ சாஃப்ட் நிறுவனத்தால் உறுவாக்கபட்டது.இதை பயன்படித்தி குலோபள் நெட்வொர்க்கிற்கின் மூலம் எளிதாக பயன்பாட்டுகளை உருவாக்கி வெவ்வேறு இடங்களுக்கு அனுப்பலாம்
இது 10gen என்கின்ற நியூயார்க் நகரை கொண்ட நிறுவனத்தால் உருவாக்கப் பட்டது. இந்த நிறுவனமானது இப்பொழுது MONGODB INC என அறியப் படுகின்றது.
டாக்குமெண்ட் ஒரியண்டட் டேட்டாபேஸ் என்பது யாது?
மாங்கோடிபி ஒரு டாக்குமெண்ட் ஒரியண்டட் டேட்டாபேஸ் என்பது ஒரு முக்கிய குறிப்பாகும்.
மாங்கோடிபி ஆனது டேட்டாவை டாக்குமெண்ட்டுகளாக சேமிக்கின்றது. எனவே இது டாக்குமெண்ட் ஒரியண்டட் டேட்டாபேஸ் எனப்படுகின்றது.
1.      FirstName = "RAVI",                                                                                                       
2.      Address = "KK Nagar",                                                                                                   
3.      Spouse = [{Name:"rani”}].                                                                                           
4.      FirstName ="muthu",  
5.      Address = "madurai"  .

மேலே இரண்டு டாக்குமெண்ட்கள் சேமிக்கப்பட்டுள்ளது. இவை டாட் கொண்டு பிரிக்கப் பட்டுள்ளது.
டாக்குமெண்ட் டேட்டா பேஸ் தவிர no sql டேட்டா பேஸ் என்றதொரு வகையான டேட்டா பேஸ்களும் சந்தையில் உள்ளது.
MongoDB முக்கிய அம்சங்கள்.
1. ad hoc கொரிகளை ஆதரிக்கின்றது. இதில் உங்களது டேட்டாவை ஃபீல்ட், ரேஞ்ச் மற்றும் ரெகுலர் எக்ஸ்பிரசன் அடிப்படையில் தேடலாம்.
2. Indexing
எந்த ஒரு ஃபீல்டையும் இண்டக்ஸ் செய்யலாம்.
3.வினாவிற்க்கு தக்க விடை
MongoDB ஆனது  Master Slave வகையில் பதில் தருகின்றது.
மாஸ்டர் ஆனது எழுதுதல், படித்தல் இரண்டையும் செய்யலாம், ஸ்லேவ் ஆனது டேட்டாவை படிக்க மட்டுமே செய்கின்றது.
4. இரட்டைத் தகவல்
 இதனால் பல்வேறு சர்வர்களில் இயங்க முடியும். இது டேட்டாவை பிரதி எடுத்துக் கொள்கின்றது. ஹார்ட் வேர் செய்ற்பாடு இழந்த நிலையில் இது டேட்டாவை பெறப் பயன்படுகின்றது.
5. சமனிலை பளு
தானியியங்கி பளு சம நிலை கொண்டது..
6. procedure –களுக்கு பதிலாக ஜாவாஸ்கிரிப்டைப் பயன்படுத்துகின்றது.
8. schema-less டேட்டாபேஸ் ஆகும். இது c++ கொண்டு எழுதப்பட்டது.
9. உயர் செயற்திறன் கொண்டது.
10. ஹார்ட் வேர் பயனிழந்த நிலையில் எளிதாக கையாளலாம்
11. மேலும் இது
·         JSON டேட்டா மாடல் மற்றும் டைனமிக் ஸ்கீமா
·         பயன்பாட்டிற்கு கிடைக்கும் நிலையில் வினாவிற்கு ஏற்ற விடை கொடுத்தல்
ஆகியவற்றை ஆதரிக்கின்றது.
NoSQL Databases
மாங்கோடிபி ஆனது NoSql டேட்டா பேஸ் என்பதை நாம் அறிவோம்.எனவே முதலில் nosql டேட்டா பேஸ் என்றால் என்ன வென்று முதலில் பார்ப்போம்.
NoSQL Database என்பது என்ன?
டேட்டா பேஸ் ஆனது மூன்று வகையாக பிரிக்கப்படுகின்றது அவையாவன
  1. RDBMS (Relational Database Management System)
  2. OLAP (Online Analytical Processing)
  3. NoSQL (recently developed database)
NoSQL Database
NoSQL Database ஆனது ரிலேசனல் டேட்டா பேஸ் என்பதற்கு எதிராக செயற்படுகின்றது. NoSql டேட்டா பேஸ் ஆனது டேட்டாவை டேபிள் அடிப்படையில் சேமிக்காது. இது பெரிய டேட்டா மற்றும் நிகழ் நேர வெப் அப்ளிகேசன்கள் ஆகியவற்றில் பயன்படுகின்றது.
NoSQL Databases வரலாறு.
1970-களில் பிளாட் கோப்புகளில் டேட்டா சேமிக்கப்பட்டது. எனினும் ஒவ்வொரு நிறுவனமும் ஒவ்வொரு முறையில் தகவலை சேமித்தது. தர நிலையற்ற நிலையில் டேட்டாவை படிக்க மிகவும் கடினமாயிருந்தது.

அதன் பிறகு E.F. Codd  என்பவரால் ரிலேசனல் டேட்டா பேஸ் உருவாக்கப் பட்டது. இது பொதுவான தரனிலை(standard) தந்தது. எனினும் பின் வந்த காலத்தில் ரிலேசனல் டேட்டா பேஸினால் பெரிய டேட்டாக்களை கையாள முடிய வில்லை. எனவே தான் NoSql டேட்டா பேஸ் உருவாக்கப்பட்டது.
NoSQL நண்மைகள்
  • கொரி மாடலை ஆதரிக்கின்றது.
  • வேகமாக செயற்படுகின்றது.
  • ஸ்கேலபிளிட்டி தருகின்றது.
இப்பொழுது உள்ள காலத்தில் மாங்கோடிபி புதியது மற்றும் புகழ் மிகுந்ததாய் விளங்குகின்றது. இது டாக்குமெண்ட் அடிப்படையிலானது. ரிலேசனல் டேட்டா பேஸ் அல்லாதது.
இது ரிலேசனல் டேட்டா பேசை விடை 100 மடங்கு வேகம் கொண்டது என்றாலும் இதை ரிலேசனல் டேட்டா பேஸிற்க்கு மாற்றாய் வரும் என எளிதாய் கூறிவிட முடியாது. ஆனால் உயரிய திறன் மற்றும் அளவிடுதல்(SCALABILITY) போன்றவற்றில் NoSql சிறந்து விளங்குகின்றது.
ரிலேசனல் டேட்டா பேஸில் டேபிள்களையும் அதற்கிடையேயான தொடர்புகளையும் கொண்டது. மாங்கோடிபி ஆனது அந்த மாதிரி தொடர்பு கொண்டது கிடையாது.
MongoDB பயன்கள்.
  • MongoDB ஆனது ஸ்கீமா அற்றது ஆகும் இது ஒரு டாக்குமென்ட் டேட்டா பேஸ்  ஆகும். இதில் ஒரு கலக்சன் ஆனது வெவேறு டாக்குமெண்ட்களை கொண்டிருக்கும்.
  • ஒவ்வொன்றிலும் ஃபீல்டுகளின் எண்ணிக்கை, உள்ளடக்கம்,அளவு ஆகியவை மாறுபடலாம்..
  • சிக்கலான joins கிடையாது.
  • MongoDB  ஆனது ஆழமான கேள்விகளுக்கு பதில் தருகின்றது.
  • எளிதாக அளவிடலாம்.
  • இது வொர்க்கிங் செட்களை சேமிப்பதற்கு இண்டெர்னல் மெமரியை பயன்படுத்துகின்றது. எனவே இதை வேகமாக அணுக முடிகின்றது.
MongoDB தனித் திறன்கள்
  • பயன்படுத்த எளிது.
  • எடை குறைவு
  • RDBMS –விட மிகவும் வேகமானது ஆகும்.
MongoDB எங்கெங்கு பயன்படுகின்றது
  • பெரிய மற்றும் சிக்கலான டேட்டா
  • மொபைல் மற்றும் சமூக கட்டமைப்புகள்
  • கண்டண்ட் மேனேஜ்மெண்ட் மற்றும் டெலிவரி
  • பயனர் டேட்டா மேனேஜ்மெண்ட்
  • டேட்டா ஹப்
MongoDB மற்றும் RDBMS செயற்பாடு ஒப்பீடு:
  • ரிலேசனல் டேட்டா பேஸ் ஆனது டேட்டாவை டேபிளில் சேமிக்கின்றது, மாங்கோடிபியில் கலக்சம் பயன்படுத்தப் படுகின்றது.
  •   RDBMS ஆனது பல்வேறு ஸ்கீமா கொண்டது. ஒவ்வொரு ஸ்கீமாவிலும் டேபிள்களை டேட்டா சேமிக்கின்றது. மாங்கோடிபி ஒரு டாக்குமெண்ட் ஒரியண்டட் டேட்டா பேஸ் மற்றும் இது BSON ஃபார்மட்டில் டேட்டாவை சேமிக்கின்றது. BSON என்பது JSON போன்றதாகும்
  • மாங்கோடிபி ரிலேசனல் டேட்டா பேசை காட்டிலும் 100 மடங்கு வேகமானது ஆகும்.
முத்து கார்த்திகேயன்,மதுரை.

2.01.2019

Diff between client side validation and server side validation:



Validation on web page taken place to check whether the proper input was given. The testing can be done on two ways
1.       Client side validation
2.       Server side validation.
1.       Client side validation:
It happens by using java script and html 5.
You can validate a web form before passing the data to server. For example to get age of a person the input box you can not enter text. That validation can be done using javascript. And to enter email id the proper input can checked using html.
The advantage of client side validation unnecessary server load avoided.
2.       Server side validation:
If you order 10 copies of book on e commerce web site  The server should test on the database that whether the no of books are available. It cannot  be done using client side.
It should be done using only server side scripting language like asp.net,  jsp, php .
Asp.net is  Active server page Microsoft software . it is the advanced version of  classic asp.
Jsp is java server page and  it is oracle company software. Php is php : hyper  text preprocessor. It is an open source software. Any body can down load software from internet and use it.
Thank you:
Muthu karthikeyan, Madurai