SQL மற்றும் NoSQL இடையே உள்ள வித்தியாசத்தை உங்கள் பாட்டிக்கு எப்படி விளக்குவது

SQL மற்றும் NoSQL இடையே உள்ள வித்தியாசத்தை உங்கள் பாட்டிக்கு எப்படி விளக்குவது

டெவலப்பர் எடுக்கும் மிக முக்கியமான முடிவுகளில் ஒன்று, எந்த தரவுத்தளத்தைப் பயன்படுத்த வேண்டும் என்பதுதான். பல ஆண்டுகளாக, கட்டமைக்கப்பட்ட வினவல் மொழியை (SQL) ஆதரிக்கும் பல்வேறு தொடர்புடைய தரவுத்தள விருப்பங்களுக்கு மட்டுமே விருப்பங்கள் வரையறுக்கப்பட்டன. இதில் MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 மற்றும் பல உள்ளன.

கடந்த 15 ஆண்டுகளில், பல புதிய தரவுத்தளங்கள் No-SQL அணுகுமுறையின் கீழ் சந்தையில் நுழைந்துள்ளன. ரெடிஸ் மற்றும் அமேசான் டைனமோடிபி போன்ற முக்கிய-மதிப்பு ஸ்டோர்கள், கசாண்ட்ரா மற்றும் எச்பேஸ் போன்ற பரந்த நெடுவரிசை தரவுத்தளங்கள், மோங்கோடிபி மற்றும் கூச்பேஸ் போன்ற ஆவணக் கடைகள் மற்றும் வரைபட தரவுத்தளங்கள் மற்றும் எலாஸ்டிக்சர்ச் மற்றும் சோல் போன்ற தேடுபொறிகள் ஆகியவை இதில் அடங்கும்.

இந்த கட்டுரையில், SQL மற்றும் NoSQL ஆகியவற்றை அவற்றின் செயல்பாட்டிற்குள் செல்லாமல் புரிந்து கொள்ள முயற்சிப்போம்.
மேலும், வழியில் சில வேடிக்கையாக இருப்போம்.

SQL ஐ பாட்டிக்கு விளக்குகிறது

பாட்டி, நான் உங்கள் ஒரே பேரன் அல்ல என்று கற்பனை செய்து பாருங்கள். அதற்கு பதிலாக, அம்மாவும் அப்பாவும் ஒருவரையொருவர் முயல்களைப் போல நேசித்தார்கள், அவர்களுக்கு 100 குழந்தைகள் இருந்தன, பின்னர் அவர்கள் மேலும் 50 பேரை தத்தெடுத்தனர்.

எனவே, நீங்கள் எங்கள் அனைவரையும் நேசிக்கிறீர்கள், மேலும் எங்கள் பெயர்கள், பிறந்தநாள், பிடித்த ஐஸ்கிரீம் சுவைகள், ஆடை அளவுகள், பொழுதுபோக்குகள், வாழ்க்கைத் துணையின் பெயர்கள், குழந்தைகளின் பெயர்கள் மற்றும் பிற மிக முக்கியமான உண்மைகள் எதையும் மறக்க விரும்பவில்லை. இருப்பினும், அதை எதிர்கொள்வோம். உங்களுக்கு 85 வயதாகிறது, நல்ல பழைய நினைவாற்றலால் அதைக் கையாள முடியாது.

அதிர்ஷ்டவசமாக, உங்கள் பேரக்குழந்தைகளில் புத்திசாலியாக இருப்பதால், என்னால் உதவ முடியும். எனவே நான் உங்கள் வீட்டிற்கு வருகிறேன், நான் சில தாள்களை எடுத்து, நாங்கள் தொடங்குவதற்கு முன் சில குக்கீகளை சுடச் சொல்கிறேன்.

ஒரு தாளில், நாங்கள் ஒரு பட்டியலை உருவாக்குகிறோம் "பேரக்குழந்தைகள்". ஒவ்வொரு பேரன் அவரைப் பற்றிய சில குறிப்பிடத்தக்க தகவல்களுடன் பதிவு செய்யப்பட்டுள்ளது, ஒரு தனிப்பட்ட எண் உட்பட, அது இப்போது எப்படி என்பதைக் குறிக்கும் பேரன் அவன் ஒரு. மேலும், அமைப்பின் பொருட்டு, பெயரிடப்பட்ட பண்புக்கூறுகளை பட்டியலின் மேலே எழுதுகிறோம், இதனால் பட்டியலில் என்ன தகவல் உள்ளது என்பதை நாங்கள் எப்போதும் அறிவோம்.

