څنګه خپلې انا ته د SQL او NoSQL ترمنځ توپیر تشریح کړئ

څنګه خپلې انا ته د SQL او NoSQL ترمنځ توپیر تشریح کړئ

یو له خورا مهم پریکړو څخه چې یو پرمخ وړونکی یې کوي دا دی چې کوم ډیټابیس کارول کیږي. د ډیرو کلونو لپاره، اختیارونه د مختلفو اړیکو ډیټابیس انتخابونو پورې محدود وو چې د جوړښت شوي پوښتنې ژبې (SQL) ملاتړ کوي. پدې کې د MS SQL سرور، اوریکل، MySQL، PostgreSQL، DB2 او نور ډیر څه شامل دي.

په تیرو 15 کلونو کې ، ډیری نوي ډیټابیسونه د No-SQL طریقې لاندې بازار ته ننوتلي دي. پدې کې د کلیدي ارزښت پلورنځي لکه Redis او Amazon DynamoDB، پراخ کالم ډیټابیسونه لکه کاسندرا او HBase، د اسنادو پلورنځي لکه MongoDB او Couchbase، او د ګراف ډیټابیسونه او د لټون انجنونه لکه Elasticsearch او Solr.

پدې مقاله کې، موږ به هڅه وکړو چې د SQL او NoSQL د دوی فعالیت ته د رسیدو پرته پوه شو.
برسیره پردې، موږ به په لاره کې یو څه ساتیري ولرو.

نانی ته د SQL تشریح کول

دادی، تصور وکړه چې زه ستاسو یوازینی لمسی نه یم. پرځای یې، مور او پلار یو له بل سره د خرگوش په څیر مینه درلوده، دوی 100 ماشومان درلودل، بیا یې 50 نور پالل.

نو، تاسو له موږ ټولو سره مینه لرئ او نه غواړئ زموږ نومونه، د زیږون ورځ، د خوښې آیس کریم ذائق، د جامو اندازه، شوق، د میړه نومونه، د اولادونو نومونه او نور خورا مهم حقایق هیر کړئ. په هرصورت، راځئ چې ورسره مخ شو. تاسو 85 کلن یاست او ښه زوړ حافظه نشي کولی دا اداره کړي.

خوشبختانه ، ستاسو د لمسیانو ترټولو هوښیار یم ، زه مرسته کولی شم. نو زه ستاسو کور ته راغلم، زه د کاغذ ځینې پاڼې را اخلم او زه له تاسو څخه غوښتنه کوم چې مخکې له دې چې موږ پیل کړو یو څه کوکیز پخ کړئ.

د کاغذ په یوه پاڼه کې، موږ یو لیست جوړوو چې نوم یې "لمسیان". هر لمسی د هغه په ​​​​اړه د ځینې پام وړ معلوماتو سره ثبت شوی، په شمول د یو ځانګړي شمیر په شمول چې اوس به دا په ګوته کړي چې څنګه لمسی هغه دی. همچنان ، د تنظیم لپاره ، موږ د لیست په سر کې نومول شوي صفات لیکو ترڅو موږ تل پوه شو چې لیست کوم معلومات لري.

id
نوم
د زیږیدو نیټه
وروستۍ لیدنه
د جامو اندازه
د خوښې آیس کریم
منل شوې

1
جیمي
09-22-1992
09-01-2019
L
د پودینې چاکلیټ
غلط

2
جیسیکا
07-21-1992
02-22-2018
M
ډبرين سړک
رښتيا

…موږ لیست ته ادامه ورکوو!

د لمسیانو لیست

یو څه وروسته ، تاسو هرڅه پوهیږئ او موږ د لیست سره نږدې بشپړ شوي یو! په هرصورت، تاسو ما ته مخ واړوئ او ووایاست: "موږ د میړه، شوق، لمسیانو لپاره ځای اضافه کول هیر کړل!" مګر نه، موږ نه دي هېر کړي! دا نور تعقیبوي او د کاغذ نوې پاڼې ته اړتیا لري.

نو زه د کاغذ یوه بله پاڼه را وباسم او په هغې کې موږ لیست بولو خاوندان. موږ بیا هغه صفات اضافه کوو چې زموږ لپاره مهم دي د لیست په سر کې او په قطارونو کې اضافه کول پیل کوو.

id
grandchild_id
نوم
د زیږیدو نیټه

1
2
جان
06-01-1988

2
9
فرننده
03-05-1985

… نور میړه!

د میرمنو لیست

په دې مرحله کې، زه خپلې انا ته تشریح کوم چې که هغه غواړي پوه شي چې له چا سره واده کوي، نو هغه یوازې د میچ کولو ته اړتیا لري id په لیست کې لمسیان с grandchild_id د میړه په لیست کې.

د څو درجن کوکیز وروسته، زه اړتیا لرم چې یو خوب واخلم. "ایا تاسو دوام کولی شئ، دادی؟" زه د ویده کیدو لپاره پریږدم.

زه په څو ساعتونو کې بیرته راځم. تاسو ښه یاست، دادی! د لیست پرته هرڅه عالي ښکاري شوق. په لیست کې شاوخوا 1000 شوقونه شتون لري. ډیری یې تکراري دي؛ څه شوي دي؟

grandchild_id
شوق

1
biking

4
biking

3
biking

7
چلولو

11
biking

…موږ ادامه ورکوو!

