JavaRush /جاوا بلاگ /Random-SD /ڊولپرز لاءِ NoSQL لاءِ ھدايت

ڊولپرز لاءِ NoSQL لاءِ ھدايت

گروپ ۾ شايع ٿيل
جيڪڏهن توهان پس منظر جي ترقي ۽ بگ ڊيٽا ۾ رجحانات تي عمل ڪري رهيا آهيو، توهان شايد اڳ ۾ ئي محسوس ڪيو آهي ته تازو سالن ۾ NoSQL ڊيٽابيس جي چوڌاري buzz . ڪجهه ماڻهو ڊيٽابيس ڏانهن هن طريقي سان متاثر ٿيا آهن، جڏهن ته ٻيا سمجهن ٿا ته ان ۾ ڪنهن قسم جي چال لڪيل آهي: انهن ۾ ڊيٽا جا ماڊل ساڳيا نه آهن جيئن عام تعلق رکندڙ ڊيٽابيس ۾، ايپليڪيشن پروگرامنگ انٽرفيس غير معمولي آهن، ۽ ايپليڪيشنون اڪثر سمجھ کان ٻاهر آهن. NoSQL ڊولپر جي گائيڊ - 1هن آرٽيڪل ۾ آئون توهان کي ٻڌايان ٿو ته اهي پهرين جڳهه ۾ ڇو ٺاهيا ويا هئا، اهي NoSQL ڊيٽابيس، اهي ڪهڙا مسئلا حل ڪن ٿا ۽ اوچتو ڪيترا ئي مختلف ڊيٽابيس جي ضرورت آهي. جيڪڏهن توهان NoSQL ۾ نوان آهيو، ته توهان کي مضمون جي آخري حصي ۾ خاص طور تي دلچسپي هوندي، جنهن ۾ NoSQL ڊيٽابيس جي قسمن جي فهرست آهي، جيڪي منهنجي خيال ۾ فيلڊ جي مڪمل ڄاڻ حاصل ڪرڻ لاءِ پهريان ڳولڻ جي قابل آهن.

اوچتو اسان کي نئين ڊيٽابيس جي ضرورت ڇو آهي؟