id
பெயர்
பிறந்த நாள்
கடைசி வருகை
ஆடை அளவு
பிடித்த ஐஸ்கிரீம்
ஏற்கப்பட்டது

1
ஜிம்மி
09-22-1992
09-01-2019
L
புதினா சாக்லேட்
தவறான

2
ஜெசிகா
07-21-1992
02-22-2018
M
பாறை சாலை
உண்மை

நாங்கள் பட்டியலைத் தொடர்கிறோம்!

பேரப்பிள்ளைகள் பட்டியல்

சிறிது நேரம் கழித்து, நீங்கள் எல்லாவற்றையும் புரிந்துகொள்கிறீர்கள், நாங்கள் பட்டியலை முடித்துவிட்டோம்! இருப்பினும், நீங்கள் என்னிடம் திரும்பிச் சொல்கிறீர்கள்: "நாங்கள் வாழ்க்கைத் துணைவர்கள், பொழுதுபோக்குகள், பேரக்குழந்தைகளுக்கு இடம் சேர்க்க மறந்துவிட்டோம்!" ஆனால் இல்லை, நாங்கள் மறக்கவில்லை! இது மேலும் தொடர்கிறது மற்றும் ஒரு புதிய தாள் தேவைப்படுகிறது.

எனவே நான் மற்றொரு தாளை வெளியே இழுக்கிறேன், அதில் நாங்கள் பட்டியலை அழைக்கிறோம் வாழ்க்கைத் துணைவர்கள். மீண்டும் நமக்கு முக்கியமான பண்புக்கூறுகளை பட்டியலின் மேலே சேர்த்து வரிசைகளில் சேர்க்கத் தொடங்குகிறோம்.

id
பேரன்_ஐடி
பெயர்
பிறந்த நாள்

1
2
ஜான்
06-01-1988

2
9
ஃபெர்னான்டாவாக
03-05-1985

…மேலும் மனைவிகள்!

வாழ்க்கைத் துணைவர்களின் பட்டியல்

இந்த கட்டத்தில், நான் என் பாட்டிக்கு விளக்குகிறேன், அவள் யாரை திருமணம் செய்தாள் என்பதை அறிய விரும்பினால், அவள் மட்டுமே பொருந்த வேண்டும். id பட்டியலில் பேரப்பிள்ளைகள் с பேரன்_ஐடி வாழ்க்கைத் துணைவர்களின் பட்டியலில்.

இரண்டு டஜன் குக்கீகளுக்குப் பிறகு, நான் ஒரு தூக்கம் எடுக்க வேண்டும். "தொடரலாமா பாட்டி?" நான் குட்டித் தூக்கம் போடப் போகிறேன்.

நான் சில மணி நேரத்தில் திரும்பி வருகிறேன். நீங்கள் அமைதியாக இருக்கிறீர்கள், பாட்டி! பட்டியலைத் தவிர அனைத்தும் அருமையாகத் தெரிகிறது பொழுதுபோக்காக. பட்டியலில் சுமார் 1000 பொழுதுபோக்குகள் உள்ளன. அவற்றில் பெரும்பாலானவை மீண்டும் மீண்டும் வருகின்றன; என்ன நடந்தது?

பேரன்_ஐடி
பொழுதுபோக்கு

1
பைக்கிங்

4
பைக்கிங்

3
பைக்கிங்

7
இயங்கும்

11
பைக்கிங்

…நாங்கள் தொடர்கிறோம்!

மன்னிக்கவும், நான் சொல்ல முற்றிலும் மறந்துவிட்டேன்! ஒரு பட்டியலைப் பயன்படுத்தி, நீங்கள் மட்டுமே கண்காணிக்க முடியும் பொழுதுபோக்காக. பின்னர் மற்றொரு பட்டியலில் நாம் கண்டுபிடிக்க வேண்டும் பேரப்பிள்ளைகள்இதை யார் செய்கிறார்கள் பொழுதுபோக்காக. நாங்கள் அதை அழைக்கப் போகிறோம் "பொது பட்டியல்". உங்களுக்குப் பிடிக்காததைக் கண்டு நான் கவலைப்பட்டு லிஸ்ட் மோடுக்கு திரும்பினேன்.

id
பொழுதுபோக்கு

1
பைக்கிங்

2
இயங்கும்

3
நீச்சல்

…மேலும் பொழுதுபோக்குகள்!

பொழுதுபோக்குகளின் பட்டியல்