بخښنه غواړم، ما ویل په بشپړه توګه هیر کړل! د یو لیست په کارولو سره، تاسو کولی شئ یوازې تعقیب کړئ شوق. بیا په بل لیست کې موږ باید تعقیب کړو لمسیانڅوک چې دا کار کوي شوق. موږ به دا غږ وکړو "عام لیست". د دې په لیدو چې تاسو دا نه خوښوي، زه اندیښمن شوم او بیرته د لیست حالت ته لاړم.

id
شوق

1
biking

2
چلولو

3
د لامبو

… نور شوقونه!

د شوقونو لیست

یوځل چې موږ خپل د شوق لیست ولرو ، موږ خپل دوهم لیست جوړ کړو او ورته زنګ ووهئ "د لمسیانو شوق".

grandchild_id
hobby_id

4
1

3
1

7
2

…نور!

د لمسیانو د شوقونو عمومي لیست

د دې ټول کار وروسته، انا اوس د حافظې یو ښه سیسټم لري ترڅو د هغې ټولې حیرانونکې لویې کورنۍ تعقیب کړي. او بیا - زما د اوږد ساتلو لپاره - هغه د جادو پوښتنه کوي: "تاسو دا ټول چیرته زده کړل؟"

د اړیکو ډیټابیسونه

اړونده ډیټابیس د رسمي بیان شوي جدولونو مجموعه ده (زموږ په مثال کې ، دا شیټونه دي) چې تاسو یې لاسرسی کولی شئ ډاټا یا یې په مختلفو لارو راټول کړئ پرته له دې چې میزونه تنظیم کړئ ډیټابیس. د اړونده ډیټابیس ډیری ډولونه شتون لري، مګر له بده مرغه د کاغذ په یوه ټوټه کې لیست یو له دوی څخه نه دی.

د خورا مشهور اړیکو ډیټابیس نښه د SQL (ساختماني پوښتنې ژبه) د پوښتنې ژبه ده. د هغه څخه مننه، که انا خپل د حافظې سیسټم کمپیوټر ته انتقال کړي، هغه کولی شي په چټکۍ سره د پوښتنو ځوابونه ترلاسه کړي لکه: "څوک چې تیر کال ما سره لیدنه نه وه کړې، واده شوی او هیڅ شوق نلري؟"

یو له خورا مشهور SQL ډیټابیس مدیریت سیسټمونو څخه خلاص سرچینه MySQL دی. دا په ابتدايي توګه د ویب میشته سافټویر غوښتنلیکونو لپاره د اړونده ډیټابیس مدیریت سیسټم (RDBMS) په توګه پلي کیږي.

د MySQL ځینې کلیدي ځانګړتیاوې:

  • دا خورا ښه پیژندل شوی ، په پراخه کچه کارول شوی او په پراخه کچه ازمول شوی.
  • ډیری مهارت لرونکي پراختیا کونکي شتون لري چې د SQL او اړونده ډیټابیسونو سره تجربه لري.
  • ډاټا په مختلفو جدولونو کې زیرمه شوي، کوم چې د لومړني او بهرني کیلي (پیژندونکي) په کارولو سره د اړیکو رامینځته کول اسانه کوي.
  • دا کارول اسانه او موثر دي ، دا د لوی او کوچني سوداګرۍ لپاره مثالی کوي.
  • د سرچینې کوډ د GNU عمومي عامه جواز شرایطو لاندې دی.

اوس هېر کړه ټول.

دادی ته د NoSQL تشریح کول

انا، موږ یوه لویه کورنۍ لرو. هغه ۱۵۰ لمسیان لري! ډیری یې واده شوي، ماشومان لري، د یو څه سره مینه لري او داسې نور. ستاسو په عمر کې، دا ناشونې ده چې زموږ د ټولو په اړه هرڅه په یاد ولرئ. هغه څه چې تاسو ورته اړتیا لرئ د حافظې سیسټم دی!

خوشبختانه، I نه که تاسو غواړئ زما د زیږون ورځ او د آیس کریم غوره خوند هیر کړئ، زه مرسته کولی شم. نو زه نږدې پلورنځي ته ورغلم، یو نوټ بوک واخلم او کور ته راستون شم.

لومړی ګام چې زه یې اخلم زما د نوټ بوک په پوښ ​​کې په لویو غټو حروفونو کې "لمسیان" ولیکم. بیا زه لومړی پاڼی ته ځم او د هر هغه څه په لیکلو پیل کوم چې تاسو زما په اړه یادولو ته اړتیا لرئ. یو څو دقیقې وروسته، پاڼه داسې ښکاري.

{ 
  "_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 یو منطقي انتخاب دی کله چې ستاسو غوښتنلیک د لوړ فعالیت او توزیع کولو غوښتنه کوي ، موږ باور لرو چې د DBMS لخوا چمتو شوي قوي ډیټا تسلسل اړین دی کله چې د SaaS غوښتنلیکونه او نور سوداګریز سافټویر رامینځته کړي.

د پیل کولو او پراختیا کونکو لپاره چې د سوداګرۍ غوښتنلیکونه رامینځته کوي چې راپور ورکولو ، د لیږد بشپړتیا ، او ښه تعریف شوي ډیټا ماډلونو ته اړتیا لري ، زموږ په نظر په اړوند ډیټابیسونو کې پانګونه کول سم انتخاب دی.

د Aurora، Serverless او GraphQL سره په 8base.com کې د پراختیا په اړه نور معلومات زده کړئ دلته.

سرچینه: www.habr.com

Add a comment