# கடை இடம் தரவுகள் ![இந்த பாடத்தின் சுருக்கமான ஸ்கெட்ச்](../../../../../translated_images/ta/lesson-12.ca7f53039712a3ec.webp) > ஸ்கெட்ச்: [நித்யா நரசிம்மன்](https://github.com/nitya). படத்தை கிளிக் செய்து பெரிய பதிப்பைப் பாருங்கள். ## பாடத்திற்கு முன் வினாடி வினா [பாடத்திற்கு முன் வினாடி வினா](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/23) ## அறிமுகம் கடந்த பாடத்தில், GPS சென்சாரைப் பயன்படுத்தி இடம் தரவுகளைப் பிடிக்க எப்படி என்பதை நீங்கள் கற்றுக்கொண்டீர்கள். உணவுடன் கூடிய ஒரு லாரியின் இடத்தை மற்றும் அதன் பயணத்தை காட்சிப்படுத்த இந்த தரவுகளை பயன்படுத்த, அதை மேகத்தில் உள்ள IoT சேவைக்கு அனுப்பி, பின்னர் எங்காவது சேமிக்க வேண்டும். இந்த பாடத்தில், IoT தரவுகளை சேமிக்க பல்வேறு வழிகளைப் பற்றி கற்றுக்கொள்வீர்கள், மேலும் உங்கள் IoT சேவையிலிருந்து தரவுகளை சேமிக்க சர்வர்லெஸ் குறியீட்டை பயன்படுத்த கற்றுக்கொள்வீர்கள். இந்த பாடத்தில் நாம் கவரும் தலைப்புகள்: * [கட்டமைக்கப்பட்ட மற்றும் கட்டமைக்கப்படாத தரவுகள்](../../../../../3-transport/lessons/2-store-location-data) * [GPS தரவுகளை IoT Hub-க்கு அனுப்புதல்](../../../../../3-transport/lessons/2-store-location-data) * [ஹாட், வார்மு மற்றும் கோல்ட் பாதைகள்](../../../../../3-transport/lessons/2-store-location-data) * [GPS நிகழ்வுகளை சர்வர்லெஸ் குறியீட்டைப் பயன்படுத்தி கையாளுதல்](../../../../../3-transport/lessons/2-store-location-data) * [Azure சேமிப்பு கணக்குகள்](../../../../../3-transport/lessons/2-store-location-data) * [உங்கள் சர்வர்லெஸ் குறியீட்டை சேமிப்புடன் இணைத்தல்](../../../../../3-transport/lessons/2-store-location-data) ## கட்டமைக்கப்பட்ட மற்றும் கட்டமைக்கப்படாத தரவுகள் கணினி அமைப்புகள் தரவுகளை கையாளுகின்றன, மேலும் இந்த தரவுகள் பல்வேறு வடிவங்களில் மற்றும் அளவுகளில் இருக்கும். இது ஒற்றை எண்களிலிருந்து, பெரிய அளவிலான உரை, வீடியோக்கள் மற்றும் படங்கள், மற்றும் IoT தரவுகள் வரை மாறக்கூடும். தரவுகள் பொதுவாக இரண்டு வகைகளில் பிரிக்கப்படலாம் - *கட்டமைக்கப்பட்ட* தரவுகள் மற்றும் *கட்டமைக்கப்படாத* தரவுகள். * **கட்டமைக்கப்பட்ட தரவுகள்** என்பது நன்கு வரையறுக்கப்பட்ட, கடினமான அமைப்புடன் கூடியது, இது மாற்றமில்லாமல் இருக்கும் மற்றும் பொதுவாக தொடர்புடைய தரவுகளின் அட்டவணைகளுக்கு பொருந்தும். ஒரு உதாரணம், ஒரு நபரின் பெயர், பிறந்த தேதி மற்றும் முகவரியை உள்ளடக்கிய விவரங்கள். * **கட்டமைக்கப்படாத தரவுகள்** என்பது நன்கு வரையறுக்கப்பட்ட, கடினமான அமைப்பில்லாதது, மேலும் இது அடிக்கடி அமைப்பை மாற்றக்கூடியது. ஒரு உதாரணம், எழுதப்பட்ட ஆவணங்கள் அல்லது எக்செல் ஷீட்டுகள் போன்ற ஆவணங்கள். ✅ ஆராய்ச்சி செய்யுங்கள்: கட்டமைக்கப்பட்ட மற்றும் கட்டமைக்கப்படாத தரவுகளுக்கான பிற உதாரணங்களை நீங்கள் யோசிக்க முடியுமா? > 💁 Semi-structured தரவுகளும் உள்ளது, இது கட்டமைக்கப்பட்டதாக இருந்தாலும், நிலையான அட்டவணைகளில் பொருந்தாது. IoT தரவுகள் பொதுவாக கட்டமைக்கப்படாத தரவாகக் கருதப்படுகிறது. ஒரு பெரிய வணிக பண்ணைக்கு வாகனங்களின் படையெடுப்பில் IoT சாதனங்களைச் சேர்த்தால் எப்படி இருக்கும் என்று கற்பனை செய்யுங்கள். நீங்கள் வாகனத்தின் வகைக்கு ஏற்ப வெவ்வேறு சாதனங்களைப் பயன்படுத்த விரும்பலாம். உதாரணமாக: * பண்ணை வாகனங்கள், டிராக்டர்கள் போன்றவற்றுக்கு, அவை சரியான நிலங்களில் வேலை செய்கிறதா என்பதை உறுதிப்படுத்த GPS தரவுகளை நீங்கள் விரும்புகிறீர்கள். * உணவுகளை கிடங்குகளுக்கு கொண்டு செல்லும் டெலிவரி லாரிகளுக்கு, நீங்கள் GPS தரவுகளையும், வேகம் மற்றும் துரிதம் தரவுகளையும், ஓட்டுநர் பாதுகாப்பாக ஓட்டுகிறாரா என்பதை உறுதிப்படுத்தவும், ஓட்டுநர் அடையாளம் மற்றும் தொடக்கம்/நிறுத்தம் தரவுகளை உள்ளடக்கியது, உள்ளூர் சட்டங்களில் வேலை நேரத்திற்கான ஒழுங்குமுறையை உறுதிப்படுத்தவும். * குளிரூட்டப்பட்ட லாரிகளுக்கு, உணவு மிகவும் சூடாகவோ அல்லது குளிராகவோ மாறாமல் போகாமல் இருப்பதை உறுதிப்படுத்த வெப்பநிலை தரவுகளையும் நீங்கள் விரும்புகிறீர்கள். இந்த தரவுகள் தொடர்ந்து மாறக்கூடும். உதாரணமாக, IoT சாதனம் லாரி கேபினில் இருந்தால், அது அனுப்பும் தரவுகள் டிரெய்லர் மாறும்போது மாறக்கூடும், உதாரணமாக, குளிரூட்டப்பட்ட டிரெய்லர் பயன்படுத்தப்படும் போது மட்டுமே வெப்பநிலை தரவுகளை அனுப்புகிறது. ✅ வேறு எந்த IoT தரவுகள் பிடிக்கப்படலாம்? லாரிகள் ஏற்றக்கூடிய சுமைகள் மற்றும் பராமரிப்பு தரவுகளைப் பற்றி யோசிக்கவும். இந்த தரவுகள் வாகனத்திலிருந்து வாகனத்திற்கு மாறுபடும், ஆனால் இது அனைத்தும் ஒரே IoT சேவைக்கு அனுப்பப்படுகிறது. IoT சேவை இந்த கட்டமைக்கப்படாத தரவுகளை செயல்படுத்த, அதை தேடவோ அல்லது பகுப்பாய்வு செய்யவோ அனுமதிக்கும் ஒரு முறையில் சேமிக்க வேண்டும், ஆனால் இந்த தரவுகளின் வெவ்வேறு அமைப்புகளுடன் வேலை செய்ய வேண்டும். ### SQL மற்றும் NoSQL சேமிப்பு தரவுகளை சேமிக்கவும், தேடவும் அனுமதிக்கும் சேவைகள் தரவுத்தொகுப்புகள் ஆகும். தரவுத்தொகுப்புகள் இரண்டு வகைகளில் வருகின்றன - SQL மற்றும் NoSQL. #### SQL தரவுத்தொகுப்புகள் முதல் தரவுத்தொகுப்புகள் தொடர்புடைய தரவுத்தொகுப்பு மேலாண்மை அமைப்புகள் (RDBMS) அல்லது தொடர்புடைய தரவுத்தொகுப்புகள் ஆகும். இவை SQL தரவுத்தொகுப்புகள் என்றும் அழைக்கப்படுகின்றன, ஏனெனில் Structured Query Language (SQL) பயன்படுத்தி அவற்றுடன் தொடர்பு கொள்ள, தரவுகளை சேர்க்க, நீக்க, புதுப்பிக்க அல்லது தேட. இந்த தரவுத்தொகுப்புகள் ஒரு ஸ்கீமாவை கொண்டுள்ளது - நன்கு வரையறுக்கப்பட்ட தரவுகளின் அட்டவணைகள், எக்செல் ஷீட்டுக்கு ஒத்ததாக. > ⚠️ நீங்கள் [IoT Hub நிகழ்வு டிரிகரை உருவாக்கும் வழிமுறைகளை, திட்டம் 2, பாடம் 5](../../../2-farm/lessons/5-migrate-application-to-the-cloud/README.md#create-an-iot-hub-event-trigger) இல் காணலாம். 1. `local.settings.json` கோப்பில் Event Hub இணக்கமான எண்ட்பாயிண்ட் இணைப்பு சரத்தை அமைக்கவும், அந்த நுழைவு கீயை `function.json` கோப்பில் பயன்படுத்தவும். 1. Azurite பயன்பாட்டை உள்ளூர் சேமிப்பு எமுலேட்டராக பயன்படுத்தவும். 1. உங்கள் functions app ஐ இயக்கி, GPS சாதனத்திலிருந்து நிகழ்வுகளை பெறுகிறது என்பதை உறுதிப்படுத்தவும். உங்கள் IoT சாதனமும் இயக்கத்தில் இருந்து GPS தரவை அனுப்புகிறது என்பதை உறுதிப்படுத்தவும். ```output Python EventHub trigger processed an event: {"gps": {"lat": 47.73481, "lon": -122.25701}} ``` ## Azure சேமிப்பு கணக்குகள் ![Azure சேமிப்பு லோகோ](../../../../../translated_images/ta/azure-storage-logo.605c0f602c640d48.webp) Azure சேமிப்பு கணக்குகள் பல்வேறு முறைகளில் தரவை சேமிக்க உதவும் ஒரு பொதுவான சேமிப்பு சேவையாகும். நீங்கள் தரவை blobs, queues, tables அல்லது கோப்புகளாக சேமிக்கலாம், மேலும் அவற்றை ஒரே நேரத்தில் செய்யலாம். ### Blob சேமிப்பு *Blob* என்ற வார்த்தை binary large objects என்பதைக் குறிக்கிறது, ஆனால் எந்த அமைப்பற்ற தரவையும் குறிக்க பயன்படுகிறது. IoT தரவைக் கொண்ட JSON ஆவணங்கள் முதல் படங்கள் மற்றும் திரைப்பட கோப்புகள் வரை எந்த தரவையும் blob சேமிப்பில் சேமிக்கலாம். Blob சேமிப்பில் *containers* என்ற கருத்து உள்ளது, இது relational database இல் tables போன்ற buckets ஆகும். இந்த containers பல கோப்புறைகளை கொண்டிருக்கலாம், மேலும் ஒவ்வொரு கோப்புறையும் பிற கோப்புறைகளை கொண்டிருக்கலாம், உங்கள் கணினி hard disk இல் கோப்புகள் சேமிக்கப்படும் முறையைப் போன்றது. இந்த பாடத்தில் IoT தரவை சேமிக்க blob சேமிப்பைப் பயன்படுத்துவீர்கள். ✅ ஆராய்ச்சி செய்யுங்கள்: [Azure Blob Storage](https://docs.microsoft.com/azure/storage/blobs/storage-blobs-overview?WT.mc_id=academic-17441-jabenn) பற்றி படிக்கவும். ### Table சேமிப்பு Table சேமிப்பு semi-structured தரவை சேமிக்க உதவுகிறது. Table சேமிப்பு உண்மையில் ஒரு NoSQL தரவுத்தொகுப்பாகும், எனவே முன்னதாக tables இன் வரையறுக்கப்பட்ட தொகுப்பை தேவைப்படாது, ஆனால் இது ஒரு அல்லது அதற்கு மேற்பட்ட tables இல் தரவை சேமிக்க வடிவமைக்கப்பட்டுள்ளது, ஒவ்வொரு வரியையும் வரையறுக்க தனித்துவமான கீகளை கொண்டுள்ளது. ✅ ஆராய்ச்சி செய்யுங்கள்: [Azure Table Storage](https://docs.microsoft.com/azure/storage/tables/table-storage-overview?WT.mc_id=academic-17441-jabenn) பற்றி படிக்கவும். ### Queue சேமிப்பு Queue சேமிப்பு 64KB அளவுள்ள செய்திகளை ஒரு queue இல் சேமிக்க உதவுகிறது. நீங்கள் செய்திகளை queue இன் பின்புறத்தில் சேர்க்கலாம், மேலும் அவற்றை முன்னிலையிலிருந்து வாசிக்கலாம். Queue-கள் செய்திகளை நிரந்தரமாக சேமிக்கின்றன, சேமிப்பு இடம் இருக்கும் வரை, எனவே செய்திகளை நீண்ட காலத்திற்கு சேமிக்க அனுமதிக்கிறது. பின்னர் தேவையான போது வாசிக்கலாம். உதாரணமாக, GPS தரவை செயல்படுத்த மாதாந்திர வேலை செய்ய விரும்பினால், நீங்கள் அதை ஒரு மாதத்திற்கு தினசரி ஒரு queue இல் சேர்க்கலாம், பின்னர் மாதத்தின் முடிவில் queue இல் உள்ள அனைத்து செய்திகளையும் செயல்படுத்தலாம். ✅ ஆராய்ச்சி செய்யுங்கள்: [Azure Queue Storage](https://docs.microsoft.com/azure/storage/queues/storage-queues-introduction?WT.mc_id=academic-17441-jabenn) பற்றி படிக்கவும். ### File சேமிப்பு File சேமிப்பு என்பது cloud இல் கோப்புகளை சேமிப்பதாகும், மேலும் எந்த apps அல்லது சாதனங்களும் தொழில்துறை தரநிலை நெறிமுறைகளைப் பயன்படுத்தி இணைக்கலாம். நீங்கள் கோப்புகளை file சேமிப்பில் எழுதலாம், பின்னர் அதை உங்கள் PC அல்லது Mac இல் drive ஆக mount செய்யலாம். ✅ ஆராய்ச்சி செய்யுங்கள்: [Azure File Storage](https://docs.microsoft.com/azure/storage/files/storage-files-introduction?WT.mc_id=academic-17441-jabenn) பற்றி படிக்கவும். ## உங்கள் serverless code ஐ சேமிப்புடன் இணைக்கவும் இப்போது உங்கள் function app IoT Hub-இல் இருந்து செய்திகளை சேமிக்க blob சேமிப்புடன் இணைக்க வேண்டும். இதைச் செய்ய 2 வழிகள் உள்ளன: * Function code-இல் blob சேமிப்புடன் Python SDK ஐப் பயன்படுத்தி இணைக்கவும், மேலும் தரவை blobs ஆக எழுதவும். * Output function binding ஐப் பயன்படுத்தி function-இன் return value ஐ blob சேமிப்புடன் bind செய்யவும், மேலும் blob தானாக சேமிக்கப்பட வேண்டும். இந்த பாடத்தில், blob சேமிப்புடன் தொடர்பு கொள்ள Python SDK ஐப் பயன்படுத்துவீர்கள். ![IoT சாதனத்திலிருந்து GPS தகவல்தொகுப்பை IoT Hub-க்கு அனுப்பி, பின்னர் Azure Functions-க்கு ஒரு event hub trigger மூலம், பின்னர் blob சேமிப்பில் சேமிக்க](../../../../../translated_images/ta/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) தரவு JSON blob ஆக பின்வரும் வடிவத்தில் சேமிக்கப்படும்: ```json { "device_id": , "timestamp" :