You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/ne/2-Working-With-Data/06-non-relational/README.md

158 lines
26 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "c182e87f9f80be7e7cdffc7b40bbfccf",
"translation_date": "2025-09-06T07:42:29+00:00",
"source_file": "2-Working-With-Data/06-non-relational/README.md",
"language_code": "ne"
}
-->
# डेटा संग काम गर्ने: गैर-संबंधित डेटा
|![ Sketchnote by [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/06-NoSQL.png)|
|:---:|
|NoSQL डेटा संग काम गर्ने - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
## [पाठ अघि क्विज](https://ff-quizzes.netlify.app/en/ds/quiz/10)
डेटा केवल रिलेशनल डाटाबेसमा सीमित छैन। यो पाठ गैर-संबंधित डेटा मा केन्द्रित छ र स्प्रेडशीट्स र NoSQL को आधारभूत कुराहरू समेट्नेछ।
## स्प्रेडशीट्स
स्प्रेडशीट्स डेटा भण्डारण र अन्वेषण गर्न लोकप्रिय तरिका हो किनभने यसलाई सेटअप गर्न र सुरु गर्न कम काम आवश्यक पर्दछ। यस पाठमा तपाईं स्प्रेडशीटको आधारभूत घटकहरू, साथै सूत्रहरू र कार्यहरू सिक्नुहुनेछ। उदाहरणहरू Microsoft Excel को साथ चित्रण गरिनेछ, तर अधिकांश भागहरू र विषयहरू अन्य स्प्रेडशीट सफ्टवेयरको तुलनामा समान नाम र चरणहरू हुनेछन्।
![दुई वर्कशीटहरू भएको खाली Microsoft Excel वर्कबुक](../../../../2-Working-With-Data/06-non-relational/images/parts-of-spreadsheet.png)
स्प्रेडशीट एउटा फाइल हो र कम्प्युटर, उपकरण, वा क्लाउड आधारित फाइल प्रणालीको फाइल प्रणालीमा पहुँचयोग्य हुनेछ। सफ्टवेयर आफैं ब्राउजर आधारित वा कम्प्युटरमा स्थापना गर्नुपर्ने एप्लिकेसन वा एपको रूपमा डाउनलोड गर्नुपर्ने हुन सक्छ। Excel मा यी फाइलहरूलाई **वर्कबुक्स** भनेर परिभाषित गरिन्छ र यो शब्दावली यस पाठको बाँकी भागमा प्रयोग गरिनेछ।
वर्कबुकमा एक वा बढी **वर्कशीटहरू** हुन्छन्, जहाँ प्रत्येक वर्कशीटहरू ट्याबहरूद्वारा लेबल गरिएका हुन्छन्। वर्कशीटभित्र आयताकारहरू हुन्छन् जसलाई **सेलहरू** भनिन्छ, जसले वास्तविक डेटा समावेश गर्दछ। सेल पङ्क्ति र स्तम्भको अन्तरक्रिया हो, जहाँ स्तम्भहरू वर्णमालाका अक्षरहरूद्वारा लेबल गरिन्छन् र पङ्क्तिहरू संख्यात्मक रूपमा लेबल गरिन्छन्। केही स्प्रेडशीटहरूमा सेलमा रहेको डेटा वर्णन गर्न पहिलो केही पङ्क्तिहरूमा हेडरहरू समावेश हुन्छन्।
Excel वर्कबुकका यी आधारभूत तत्वहरूसँग, हामी [Microsoft Templates](https://templates.office.com/) बाट केन्द्रित इन्वेन्टरीको उदाहरण प्रयोग गर्नेछौं र स्प्रेडशीटको केही अतिरिक्त भागहरूमा हिँड्नेछौं।
### इन्वेन्टरी व्यवस्थापन
"InventoryExample" नामक स्प्रेडशीट फाइल इन्वेन्टरी भित्रका वस्तुहरूको स्वरूपित स्प्रेडशीट हो जसमा तीन वर्कशीटहरू समावेश छन्, जहाँ ट्याबहरू "Inventory List", "Inventory Pick List" र "Bin Lookup" लेबल गरिएका छन्। Inventory List वर्कशीटको पङ्क्ति 4 हेडर हो, जसले हेडर स्तम्भमा प्रत्येक सेलको मानलाई वर्णन गर्दछ।
![Microsoft Excel मा इन्वेन्टरी सूचीको उदाहरणबाट हाइलाइट गरिएको सूत्र](../../../../2-Working-With-Data/06-non-relational/images/formula-excel.png)
कहिलेकाहीं एउटा सेल अन्य सेलहरूको मानहरूमा निर्भर हुन्छ यसको मान उत्पन्न गर्न। Inventory List स्प्रेडशीटले यसको इन्वेन्टरीमा प्रत्येक वस्तुको लागत ट्र्याक गर्दछ, तर यदि हामीलाई इन्वेन्टरीमा सबै चीजको मूल्य थाहा चाहिन्छ भने के गर्ने? [**सूत्रहरू**](https://support.microsoft.com/en-us/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263) सेल डेटा मा कार्यहरू प्रदर्शन गर्दछ र यस उदाहरणमा इन्वेन्टरीको लागत गणना गर्न प्रयोग गरिन्छ। यस स्प्रेडशीटले Inventory Value स्तम्भमा सूत्र प्रयोग गरेर QTY हेडर अन्तर्गतको मात्रा र COST हेडर अन्तर्गतको लागतलाई गुणा गरेर प्रत्येक वस्तुको मूल्य गणना गर्दछ। डबल क्लिक वा सेललाई हाइलाइट गर्दा सूत्र देखिन्छ। तपाईंले देख्नुहुनेछ कि सूत्रहरू बराबर चिन्हबाट सुरु हुन्छन्, त्यसपछि गणना वा अपरेशन।
![Microsoft Excel मा इन्वेन्टरी सूचीको उदाहरणबाट हाइलाइट गरिएको कार्य](../../../../2-Working-With-Data/06-non-relational/images/function-excel.png)
हामी अर्को सूत्र प्रयोग गरेर Inventory Value को सबै मानहरूलाई थप्न सक्दछौं यसको कुल मूल्य प्राप्त गर्न। यो प्रत्येक सेललाई थपेर गणना गर्न सकिन्छ, तर त्यो एक थकाउने कार्य हुन सक्छ। Excel मा [**कार्यहरू**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89), वा पूर्वनिर्धारित सूत्रहरू सेल मानहरूमा गणना गर्न प्रयोग गरिन्छ। कार्यहरूलाई तर्कहरू आवश्यक पर्दछ, जुन गणना गर्न आवश्यक मानहरू हुन्। जब कार्यहरूलाई एक भन्दा बढी तर्कहरू आवश्यक पर्दछ, तिनीहरूलाई विशेष क्रममा सूचीबद्ध गर्न आवश्यक पर्दछ अन्यथा कार्यले सही मान गणना गर्न सक्दैन। यस उदाहरणले SUM कार्य प्रयोग गर्दछ, र Inventory Value को मानहरूलाई तर्कको रूपमा प्रयोग गरेर कुल सूचीबद्ध गर्दछ पङ्क्ति 3, स्तम्भ B (B3 भनेर पनि चिनिन्छ) अन्तर्गत।
## NoSQL
NoSQL गैर-संबंधित डेटा भण्डारण गर्ने विभिन्न तरिकाहरूको लागि छाता शब्द हो र यसलाई "non-SQL", "non-relational" वा "not only SQL" भनेर व्याख्या गर्न सकिन्छ। यी प्रकारका डाटाबेस प्रणालीहरूलाई 4 प्रकारमा वर्गीकृत गर्न सकिन्छ।
![कुञ्जी-मूल्य डेटा स्टोरको ग्राफिकल प्रतिनिधित्व जसले 4 अद्वितीय संख्यात्मक कुञ्जीहरूलाई 4 विभिन्न मानहरूसँग जोड्छ](../../../../2-Working-With-Data/06-non-relational/images/kv-db.png)
> स्रोत: [Michał Białecki Blog](https://www.michalbialecki.com/2018/03/18/azure-cosmos-db-key-value-database-cloud/)
[Key-value](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#keyvalue-data-stores) डाटाबेसहरूले अद्वितीय कुञ्जीहरूलाई जोडी बनाउँछ, जुन मानसँग सम्बन्धित अद्वितीय पहिचानकर्ता हो। यी जोडीहरू [ह्यास टेबल](https://www.hackerearth.com/practice/data-structures/hash-tables/basics-of-hash-tables/tutorial/) प्रयोग गरेर भण्डारण गरिन्छ उपयुक्त ह्यासिङ कार्यको साथ।
![ग्राफ डेटा स्टोरको ग्राफिकल प्रतिनिधित्व जसले मानिसहरू, तिनीहरूको रुचि र स्थानहरू बीचको सम्बन्ध देखाउँछ](../../../../2-Working-With-Data/06-non-relational/images/graph-db.png)
> स्रोत: [Microsoft](https://docs.microsoft.com/en-us/azure/cosmos-db/graph/graph-introduction#graph-database-by-example)
[Graph](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#graph-data-stores) डाटाबेसहरूले डेटा सम्बन्धहरू वर्णन गर्दछ र नोड्स र एजहरूको संग्रहको रूपमा प्रतिनिधित्व गरिन्छ। नोडले एक इकाईलाई प्रतिनिधित्व गर्दछ, वास्तविक संसारमा अस्तित्वमा रहेको केही जस्तै विद्यार्थी वा बैंक स्टेटमेन्ट। एजहरूले दुई इकाईहरू बीचको सम्बन्धलाई प्रतिनिधित्व गर्दछ। प्रत्येक नोड र एजसँग गुणहरू हुन्छन् जसले प्रत्येक नोड र एजहरूको बारेमा थप जानकारी प्रदान गर्दछ।
![कस्टमर डाटाबेसको स्तम्भीय डेटा स्टोरको ग्राफिकल प्रतिनिधित्व जसमा दुई स्तम्भ परिवारहरू "Identity" र "Contact Info" नामक छन्](../../../../2-Working-With-Data/06-non-relational/images/columnar-db.png)
[Columnar](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#columnar-data-stores) डेटा स्टोरहरूले डेटा स्तम्भहरू र पङ्क्तिहरूमा व्यवस्थित गर्दछ जस्तै रिलेशनल डेटा संरचना तर प्रत्येक स्तम्भ समूहहरूमा विभाजित हुन्छ जसलाई स्तम्भ परिवार भनिन्छ, जहाँ एक स्तम्भ अन्तर्गत सबै डेटा सम्बन्धित हुन्छ र एक इकाईमा पुनःप्राप्त र परिवर्तन गर्न सकिन्छ।
### Azure Cosmos DB संग दस्तावेज डेटा स्टोरहरू
[Document](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#document-data-stores) डेटा स्टोरहरूले कुञ्जी-मूल्य डेटा स्टोरको अवधारणामा निर्माण गर्दछ र क्षेत्रहरू र वस्तुहरूको श्रृंखलाबाट बनेको हुन्छ। यो खण्डले Cosmos DB इम्युलेटरको साथ दस्तावेज डाटाबेसहरू अन्वेषण गर्नेछ।
Cosmos DB डाटाबेस "Not Only SQL" को परिभाषामा फिट हुन्छ, जहाँ Cosmos DB को दस्तावेज डाटाबेस SQL मा निर्भर गर्दछ डेटा क्वेरी गर्न। SQL को [अघिल्लो पाठ](../05-relational-databases/README.md) ले भाषाको आधारभूत कुराहरू समेट्छ, र हामी यहाँ दस्तावेज डाटाबेसमा केही समान क्वेरीहरू लागू गर्न सक्षम हुनेछौं। हामी Cosmos DB Emulator प्रयोग गर्नेछौं, जसले हामीलाई कम्प्युटरमा स्थानीय रूपमा दस्तावेज डाटाबेस सिर्जना र अन्वेषण गर्न अनुमति दिन्छ। इम्युलेटरको बारेमा थप पढ्नुहोस् [यहाँ](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21)।
दस्तावेज क्षेत्रहरू र वस्तु मानहरूको संग्रह हो, जहाँ क्षेत्रहरूले वस्तु मानले के प्रतिनिधित्व गर्दछ भनेर वर्णन गर्दछ। तल एउटा दस्तावेजको उदाहरण छ।
```json
{
"firstname": "Eva",
"age": 44,
"id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
"_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
"_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
"_attachments": "attachments/",
"_ts": 1630544034
}
```
यस दस्तावेजमा चासोका क्षेत्रहरू हुन्: `firstname`, `id`, र `age`। Cosmos DB द्वारा उत्पन्न गरिएको बाँकी क्षेत्रहरू अन्डरस्कोरहरू सहित छन्।
#### Cosmos DB Emulator संग डेटा अन्वेषण
तपाईं इम्युलेटर [Windows को लागि यहाँ](https://aka.ms/cosmosdb-emulator) डाउनलोड र स्थापना गर्न सक्नुहुन्छ। macOS र Linux को लागि इम्युलेटर चलाउने विकल्पहरूको लागि यो [डकुमेन्टेशन](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21#run-on-linux-macos) हेर्नुहोस्।
इम्युलेटरले ब्राउजर विन्डो सुरू गर्दछ, जहाँ Explorer दृश्यले तपाईंलाई दस्तावेजहरू अन्वेषण गर्न अनुमति दिन्छ।
![Cosmos DB Emulator को Explorer दृश्य](../../../../2-Working-With-Data/06-non-relational/images/cosmosdb-emulator-explorer.png)
यदि तपाईं अनुसरण गर्दै हुनुहुन्छ भने, "Start with Sample" मा क्लिक गर्नुहोस् ताकि SampleDB नामक नमूना डाटाबेस उत्पन्न होस्। यदि तपाईं SampleDB विस्तार गर्नुहुन्छ भने `Persons` नामक कन्टेनर फेला पार्नुहुनेछ। कन्टेनरले वस्तुहरूको संग्रह समावेश गर्दछ, जुन कन्टेनर भित्रका दस्तावेजहरू हुन्। तपाईं `Items` अन्तर्गत चार व्यक्तिगत दस्तावेजहरू अन्वेषण गर्न सक्नुहुन्छ।
![Cosmos DB Emulator मा नमूना डेटा अन्वेषण गर्दै](../../../../2-Working-With-Data/06-non-relational/images/cosmosdb-emulator-persons.png)
#### Cosmos DB Emulator संग दस्तावेज डेटा क्वेरी गर्दै
हामी नयाँ SQL Query बटन (दोस्रो बटन बायाँबाट) क्लिक गरेर नमूना डेटा क्वेरी गर्न सक्छौं।
`SELECT * FROM c` कन्टेनरमा सबै दस्तावेजहरू फिर्ता गर्दछ। अब हामी एउटा where clause थपौं र 40 भन्दा कम उमेर भएका सबैलाई खोजौं।
`SELECT * FROM c where c.age < 40`
![Cosmos DB Emulator मा नमूना डेटा मा SELECT क्वेरी चलाउँदै जसले उमेर क्षेत्र मान 40 भन्दा कम भएका दस्तावेजहरू फेला पार्छ](../../../../2-Working-With-Data/06-non-relational/images/cosmosdb-emulator-persons-query.png)
क्वेरीले दुई दस्तावेजहरू फिर्ता गर्दछ, प्रत्येक दस्तावेजको उमेर मान 40 भन्दा कम छ।
#### JSON र दस्तावेजहरू
यदि तपाईं JavaScript Object Notation (JSON) संग परिचित हुनुहुन्छ भने तपाईंले देख्नुहुनेछ कि दस्तावेजहरू JSON जस्तै देखिन्छ। यस निर्देशिकामा `PersonsData.json` फाइल छ जसमा थप डेटा छ जुन तपाईं इम्युलेटरमा `Upload Item` बटन मार्फत Persons कन्टेनरमा अपलोड गर्न सक्नुहुन्छ।
धेरै अवस्थामा, JSON डेटा फिर्ता गर्ने APIs लाई सीधा दस्तावेज डाटाबेसमा स्थानान्तरण र भण्डारण गर्न सकिन्छ। तल अर्को दस्तावेज छ, यो Microsoft Twitter खाताबाट ट्वीटहरू प्रतिनिधित्व गर्दछ जुन Twitter API प्रयोग गरेर पुनःप्राप्त गरिएको थियो, त्यसपछि Cosmos DB मा सम्मिलित गरिएको थियो।
```json
{
"created_at": "2021-08-31T19:03:01.000Z",
"id": "1432780985872142341",
"text": "Blank slate. Like this tweet if youve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
"_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
"_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
"_attachments": "attachments/",
"_ts": 1630537000
```
यस दस्तावेजमा चासोका क्षेत्रहरू हुन्: `created_at`, `id`, र `text`
## 🚀 चुनौती
त्यहाँ `TwitterData.json` फाइल छ जुन तपाईं SampleDB डाटाबेसमा अपलोड गर्न सक्नुहुन्छ। यो अलग कन्टेनरमा थप्न सिफारिस गरिन्छ। यो निम्न तरिकाले गर्न सकिन्छ:
1. माथि दायाँमा नयाँ कन्टेनर बटन क्लिक गर्दै
1. अवस्थित डाटाबेस (SampleDB) चयन गर्दै कन्टेनरको लागि कन्टेनर आईडी सिर्जना गर्दै
1. `/id` लाई पार्टिशन कुञ्जी सेट गर्दै
1. OK क्लिक गर्दै (तपाईं यस दृश्यमा बाँकी जानकारीलाई बेवास्ता गर्न सक्नुहुन्छ किनभने यो सानो डेटासेट हो जुन तपाईंको मेसिनमा स्थानीय रूपमा चलिरहेको छ)
1. आफ्नो नयाँ कन्टेनर खोल्दै र `Upload Item` बटनको साथ Twitter Data फाइल अपलोड गर्दै
कृपया केही SELECT क्वेरीहरू चलाएर text क्षेत्रमा Microsoft भएको दस्तावेजहरू फेला पार्ने प्रयास गर्नुहोस्। संकेत: [LIKE कीवर्ड](https://docs.microsoft.com/en-us/azure/cosmos-db/sql/sql-query-keywords#using-like-with-the--wildcard-character) प्रयोग गर्ने प्रयास गर्नुहोस्।
## [पाठ पछि क्विज](https://ff-quizzes.netlify.app/en/ds/quiz/11)
## समीक्षा र आत्म अध्ययन
- यस स्प्रेडशीटमा थपिएको केही अतिरिक्त स्वरूप र सुविधाहरू छन् जुन यो पाठले समेट्दैन। यदि तपाईं Excel को बारेमा थप जान्न इच्छुक हुनुहुन्छ भने Microsoft को [ठूलो डकुमेन्टेशन र भिडियो पुस्तकालय](https://support.microsoft.com/excel) छ।
- यो वास्तुकला डकुमेन्टेशनले गैर-संबंधित डेटा प्रकारहरूमा विशेषताहरूको विवरण दिन्छ: [गैर-संबंधित डेटा र NoSQL](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data)
- Cosmos DB एक क्लाउड आधारित गैर-संबंधित डाटाबेस हो जसले यस पाठमा उल्लेख गरिएका विभिन्न NoSQL प्रकारहरू पनि भण्डारण गर्न सक्छ। यी प्रकारहरूको बारेमा थप जान्नको लागि यो [Cosmos DB Microsoft Learn Module](https://docs.microsoft.com/en-us/learn/paths/work-with-nosql-data-in-azure-cosmos-db/) हेर्नुहोस्।
## असाइनमेन्ट
[Soda Profits](assignment.md)
---
**अस्वीकरण**:
यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।