توھان پڇڻ لاءِ حيران ٿي سگھوٿا: تعلقي ڊيٽابيس سان ڇا غلط آھي؟ نقطي اهو آهي ته انهن ڪيترن ئي سالن تائين واقعي سٺو ڪم ڪيو، پر هاڻي هڪ مسئلو آهي ته اهي هاڻي هٿ نه ٿا ڪري سگهن. ڪجهه اڳڪٿين مطابق، 2018 ۾ انسانيت 50,000 گيگا بائيٽ ڊيٽا في سيڪنڊ پيدا ڪندي. هي ڊيٽا جو هڪ وڏو مقدار آهي! ان جي اسٽوريج ۽ سنڀالڻ هڪ سنگين انجنيئرنگ چئلينج پيش ڪري ٿو. ڇا اڃا به خراب آهي ته اهو حجم مسلسل وڌي رهيو آهي. جيئن ته اهو ظاهر ٿئي ٿو، لاڳاپو ڊيٽابيس ڊيٽا جي وڏي مقدار سان ڪم ڪرڻ لاء خراب طور تي مناسب آهن. اهي هڪ واحد مشين تي هلائڻ لاءِ ٺهيل آهن، ۽ جيڪڏهن توهان وڌيڪ درخواستون سنڀالڻ چاهيو ٿا، ته پوءِ واحد اختيار اهو آهي ته ڪمپيوٽر خريد ڪري وڌيڪ ريم ۽ وڌيڪ طاقتور پروسيسر سان. بدقسمتي سان، سوالن جو تعداد جيڪو هڪ مشين سنڀالي سگهي ٿو محدود آهي، ۽ ڪيترن ئي مشينن ۾ ورهايل ڪم لاءِ اسان کي مختلف ڊيٽابيس ٽيڪنالاجي جي ضرورت آهي. يقينن، ڪجهه پڙهندڙ هن نقطي تي کلندا ۽ چوندا آهن ته هڪ تعلقي ڊيٽابيس جي صورت ۾ ڪيترن ئي مشينن کي استعمال ڪرڻ لاء ٻه وڏي پيماني تي استعمال ٿيل طريقا آهن: نقل ۽ شارڊنگ. اهو سچ آهي، پر اهي طريقا اسان جي ڪمن کي منهن ڏيڻ لاء ڪافي نه آهن. پڙهو نقل هڪ ٽيڪنڪ آهي جنهن ۾ هر ڊيٽابيس جي تازه ڪاري ٻين مشينن ڏانهن پروپيگنڊا ڪئي وئي آهي جيڪا صرف پڙهڻ جي درخواستن کي سنڀالي سگهي ٿي. انهي صورت ۾، سڀئي تبديليون هڪ سرور طرفان انجام ڏنيون آهن، جنهن کي ماسٽر نوڊ سڏيو ويندو آهي، جڏهن ته ٻيا سرور، جن کي ريپليڪس سڏيو ويندو آهي، صرف ڊيٽا جي نقلن کي برقرار رکندو آهي. صارف ڪنهن به مشين مان پڙهي سگهي ٿو، پر ڊيٽا کي صرف ماسٽر نوڊ ذريعي تبديل ڪري ٿو. اهو هڪ آسان ۽ تمام مشهور طريقو آهي، پر اهو صرف توهان کي وڌيڪ پڙهڻ جي درخواستن تي عمل ڪرڻ جي اجازت ڏئي ٿو ۽ ڪنهن به طريقي سان ڊيٽا جي گهربل مقدار جي پروسيسنگ جو مسئلو حل نٿو ڪري.
NoSQL ڊولپر جي گائيڊ - 2
شڪل ۾:
ليڊر (پڙهڻ ۽ لکڻ): ليڊر نوڊ (پڙهڻ ۽ لکندو)
پڙهڻ واري نقل (صرف پڙهڻ لاءِ): ريپليڪس (صرف پڙهڻ لاءِ)
شارڊنگ هڪ ٻيو مشهور طريقو آهي جيڪو استعمال ڪري ٿو ڪيترن ئي مثالن سان لاڳاپيل ڊيٽابيس جي. انهن مان هر هڪ ڊيٽا جي هڪ حصي لاءِ لکڻ ۽ پڙهڻ جا عمل سنڀاليندو آهي. جيڪڏهن هڪ ڊيٽابيس گراهڪن جي باري ۾ معلومات محفوظ ڪري ٿي، مثال طور، شارڊنگ استعمال ڪندي، هڪ مشين انهن گراهڪن جي سڀني درخواستن کي سنڀالي سگهي ٿي جن جا نالا A سان شروع ٿين ٿا، ٻي مشين انهن گراهڪن لاءِ سمورو ڊيٽا محفوظ ڪري سگهي ٿي جن جا نالا B سان شروع ٿين ٿا، وغيره.
NoSQL ڊولپر جي گائيڊ - 3
شڪل ۾:
ملٽي ماسٽر (ڊيٽا جو حصو پڙهو ۽ لکو): ڪيترائي ماسٽر نوڊس (ڊيٽا جا حصا پڙهڻ ۽ لکڻ)
جيتوڻيڪ شارڊنگ توهان کي وڌيڪ ڊيٽا رڪارڊ ڪرڻ جي اجازت ڏئي ٿي، اهڙي ڊيٽابيس کي منظم ڪرڻ هڪ حقيقي خواب آهي: توهان کي ڊيٽا کي مشينن جي وچ ۾ ترتيب ڏيڻو پوندو ۽ ضرورت مطابق ٻنهي طرفن ۾ ڪلستر کي ماپ ڪرڻو پوندو. جيتوڻيڪ اهو نظريي ۾ سادو نظر اچي ٿو، اهو صحيح حاصل ڪرڻ ڪافي مشڪل آهي.

ڇا تعلقي ڊيٽابيس کي بهتر بڻائي سگهجي ٿو؟