எங்களின் பொழுதுபோக்குப் பட்டியலைப் பெற்றவுடன், நாங்கள் எங்கள் இரண்டாவது பட்டியலை உருவாக்கி அதை அழைக்கிறோம் "பேரக்குழந்தைகளின் பொழுதுபோக்கு".

பேரன்_ஐடி
பொழுதுபோக்கு_ஐடி

4
1

3
1

7
2

…மேலும்!

பேரக்குழந்தைகளின் பொழுதுபோக்குகளின் பொதுவான பட்டியல்

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

தொடர்புடைய தரவுத்தளங்கள்

தொடர்புடைய தரவுத்தளம் என்பது முறையாக விவரிக்கப்பட்ட அட்டவணைகளின் தொகுப்பாகும் (எங்கள் எடுத்துக்காட்டில், இவை தாள்கள்) நீங்கள் அணுகக்கூடிய தரவு அல்லது அட்டவணைகளை மறுசீரமைக்காமல் பல்வேறு வழிகளில் சேகரிக்கவும் தரவுத்தளம். பல்வேறு வகையான தொடர்புடைய தரவுத்தளங்கள் உள்ளன, ஆனால் துரதிர்ஷ்டவசமாக ஒரு துண்டு காகிதத்தில் உள்ள பட்டியல் அவற்றில் ஒன்றல்ல.

மிகவும் பிரபலமான தொடர்புடைய தரவுத்தளங்களின் தனிச்சிறப்பு SQL (கட்டமைக்கப்பட்ட வினவல் மொழி) வினவல் மொழி ஆகும். அவருக்கு நன்றி, பாட்டி தனது நினைவக அமைப்பை கணினிக்கு மாற்றினால், "கடந்த ஆண்டு என்னைப் பார்க்காதவர், திருமணமானவர் மற்றும் பொழுதுபோக்குகள் இல்லையா?" போன்ற கேள்விகளுக்கான பதில்களை விரைவாகப் பெறலாம்.

மிகவும் பிரபலமான SQL தரவுத்தள மேலாண்மை அமைப்புகளில் ஒன்று திறந்த மூல MySQL ஆகும். இது முதன்மையாக இணைய அடிப்படையிலான மென்பொருள் பயன்பாடுகளுக்கான தொடர்புடைய தரவுத்தள மேலாண்மை அமைப்பாக (RDBMS) செயல்படுத்தப்படுகிறது.

MySQL இன் சில முக்கிய அம்சங்கள்:

  • இது நன்கு அறியப்பட்ட, பரவலாக பயன்படுத்தப்படும் மற்றும் விரிவாக சோதிக்கப்பட்டது.
  • SQL மற்றும் தொடர்புடைய தரவுத்தளங்களில் அனுபவம் பெற்ற பல திறமையான டெவலப்பர்கள் உள்ளனர்.
  • தரவு பல்வேறு அட்டவணைகளில் சேமிக்கப்படுகிறது, இது முதன்மை மற்றும் வெளிநாட்டு விசைகளை (அடையாளங்காட்டிகள்) பயன்படுத்தி உறவுகளை எளிதாக்குகிறது.
  • இது பயன்படுத்த எளிதானது மற்றும் திறமையானது, இது பெரிய மற்றும் சிறிய வணிகங்களுக்கு ஏற்றதாக அமைகிறது.
  • மூல குறியீடு குனு பொது பொது உரிமத்தின் விதிமுறைகளின் கீழ் உள்ளது.

இப்போது மறந்துவிடு அனைத்து.

பாட்டிக்கு NoSQL விளக்குதல்

பாட்டி, எங்களுக்கு ஒரு பெரிய குடும்பம் உள்ளது. அவளுக்கு 150 பேரக்குழந்தைகள்! அவர்களில் பலர் திருமணமானவர்கள், குழந்தைகளைப் பெற்றவர்கள், ஏதோவொன்றில் நாட்டம் கொண்டவர்கள் மற்றும் பல. உங்கள் வயதில், நம் அனைவரையும் பற்றிய அனைத்தையும் நினைவில் கொள்வது சாத்தியமில்லை. உங்களுக்கு தேவையானது ஒரு நினைவக அமைப்பு!

அதிர்ஷ்டவசமாக, ஐ இல்லை என் பிறந்தநாளையும், ஐஸ்கிரீமின் விருப்பமான சுவையையும் நீங்கள் மறக்க வேண்டும் என்று விரும்புகிறேன், நான் உதவ முடியும். அதனால் நான் அருகிலுள்ள கடைக்கு ஓடி, ஒரு நோட்புக்கை எடுத்துக்கொண்டு உங்கள் வீட்டிற்குத் திரும்புகிறேன்.