منهنجو خيال آهي ته توهان اڳ ۾ ئي يقين ڪري چڪا آهيو ته لاڳاپو ڊيٽابيس جديد دنيا ۾ پيدا ڪيل ڊيٽا جي مقدار لاءِ بهترين موزون نه آهن. جيتوڻيڪ، توهان اڃا تائين حيران ٿي رهيا آهيو ڇو ته ڪنهن به اڃا تائين "بهتر" لاڳاپو ڊيٽابيس ٺاهي نه آهي جيڪا ڪيترن ئي مشينن تي موثر طريقي سان هلائي سگهي ٿي. اهو لڳي سگھي ٿو ته هي ٽيڪنالاجي اڃا تائين ترقي نه ڪئي وئي آهي، ۽ ورهايل لاڳاپا ڊيٽابيس تمام جلد ظاهر ٿيندا. افسوس، ائين نه ٿيندو. اهو رياضياتي طور تي ناممڪن آهي، ۽ ان بابت ڪجهه به نٿو ڪري سگهجي. سمجھڻ لاءِ ته ائين ڇو آھي، توھان کي ڏسڻ جي ضرورت آھي نام نهاد CAP ٿيوريم (اڪا برور جو نظريو). اهو 1999 ۾ ثابت ٿيو، ۽ اهو ٻڌائي ٿو ته ڪيترن ئي مشينن تي هلندڙ هڪ ورهايل ڊيٽابيس ۾ هيٺيان ٽي خاصيتون ٿي سگهن ٿيون: تسلسل - ڪو به پڙهڻ وارو آپريشن آخري لاڳاپيل لکڻ جي آپريشن جا نتيجا ڏئي ٿو. جيڪڏهن سسٽم هڪجهڙائي آهي، نئين ڊيٽا لکڻ کان پوء، اهو ناممڪن آهي پڙهڻ لاء پراڻي، اڳ ۾ ئي اوور رائٽ ٿيل ڊيٽا. دستيابي ( هڪ دستيابي) - هڪ ورهايل سسٽم ڪنهن به وقت ايندڙ درخواست جي خدمت ڪري سگهي ٿو ۽ هڪ غلطي کان آزاد جواب واپس ڪري سگهي ٿو. ورهاڱي جي رواداري - ڊيٽابيس پڙهڻ ۽ لکڻ جي درخواستن جو جواب ڏيڻ جاري رکي ٿو جيتوڻيڪ ان جا ڪجهه سرور عارضي طور تي هڪ ٻئي سان رابطو ڪرڻ جي قابل نه هوندا آهن. هن عارضي ناڪامي کي نيٽورڪ ڪنيڪشن ناڪامي سڏيو ويندو آهي ۽ مختلف عنصرن جي ڪري ٿي سگهي ٿو، جسماني نيٽ ورڪ مسئلن کان وٺي سست سرور جي ڪري نيٽ ورڪ سامان کي جسماني نقصان تائين. اهي سڀئي ملڪيتون ضرور هٿ ۾ آهن، ۽ اسان واقعي چاهيون ٿا هڪ ڊيٽابيس انهن سڀني کي گڏ ڪرڻ لاءِ. ڪو به سمجھدار ڊولپر نه ڏيڻ چاهيندو، چئو، موٽ ۾ ڪجھ به حاصل ڪرڻ کان سواءِ رسائي. بدقسمتي سان، CAP نظريو پڻ ٻڌائي ٿو ته اهو ناممڪن آهي ته سڀني ٽن ملڪيتن کي گڏ ڪرڻ لاء. اهو سمجهڻ آسان نه آهي، پر اهو ممڪن آهي. پهرين، جيڪڏهن اسان کي ورهايل ڊيٽابيس جي ضرورت آهي، اهو هجڻ گهرجي "منقطع رواداري." اهو به بحث نه ڪيو ويو آهي. لاڳاپا هر وقت ٿين ٿا ۽ اسان جي ڊيٽابيس کي ان جي باوجود ڪم ڪرڻ گهرجي. هاڻي اچو ته سمجهون ته اسان مستقل مزاجي ۽ دستيابي ٻنهي کي ڇو حاصل نٿا ڪري سگهون. تصور ڪريو ته اسان وٽ ھڪڙو سادي ڊيٽابيس آھي جيڪو ٻن مشينن تي ھلندو آھي: A ۽ B. ڪو به استعمال ڪندڙ ڪنھن به ھڪڙي مشين تي لکي سگھي ٿو، جنھن کان پوء ڊيٽا کي ٻئي ڏانھن نقل ڪيو ويندو آھي.
NoSQL ڊولپرز گائيڊ - 4
هاڻي تصور ڪريو ته اهي مشينون عارضي طور تي هڪ ٻئي سان رابطو ڪرڻ جي قابل نه آهن، ۽ مشين B مشين A کان ڊيٽا موڪلڻ يا وصول ڪرڻ جي قابل ناهي. جيڪڏهن وقت جي هن عرصي دوران مشين B کي ڪلائنٽ کان پڙهڻ جي درخواست ملي ٿي، ان وٽ ٻه اختيار آهن:
  1. پنھنجي مقامي ڊيٽا واپس حاصل ڪريو، جيتوڻيڪ اھو تازو نه آھي. انهي صورت ۾، ترجيح ڏني وئي آهي دستيابي (گهٽ ۾ گهٽ ڪجهه ڊيٽا واپس ڪرڻ لاء، جيتوڻيڪ پراڻو ماڻهو).
  2. واپسي جي غلطي. انهي حالت ۾، استحڪام کي ترجيح ڏني وئي آهي: ڪلائنٽ پراڻي ڊيٽا حاصل نه ڪندو، پر اهو سڀ ڪجهه ڊيٽا حاصل نه ڪندو.
NoSQL ڊولپرز گائيڊ - 5
شڪل ۾:
نيٽ ورڪ ورهاڱي: نيٽ ورڪ رابطي جو نقصان
لاڳاپو ڊيٽابيس "مسلسل" ۽ "دستياب" جي ملڪيت کي گڏ ڪرڻ جي ڪوشش ڪري ٿو، ۽ ان ڪري ورهايل ماحول ۾ ڪم نٿو ڪري سگهي. ورهايل سسٽم ۾ لاڳاپي واري ڊيٽابيس جي سڀني صلاحيتن کي لاڳو ڪرڻ جي ڪوشش يا ته غير حقيقي يا صرف ناقابل عمل ٿيندو . ٻئي طرف، NoSQL ڊيٽابيس هڪ پريميئم رکي ٿو اسڪالبلٽي ۽ ڪارڪردگي تي. اهي عام طور تي ڪنيڪشن ۽ ٽرانزيڪشن وانگر "بنيادي" صلاحيتون نه آهن، ۽ ڊيٽا ماڊل مڪمل طور تي مختلف ٿي سگهي ٿو، شايد شايد ڪجهه طريقي سان محدود ٿي وڃي. اهو سڀ ڪجهه ڊيٽا جي وڏي مقدار کي ذخيرو ڪرڻ ۽ ممڪن کان پهريان کان وڌيڪ سوالن کي پروسيس ڪرڻ ممڪن بڻائي ٿو.

NoSQL ڊيٽابيس ڪيئن مطابقت ۽ دستيابي کي بيلنس ڪن ٿا؟