எனது நோட்புக் அட்டையில் பெரிய தடிமனான எழுத்துக்களில் பேரக்குழந்தைகள் என்று எழுதுவதுதான் நான் எடுக்கும் முதல் படி. பிறகு முதல் பக்கத்தைப் புரட்டி, என்னைப் பற்றி நீங்கள் நினைவில் வைத்திருக்க வேண்டிய அனைத்தையும் எழுதத் தொடங்குகிறேன். சில நிமிடங்களுக்குப் பிறகு, பக்கம் இதுபோல் தெரிகிறது.

{ 
  "_id":"dkdigiye82gd87gd99dg87gd",
  "name":"Cody",
  "birthday":"09-12-2006",
  "last_visit":"09-02-2019",
  "clothing_size":"XL",
  "favorite_ice_cream":"Fudge caramel",
  "adopted":false,
  "hobbies":[ 
     "video games",
     "computers",
     "cooking"
  ],
  "spouse":null,
  "kids":[ 

  ],
  "favorite_picture":"file://scrapbook-103/christmas-2010.jpg",
  "misc_notes":"Prefers ice-cream cake on birthday instead of chocolate cake!"
}

Я: "எல்லாம் தயாராக இருப்பதாகத் தெரிகிறது!"
பாட்டி: "காத்திருங்கள், மற்ற பேரக்குழந்தைகள் பற்றி என்ன?"
Я: "ஆமாம் சரியாகச். பின்னர் ஒவ்வொன்றிற்கும் ஒரு பக்கத்தை ஒதுக்குங்கள்.
பாட்டி: "உனக்காக நான் செய்ததைப் போல, அனைவருக்கும் ஒரே மாதிரியான அனைத்து தகவல்களையும் நான் எழுத வேண்டுமா?"
Я: "இல்லை, நீங்கள் விரும்பினால் மட்டும். காட்டுகிறேன்."
என் பாட்டியின் பேனாவைப் பிடித்து, பக்கத்தைப் புரட்டி, எனக்கு மிகவும் பிடித்த உறவினரைப் பற்றிய தகவல்களை விரைவாக எழுதுகிறேன்.

{ 
  "_id":"dh97dhs9b39397ss001",
  "name":"Tanner",
  "birthday":"09-12-2008",
  "clothing_size":"S",
  "friend_count":0,
  "favorite_picture":null,
  "remember":"Born on same day as Cody but not as important"
}

ஒரு பாட்டி தனது பேரக்குழந்தைகளில் ஒருவரைப் பற்றி ஏதாவது நினைவில் கொள்ள வேண்டியிருக்கும் போதெல்லாம், அவள் பேரக்குழந்தைகளின் குறிப்பேட்டில் சரியான பக்கத்திற்கு செல்ல வேண்டும். அவர்களைப் பற்றிய அனைத்து தகவல்களும் அவர்களின் பக்கத்தில் சேமிக்கப்படும், அதை அவள் விரைவாக மாற்றலாம் மற்றும் புதுப்பிக்கலாம்.

எல்லாம் முடிந்ததும், அவள் மந்திரக் கேள்வியைக் கேட்கிறாள்: "இதையெல்லாம் செய்ய நீங்கள் எங்கே கற்றுக்கொண்டீர்கள்?"

NoSQL தரவுத்தளங்கள்

பல உள்ளன NoSQL தரவுத்தளங்கள் ("SQL மட்டும் அல்ல"). எங்கள் எடுத்துக்காட்டுகளில், நாங்கள் காட்டியுள்ளோம் ஆவண தரவுத்தளம். தொடர்புடைய தரவுத்தளங்களில் பயன்படுத்தப்படும் அட்டவணை உறவுகளை விலக்கும் வகையில் NoSQL தரவுத்தளங்கள் மாதிரி தரவு. இந்த தரவுத்தளங்கள் 2000 களின் முற்பகுதியில் கிளவுட்-அடிப்படையிலான தரவுத்தள கிளஸ்டரிங் தேவைப்படும் நிறுவனங்களுடன் பிரபலமடைந்தன, அவற்றின் வெளிப்படையான அளவிடுதல் தேவைகள் (பேஸ்புக் போன்றவை). இத்தகைய பயன்பாடுகளில், செயல்திறன் மற்றும் அளவிடுதல் ஆகியவற்றைக் காட்டிலும் தரவு நிலைத்தன்மை மிகவும் குறைவாகவே இருந்தது.