اهو توهان کي لڳي سگهي ٿو ته جيڪڏهن توهان هڪ NoSQL ڊيٽابيس چونڊيو ٿا، توهان هميشه حاصل ڪندا يا ته ڪجهه پراڻي ڊيٽا يا ڪنهن ناڪامي جي صورت ۾ هڪ غلطي. عملي طور تي، دستيابي ۽ استحڪام ڪنهن به صورت ۾ واحد اختيار موجود ناهي. اتي موجود اختيارن جو هڪ وسيع سلسلو موجود آهي توهان مان چونڊڻ لاء. Relational Databases وٽ اهي آپشن نه آهن، پر NoSQL توهان کي اجازت ڏئي ٿو سوالن جي عمل کي ڪنٽرول ڪرڻ جي ساڳي طريقي سان. هڪ طريقو يا ٻيو، اهي توهان کي اجازت ڏين ٿا ته ٻه پيرا ميٽر مقرر ڪريو جڏهن هڪ NoSQL ڊيٽابيس ۾ لکڻ يا پڙهڻ جي عملن کي انجام ڏيو: W - ڪلستر ۾ ڪيتريون مشينون ڊيٽا کي محفوظ ڪرڻ جي تصديق ڪرڻ گهرجن جڏهن لکڻ جي آپريشن کي انجام ڏيو . مشينن جو تعداد جيترو وڏو ھوندو جتي توھان پنھنجو ڊيٽا لکندا، اوترو ئي آسان ھوندو جيڪو پڙھڻ جي ايندڙ ڊيٽا کي پڙھڻ لاءِ، پر ان ۾ گھڻو وقت لڳندو. R - ڪيترين مشينن مان ڊيٽا پڙهڻ چاهيو ٿا . ورهايل سسٽم ۾، ڪلستر ۾ سڀني مشينن تي ڊيٽا کي ورهائڻ ۾ ڪجهه وقت وٺي سگھي ٿو، تنهنڪري ڪجهه سرورن وٽ جديد ڊيٽا هوندي جڏهن ته ٻيا دير ٿي ويندا. مشينن جو وڌيڪ تعداد جن مان ڊيٽا پڙھي ويندي آھي، اوترو ئي موجوده ڊيٽا پڙھڻ جا امڪان وڌيڪ آھن. اچو ته هڪ عملي مثال ڏسو. جيڪڏهن توهان جي ڪلستر ۾ پنج ڪمپيوٽر آهن، ۽ توهان صرف هڪ تي ڊيٽا لکڻ جو فيصلو ڪيو، ۽ پوءِ هڪ بي ترتيب چونڊيل ڪمپيوٽر مان ڊيٽا پڙهو، پوءِ اتي 80 سيڪڙو امڪان آهي ته توهان پراڻي ڊيٽا پڙهندا. ٻئي طرف، هي گهٽ ۾ گهٽ وسيلن جو استعمال ڪندو. تنهن ڪري جيڪڏهن ميراثي ڊيٽا توهان سان ٺيڪ آهي، اهو اهڙو خراب اختيار ناهي. هن حالت ۾، پيرا ميٽرس W ۽ R 1 جي برابر آهن.
NoSQL ڊولپرز گائيڊ - 6
ٻئي طرف، جيڪڏهن توهان NoSQL ڊيٽابيس ۾ سڀني پنجن مشينن تي ڊيٽا لکي سگهو ٿا، توهان ڪنهن به مشين مان ڊيٽا پڙهي سگهو ٿا ۽ هر دفعي تازه ڪاري ڊيٽا حاصل ڪرڻ جي ضمانت ڏني وڃي ٿي. ساڳي آپريشن کي وڏي تعداد ۾ مشينن تي انجام ڏيڻ ۾ وڌيڪ وقت لڳندو، پر جيڪڏھن تازه ترين ڊيٽا توھان لاءِ ضروري آھي، ته پوءِ توھان ھي اختيار چونڊي سگھو ٿا. انهي صورت ۾، W = R = 5. ڊيٽابيس جي تسلسل لاءِ گهربل پڙهڻ ۽ لکڻ جو گهٽ ۾ گهٽ تعداد ڇا آهي؟ هتي هڪ سادي فارمولا آهي: R + W ≥ N + 1 ، جتي N ڪلستر ۾ مشينن جو تعداد آهي. ان جو مطلب اهو آهي ته پنجن سرورن سان، توهان يا ته R = 2 ۽ W = 4، يا R = 3 ۽ W = 3، يا R = 4 ۽ W = 2 چونڊي سگهو ٿا. انهي صورت ۾، اهو مسئلو ناهي ته ڪهڙي مشين کي ڊيٽا. لکيو ويو آهي، پڙهڻ هميشه گهٽ ۾ گهٽ هڪ مشين مان ڪيو ويندو تازه ڪاري ڊيٽا سان.
NoSQL ڊولپرز گائيڊ - 7
ٻيا ڊيٽابيس، جهڙوڪ DynamoDB، مختلف پابنديون آهن ۽ صرف مسلسل لکڻ جي اجازت ڏين ٿيون. ڊيٽا جو هر ٽڪرو ٽن سرورن تي ذخيرو ٿيل آهي، ۽ جڏهن ڪو ڊيٽا لکيو ويندو آهي، اهو ٽن مان ٻن مشينن ڏانهن لکيو ويندو آهي. پر جڏهن ڊيٽا پڙهي، توهان ٻن اختيارن مان هڪ چونڊي سگهو ٿا:
  1. سخت مسلسل پڙهڻ، جنهن ۾ ڊيٽا ٽن مان ٻن مشينن مان پڙهي ويندي آهي ۽ هميشه تازو لکيل ڊيٽا واپس آڻيندي.
  2. ھڪڙو واقعو مسلسل پڙھڻ، جنھن ۾ ھڪڙي مشين کي بي ترتيب سان چونڊيو ويو آھي جنھن مان ڊيٽا کي پڙھڻ لاء. بهرحال، اهو ٿي سگهي ٿو عارضي طور تي پراڻي ڊيٽا واپس.

ڇو اتي تمام گهڻا NoSQL ڊيٽابيس آهن؟

جيڪڏهن توهان سافٽ ويئر ڊولپمينٽ جي ميدان ۾ تازي خبرن جي پيروي ڪندا آهيو، توهان شايد ڪيترن ئي مختلف NoSQL ڊيٽابيس بابت ٻڌو آهي، جهڙوڪ MongoDB، DynamoDB، Cassandra، Redis ۽ ٻيا ڪيترائي. توھان حيران ٿي رھيا آھيو: ڇو اسان کي ايترا مختلف NoSQL ڊيٽابيس جي ضرورت آھي؟ سبب سادو آهي: ته مختلف NoSQL ڊيٽابيس مختلف مسئلن کي حل ڪرڻ لاءِ ٺهيل آهن. اهو ئي سبب آهي ته مقابلي واري ڊيٽابيس جو تعداد تمام وڏو آهي. NoSQL ڊيٽابيس چار مکيه ڀاڱن ۾ اچي ٿو:

دستاويزن جي بنياد تي ڊيٽابيس

اهي ڊيٽابيس پيچيده nested دستاويزن کي ذخيرو ڪرڻ جي صلاحيت مهيا ڪن ٿا، جڏهن ته اڪثر لاڳاپو ڊيٽابيس صرف هڪ طرفي قطار جي حمايت ڪن ٿا. هي مضمون ڪيترن ئي ڪيسن ۾ ڪارائتو ٿي سگهي ٿو، مثال طور، جڏهن اهو ضروري آهي ته صارف جي باري ۾ معلومات ذخيرو ڪرڻ لاء ڪيترن ئي پتي سان سسٽم ۾. جڏهن هڪ دستاويز تي مبني ڊيٽابيس استعمال ڪندي، انهي صورت ۾ توهان صرف هڪ پيچيده شئي ذخيرو ڪري سگهو ٿا جنهن ۾ پتي جي هڪ صف شامل آهي، جڏهن ته لاڳاپيل ڊيٽابيس ۾ توهان کي ٻه جدول ٺاهڻو پوندو: هڪ صارف جي معلومات لاء ۽ هڪ پتي لاء. دستاويزن تي مبني ڊيٽابيس اعتراض ماڊل ۽ ڊيٽا ماڊل جي وچ ۾ فرق کي پل ڪن ٿا . ڪجهه لاڳاپي واري ڊيٽابيس، جهڙوڪ PostgreSQL، هاڻي پڻ دستاويز جي بنياد تي اسٽوريج جي حمايت ڪن ٿا، پر اڪثر لاڳاپو ڊيٽابيس اڃا تائين هن صلاحيت کان محروم آهن.

ڪي/ويليو ڊيٽابيس

ڪي/ويليو ڊيٽابيس عام طور تي آسان ترين NoSQL ماڊل کي لاڳو ڪن ٿا. لازمي طور تي، اهي توهان کي مهيا ڪن ٿا هڪ ورهايل هيش ٽيبل ، توهان کي اجازت ڏئي ٿي ڊيٽا کي هڪ ڏنل چيڪ تي لکڻ ۽ ان کي استعمال ڪندي واپس پڙهڻ. ڪي/ويليو ڊيٽابيس انتهائي اسپيبلبل هوندا آهن ۽ ٻين ڊيٽابيس جي ڀيٽ ۾ خاص طور تي گهٽ ويڪرائي وارا هوندا آهن.

گراف ڊيٽابيس