தொடக்கத்தில், NoSQL தரவுத்தளங்கள் பெரும்பாலும் முக்கிய தரவு மேலாண்மை பணிகளுக்கு பயன்படுத்தப்பட்டன. அடிப்படையில், இணையம் மற்றும் கிளவுட் பயன்பாடுகளுக்கு வரும்போது, ​​NoSQL தரவுத்தளங்கள் கணிசமான அளவு தரவுகளை செயலாக்கி விநியோகித்தன. NoSQL பொறியாளர்களும் நெகிழ்வான தரவுத் திட்டத்தை விரும்பினர் (அல்லது அது இல்லாதது) அதனால் புதுப்பிக்கப்பட்ட பயன்பாடுகளில் விரைவான மாற்றங்கள் சாத்தியமாகும்.

NoSQL இன் முக்கிய அம்சங்கள்:

  • தரவைச் சேமிக்க மிகவும் நெகிழ்வான வழி
  • கிடைமட்ட அளவிடுதல்
  • ஒரு நிலைத்தன்மை/பரப்புக்கு சாத்தியமான வரிசைமுறை
  • தனிப்பட்ட விசைகளைப் பயன்படுத்தி அடையாளம் காணப்பட்ட ஆவணங்கள்

விரிவான ஒப்பீடு

MySQL க்கு வரையறுக்கப்பட்ட மற்றும் கட்டமைக்கப்பட்ட திட்டம் தேவை.
எந்தவொரு தரவையும் "ஆவணத்தில்" சேமிக்க NoSQL உங்களை அனுமதிக்கிறது.

MySQL ஒரு பெரிய சமூகத்தைக் கொண்டுள்ளது.
NoSQL ஒரு சிறிய மற்றும் வேகமாக வளர்ந்து வரும் சமூகத்தைக் கொண்டுள்ளது.

NoSQL அளவிட எளிதானது.
MySQLக்கு அதிக மேலாண்மை தேவை.

MySQL SQL ஐப் பயன்படுத்துகிறது, இது பல வகையான தரவுத்தளங்களில் பயன்படுத்தப்படுகிறது.
NoSQL என்பது பிரபலமான செயலாக்கங்களுடன் கூடிய தரவுத்தள அடிப்படையிலான வடிவமைப்பாகும்.

MySQL ஒரு நிலையான வினவல் மொழியை (SQL) பயன்படுத்துகிறது.
NoSQL நிலையான வினவல் மொழியைப் பயன்படுத்துவதில்லை.

MySQL பல சிறந்த அறிக்கையிடல் கருவிகளைக் கொண்டுள்ளது.
NoSQL பல அறிக்கையிடல் கருவிகளைக் கொண்டுள்ளது, அவை தரப்படுத்த கடினமாக உள்ளன.

MySQL பெரிய தரவுகளுக்கான செயல்திறன் சிக்கல்களைக் காட்டலாம்.
பெரிய தரவுகளில் NoSQL சிறந்த செயல்திறனை வழங்குகிறது.

எண்ணங்கள் 8 அடிப்படை

நிறுவனத்தில் 8 அடிப்படைநான் வேலை செய்யும் இடத்தில், AWS இல் ஹோஸ்ட் செய்யப்பட்ட அரோரா MySQL தொடர்புடைய தரவுத்தளத்துடன் ஒவ்வொரு திட்டத்திற்கும் ஒரு பணியிடத்தை வழங்குகிறோம். உங்கள் பயன்பாட்டிற்கு அதிக செயல்திறன் மற்றும் அளவிடுதல் தேவைப்படும் போது NoSQL ஒரு தர்க்கரீதியான தேர்வாக இருந்தாலும், SaaS பயன்பாடுகள் மற்றும் பிற வணிக மென்பொருளை உருவாக்கும்போது DBMS வழங்கும் வலுவான தரவு நிலைத்தன்மை அவசியம் என்று நாங்கள் நம்புகிறோம்.

அறிக்கையிடல், பரிவர்த்தனை ஒருமைப்பாடு மற்றும் நன்கு வரையறுக்கப்பட்ட தரவு மாதிரிகள் தேவைப்படும் வணிகப் பயன்பாடுகளை உருவாக்கும் ஸ்டார்ட்அப்கள் மற்றும் டெவலப்பர்களுக்கு, தொடர்புடைய தரவுத்தளங்களில் முதலீடு செய்வது சரியான தேர்வாகும்.

8base.com இல் Aurora, Serverless மற்றும் GraphQL உடன் உருவாக்குவது பற்றி மேலும் அறிக இங்கே.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்