ڪيترائي موضوع وارا علائقا، مثال طور، سماجي نيٽ ورڪ يا فلمن ۽ اداڪارن بابت معلومات، گراف جي طور تي پيش ڪري سگھجن ٿيون. جيتوڻيڪ گراف کي هڪ تعلقي ڊيٽابيس استعمال ڪندي نمائندگي ڪري سگهجي ٿو، اهو ڏکيو ۽ ناگزير آهي. جيڪڏهن توهان کي گراف ڊيٽا جي ضرورت آهي، اهو بهتر آهي ته هڪ خاص گراف ڊيٽابيس استعمال ڪيو وڃي، جيڪو ورهايل ڪلستر ۾ گراف جي باري ۾ معلومات محفوظ ڪري سگهي ٿو ۽ گرافس تي الگورتھم کي موثر طريقي سان لاڳو ڪرڻ ممڪن بڻائي ٿو.

ڪالمنر ڊيٽابيس

ڪالمن ۽ ڊيٽابيس جي ٻين قسمن جي وچ ۾ بنيادي فرق اهو آهي ته ڊيٽا ڊسڪ تي ذخيرو ٿيل آهي. لاڳاپو ڊيٽابيس هر ٽيبل لاءِ هڪ فائل ٺاهي ٿو ۽ ترتيب سان سڀني قطارن لاءِ قدرن کي محفوظ ڪري ٿو. ڪالمن ڊيٽابيس توهان جي جدولن ۾ هر ڪالمن لاءِ هڪ فائل ٺاهي. هي ڍانچو توهان کي ڊيٽا گڏ ڪرڻ جي اجازت ڏئي ٿو ۽ ڪجهه خاص سوالن کي وڌيڪ موثر طريقي سان هلائڻ جي اجازت ڏئي ٿو، پر توهان کي پڪ ڪرڻ گهرجي ته ڊيٽا اهڙن ڊيٽابيس جي حدن کي پورو ڪري ٿي.

ڪهڙو ڊيٽابيس توهان کي چونڊڻ گهرجي؟

ڊيٽابيس چونڊڻ عام طور تي هڪ مايوس ڪندڙ مسئلو آهي، ۽ ڪيترن ئي اختيارن سان دستياب آهي، اهو لڳي سگهي ٿو هڪ وڏي ڪم وانگر. سٺي خبر اها آهي ته صرف هڪ چونڊڻ جي ضرورت ناهي. هڪ واحد واحد ايپليڪيشن ٺاهڻ جي بدران جيڪا سڀني صلاحيتن کي لاڳو ڪري ٿي ۽ سڀني سسٽم جي ڊيٽا تائين رسائي آهي، توهان هڪ ٻيو جديد نمونو استعمال ڪري سگهو ٿا جنهن کي microservices سڏيو ويندو آهي : ايپليڪيشن کي آزاد خدمتن جي هڪ سيٽ ۾ ٽوڙيو. هر خدمت پنهنجي تنگ مسئلي کي حل ڪري ٿو، ۽ صرف پنهنجو ڊيٽابيس استعمال ڪري ٿو، جيڪو هن مسئلي کي حل ڪرڻ لاء تمام مناسب آهي.

توهان کي اهو سڀ ڪجهه ڪيئن سکڻ گهرجي؟

ڪيترن ئي ڊيٽابيس سان ، انهن سڀني کي سکڻ هڪ ناممڪن ڪم وانگر لڳي سگهي ٿو. سٺي خبر: توهان کي اهو ڪرڻ جي ضرورت ناهي. NoSQL ڊيٽابيس جا صرف چند بنيادي قسم آھن، ۽ جيڪڏھن توھان سمجھو ٿا ته اھي ڪيئن ڪم ڪن ٿا، ٻين کي سمجھڻ بلڪل آسان ٿي ويندو. انهي سان گڏ، ڪجهه NoSQL ڊيٽابيس استعمال ڪيا ويندا آهن گهڻو ڪري ٻين جي ڀيٽ ۾، تنهنڪري اهو بهتر آهي ته توهان جي ڪوششن کي تمام مشهور حلن تي ڌيان ڏيڻ. هتي عام طور تي استعمال ٿيل NoSQL ڊيٽابيس جي هڪ فهرست آهي جنهن کي مان سمجهان ٿو ته توهان کي ڏسڻ گهرجي:
  1. مونگو ڊي بي . شايد مارڪيٽ تي سڀ کان وڌيڪ مشهور NoSQL ڊيٽابيس. جيڪڏهن ڪو ڪمپني ان جي بنيادي ڊيٽا اسٽور جي طور تي هڪ تعلقي ڊيٽابيس استعمال نٿو ڪري، اهو شايد استعمال ڪري ٿو MongoDB. هي هڪ لچڪدار دستاويز اسٽوريج آهي جيڪو اوزار جي سٺي سيٽ سان. پنهنجي ڪيريئر جي شروعات ۾، مونگو ڊي بي کي ڪجهه ڪيسن ۾ ڊيٽا وڃائڻ جي خراب شهرت هئي، پر ان وقت کان وٺي ان جي استحڪام ۽ اعتبار تمام گهڻو بهتر ٿي چڪو آهي. هن تي هڪ نظر وٺو MongoDB ڪورس جيڪڏهن توهان وڌيڪ سکڻ چاهيو ٿا.

  2. DynamoDB . جيڪڏهن توهان Amazon ويب سروسز (AWS) استعمال ڪريو ٿا، ته توهان بهتر ڄاڻو ٿا DynamoDB بابت وڌيڪ. اهو هڪ انتهائي قابل اعتماد، اسپيبلبل، گهٽ ويڪرائي ڊيٽابيس آهي امير فيچر سيٽ سان ۽ ڪيترن ئي ٻين AWS خدمتن سان انضمام. بهترين حصو اهو آهي ته توهان کي پنهنجو پاڻ کي ترتيب ڏيڻ جي ضرورت ناهي. هڪ اسپيبلبل DynamoDB ڪلستر کي ترتيب ڏيڻ جيڪو هزارين سوالن کي سنڀالي سگهي ٿو صرف چند ڪلڪن کان پري آهي. جيڪڏهن هي توهان جي دلچسپي آهي، توهان هن ڪورس تي هڪ نظر وٺي سگهو ٿا.

  3. نيو 4 جي . سڀ کان وڌيڪ عام گراف ڊيٽابيس. هي هڪ اسپيبلبل ۽ مستحڪم حل آهي انهن لاءِ موزون جيڪي گراف ڊيٽا ماڊل استعمال ڪرڻ چاهيندا آهن. جيڪڏهن توهان وڌيڪ سکڻ چاهيو ٿا، هن ڪورس سان شروع ڪريو .

  4. ريڊيس . جڏهن ته هتي بيان ڪيل ٻيا ڊيٽابيس بنيادي ايپليڪيشن ڊيٽا کي ذخيرو ڪرڻ لاء استعمال ڪيا ويا آهن، ريڊس بنيادي طور تي ڪيش کي لاڳو ڪرڻ ۽ معاون ڊيٽا کي ذخيرو ڪرڻ لاء استعمال ڪيو ويندو آهي. ڪيترين ئي صورتن ۾، مٿي ڄاڻايل ڊيٽابيس مان هڪ استعمال ڪيو ويندو آهي ريڊس سان گڏ. وڌيڪ سکڻ لاء، هن ڪورس کي چيڪ ڪريو.

2018 ۾ NoSQL سان

NoSQL ڊيٽابيس هڪ وسيع ۽ تيزي سان وڌندڙ ميدان آهن. اهي توهان کي ڊيٽا جي اڳ ۾ ناقابل تصور مقدار کي ذخيرو ۽ پروسيس ڪرڻ جي اجازت ڏين ٿا، پر اهو قيمت تي اچي ٿو. انهن ڊيٽابيس ۾ ڪيتريون ئي خاصيتون نه هونديون آهن جن سان توهان واقف آهيو تعلقي ڊيٽابيس ۾، ۽ اهو ڏکيو ٿي سگهي ٿو پنهنجو پاڻ کي انهن کي استعمال ڪرڻ لاءِ سيٽ اپ ڪرڻ. پر هڪ دفعو توهان انهن کي هٽائي ڇڏيو، توهان اسپيبلبل، ورهايل ڊيٽابيس ٺاهي سگهو ٿا جيڪي پڙهڻ ۽ لکڻ جي درخواستن جي حيرت انگيز مقدار کي سنڀالي سگهن ٿا، جيڪي انتهائي اهم ٿي سگهن ٿيون جيئن ته ڊيٽا جي وڏي ۽ وڏي مقدار ٺاهي ٿي. اصل: https://simpleprogrammer.com/guide-nosql-software-developers/
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION