éçºè
ãè¡ãæãéèŠãªæ±ºå®ã® 2 ã€ã¯ãã©ã®ããŒã¿ããŒã¹ã䜿çšãããã§ãã é·å¹Žã«ãããããªãã·ã§ã³ã¯æ§é åç
§äŒèšèª (SQL) ããµããŒãããããŸããŸãªãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ ãªãã·ã§ã³ã«éãããŠããŸããã ãããã«ã¯ãMS SQL ServerãOracleãMySQLãPostgreSQLãDBXNUMX ãªã©ãå«ãŸããŸãã
éå» 15 幎éã«ããããå€ãã®æ°ããããŒã¿ããŒã¹ã No-SQL ã¢ãããŒãã«åºã¥ããŠåžå Žã«åå ¥ããŠããŸããã ãããã«ã¯ãRedis ã Amazon DynamoDB ãªã©ã® Key-Value ã¹ãã¢ãCassandra ã HBase ãªã©ã®ãããŒãã«ã©ã ããŒã¿ããŒã¹ãMongoDB ã Couchbase ãªã©ã®ããã¥ã¡ã³ã ã¹ãã¢ãElasticsearch ã Solr ãªã©ã®ã°ã©ã ããŒã¿ããŒã¹ãæ€çŽ¢ãšã³ãžã³ãå«ãŸããŸãã
ãã®èšäºã§ã¯ãSQL ãš NoSQL ã®æ©èœã«ã€ããŠã¯è§Šããã«ãSQL ãš NoSQL ã«ã€ããŠç解ããŠãããŸãã
ããã«ãéäžã§æ¥œããããšããããŸãã
ãã°ãã¡ããã« SQL ã説æãã
ãã°ãã¡ãããç§ãããªãã®å¯äžã®å«ã§ã¯ãªãããšãæ³åããŠãã ããã ãã®ä»£ããããç¶ãããšãæ¯ããã¯ãŠãµã®ã®ããã«ãäºããæãåãã100人ã®åäŸãããããããã«50人ãé€åã«ããŸããã
ã§ããããããªãã¯ç§ãã¡å šå¡ãæããŠãããç§ãã¡ã®ååãèªçæ¥ã奜ããªã¢ã€ã¹ã¯ãªãŒã ã®å³ãæã®ãµã€ãºã趣å³ãé å¶è ã®ååãåäŸã®ååããã®ä»ã®éåžžã«éèŠãªäºå®ãå¿ããããªããšæã£ãŠããŸãã ãã ããããã«çŽé¢ããŸãããã ããªãã¯85æ³ã§ãããå€ãè¯ãèšæ¶ã§ã¯å¯ŸåŠã§ããŸããã
幞ããªããšã«ãç§ã¯ããªãã®å«ã®äžã§æãè³¢ãã®ã§ããæäŒãã§ããŸãã ããã§ãç§ã¯ããªãã®å®¶ã«æ¥ãŠãäœæãã®çŽãåãåºããŠãå§ããåã«ã¯ãããŒãçŒããŠãã ãããšé Œã¿ãŸãã
XNUMXæã®çŽã«ãããšãããªã¹ããäœããŸããå«ãã æ¯æ¥ å« åœŒã«é¢ããããã€ãã®éèŠãªæ å ±ãèšé²ãããŠããããã®äžã«ã¯ä»åŸã©ã®ããã«è¡åãããã瀺ãåºæã®çªå·ãå«ãŸããŸãã å« åœŒã¯ã ãŸããæŽçã®ããã«ããªã¹ãã®å é ã«ååä»ãå±æ§ãæžãåºããŠããªã¹ãã«ã©ã®ãããªæ å ±ãå«ãŸããŠããããåžžã«ææ¡ã§ããããã«ããŸãã
id
å
èªçæ¥
æåŸã®èšªå
æã®ãµã€ãº
奜ããªã¢ã€ã¹ã¯ãªãŒã
æ¡æ
1
ãžããŒ
09-22-1992
09-01-2019
L
ãã³ããã§ã³ã¬ãŒã
false
2
ãžã§ã·ã«
07-21-1992
02-22-2018
M
ããããŒããŒã
true
âŠãªã¹ããç¶ããŸãïŒ
å«ã®ãªã¹ã
ãã°ãããããšããã¹ãŠãç解ãããªã¹ãã¯ã»ãŒå®æããŸãã ããããããªãã¯ç§ã«åãã£ãŠããèšããŸãããé å¶è ã趣å³ãå«ã®ããã®ã¹ããŒã¹ãè¿œå ããã®ãå¿ããŠããŸããïŒã ããããããããç§ãã¡ã¯å¿ããŠããŸããïŒ ããã¯ããã«ç¶ããæ°ããçŽãå¿ èŠã«ãªããŸãã
ããã§ç§ã¯å¥ã®çŽãåãåºãããã®äžã§ãªã¹ããåŒã³åºããŸã é å¶è ã ç§ãã¡ã«ãšã£ãŠéèŠãªå±æ§ãåã³ãªã¹ãã®å é ã«è¿œå ããè¡ã®è¿œå ãéå§ããŸãã
id
å«ID
å
èªçæ¥
1
2
John Redfern
06-01-1988
2
9
ãã§ã«ãã³ã
03-05-1985
âŠé å¶è ãå¢ããŸããïŒ
é å¶è ã®ãªã¹ã
ãã®æ®µéã§ãç§ã¯ç¥æ¯ã«ã誰ã誰ãšçµå©ããŠããããç¥ãããå Žåã¯ãäžèŽããã ãã§ãããšèª¬æããŸãã id ãªã¹ãå å« Ñ å«ID é å¶è ã®ãªã¹ãã«ãããŸãã
ã¯ãããŒãæ°åæé£ã¹ãããæŒå¯ãããªããã°ãªããŸããã ããã°ãã¡ãããç¶ããŠãããïŒã æŒå¯ããã«åºçºããŸãã
æ°æéåŸã«æ»ããŸãã ãã£ããããããã°ãã¡ããïŒ ãªã¹ã以å€ã¯ãã¹ãŠçŽ æŽãããèŠããŸã 趣å³ã ãªã¹ãã«ã¯çŽ1000ã®è¶£å³ãèŒã£ãŠããŸãã ãããã®ã»ãšãã©ã¯ç¹°ãè¿ãã§ãã äœãèµ·ãã£ããïŒ
å«ID
趣å³
1
ãã€ã¯
4
ãã€ã¯
3
ãã€ã¯
7
ã©ã³ãã³ã°
11
ãã€ã¯
âŠç§ãã¡ã¯ç¶ããŸãïŒ
ããããªããããã£ããèšãå¿ããŠãŸããïŒ XNUMX ã€ã®ãªã¹ãã䜿çšããŠè¿œè·¡ã§ããã®ã¯ã 趣å³ã 次ã«ãå¥ã®ãªã¹ãã§è¿œè·¡ããå¿ èŠããããŸã å«èª°ãããããã£ãŠããã®ã 趣å³ã ãããåŒã³ãŸã ãå ±éãªã¹ããã ããªããæ°ã«å ¥ããªãã®ãèŠããšãç§ã¯å¿é ã«ãªã£ãŠãªã¹ãã¢ãŒãã«æ»ããŸãã
id
趣å³
1
ãã€ã¯
2
ã©ã³ãã³ã°
3
æ°Žæ³³
âŠãã£ãšè¶£å³ãïŒ
趣å³ã®ãªã¹ã
趣å³ãªã¹ããäœæããããXNUMX çªç®ã®ãªã¹ããäœæããããããå«ã®è¶£å³'ã
å«ID
趣å³ID
4
1
3
1
7
2
âŠãã£ãšïŒ
å«ã®è¶£å³ã®äžè¬çãªãªã¹ã
ãã®ãããªåªåãçµãŠããã°ãã¡ããã¯ä»ãé©ãã»ã©å€§å®¶æå šå¡ã®èšé²ãæ®ãããã®åªããèšæ¶ã·ã¹ãã ãæã«å ¥ããŸããã ãããŠãç§ãé·ãåŒãçããããã«ã圌女ã¯éæ³ã®è³ªåãããŸãããã©ãã§ãããªããšãåŠãã ã®ã§ãã?ã
ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹
ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã¯ãæ£åŒã«èšè¿°ãããäžé£ã®ããŒãã« (ãã®äŸã§ã¯ã·ãŒãã§ã) ã§ãããããããã¢ã¯ã»ã¹ã§ããŸãã ã«ãã ãŸãã¯ãããŒãã«ãåç·šæããããšãªããããŸããŸãªæ¹æ³ã§ããããåéããŸã ããŒã¿ããŒã¹ã ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã«ã¯ããŸããŸãªçš®é¡ããããŸãããæ®å¿µãªããçŽã«æžããããªã¹ãã¯ãã®äžã«ã¯ãããŸããã
æã人æ°ã®ãããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ç¹åŸŽã¯ãSQL (Structured Query Language) ã¯ãšãªèšèªã§ãã 圌ã®ãããã§ããã°ãã¡ãããèªåã®èšæ¶ã·ã¹ãã ãã³ã³ãã¥ãŒã¿ãŒã«è»¢éããã°ããå»å¹Žç§ã蚪ããŠããªãã£ãã®ã¯èª°ã§ããïŒçµå©ããŠããŠè¶£å³ã¯ãããŸãããïŒããªã©ã®è³ªåã«å¯Ÿããçããããã«åŸãããšãã§ããŸãã
æã人æ°ã®ãã SQL ããŒã¿ããŒã¹ç®¡çã·ã¹ãã ã® XNUMX ã€ã¯ããªãŒãã³ãœãŒã¹ã® MySQL ã§ãã ããã¯äž»ã«ãWeb ããŒã¹ã®ãœãããŠã§ã¢ ã¢ããªã±ãŒã·ã§ã³çšã®ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ç®¡çã·ã¹ãã (RDBMS) ãšããŠå®è£ ãããŸãã
MySQL ã®äž»ãªæ©èœã¯æ¬¡ã®ãšããã§ãã
- ããã¯ããªãããç¥ãããŠãããåºã䜿çšãããŠãããåºç¯å²ã«ãã¹ããããŠããŸãã
- SQL ããã³ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®çµéšãæã€çç·Žããéçºè ãå€æ°ããŸãã
- ããŒã¿ã¯ããŸããŸãªããŒãã«ã«ä¿åããããããäž»ããŒãšå€éšã㌠(èå¥å) ã䜿çšããŠé¢ä¿ãç°¡åã«ç¢ºç«ã§ããŸãã
- 䜿ããããå¹ççã§ããããã倧å°ãåããããžãã¹ã«æé©ã§ãã
- ãœãŒã¹ ã³ãŒã㯠GNU General Public License ã®æ¡ä»¶ã«åºã¥ããŠããŸãã
ããå¿ããŠãã ãã å šéš.
ãã°ãã¡ããã« 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!"
}
ЯïŒãæºåã¯äžç«¯ã®ããã§ããïŒã
ÐабÑÑкаãã¡ãã£ãšåŸ
ã£ãŠãæ®ãã®å«ãã¡ã¯ã©ãããã®ïŒã
Ð¯ïŒ "ã¯ããæ£ç¢ºã«ã 次ã«ãããããã« XNUMX ããŒãžãå²ãåœãŠãŸããã
ÐабÑÑка: ãããªãã®å Žåãšåãããã«ãå
šå¡ã«å¯ŸããŠåãæ
å ±ããã¹ãŠæžãçããå¿
èŠããããŸãã?ã
ЯïŒãããããããªããæãå Žåã«éããŸãã ç§ã«èŠããŠãã ããã"
ç§ã¯ç¥æ¯ã®ãã³ãæã«åããããŒãžãããããæãå«ããªããšãã«é¢ããæ
å ±ãçŽ æ©ãæžãçããŸããã
{
"_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 幎代åé ã«ãæ瀺çãªã¹ã±ãŒãªã³ã°èŠä»¶ã«ããã¯ã©ãŠãããŒã¹ã®ããŒã¿ããŒã¹ ã¯ã©ã¹ã¿ãªã³ã°ãå¿ èŠãšããäŒæ¥ (Facebook ãªã©) ã§æ®åããŸããã ãã®ãããªã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããŒã¿ã®äžè²«æ§ã¯ããã©ãŒãã³ã¹ãã¹ã±ãŒã©ããªãã£ãããã¯ããã«éèŠã§ã¯ãããŸããã§ããã
åœåãNoSQL ããŒã¿ããŒã¹ã¯ããããªããŒã¿ç®¡çã¿ã¹ã¯ã«ãã䜿çšãããŠããŸããã åºæ¬çã«ãWeb ã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãŠã ã¢ããªã±ãŒã·ã§ã³ã«é¢ããŠã¯ãNoSQL ããŒã¿ããŒã¹ã倧éã®ããŒã¿ãåŠçããã³åæ£ããŸãã NoSQL ãšã³ãžãã¢ã¯ãæŽæ°ãããã¢ããªã±ãŒã·ã§ã³ã§è¿ éãªå€æŽãå¯èœãšãªãããã«ãæè»ãªããŒã¿ ã¹ããŒã (ãŸãã¯ãã®æ¬ åŠ) ãæ°ã«å ¥ã£ãŠããŸããã
NoSQL ã®äž»ãªç¹åŸŽ:
- ããŒã¿ãä¿åããããã®éåžžã«æè»ãªæ¹æ³
- ã¯ã©ã¹ã¿ãŒãžã®æ°Žå¹³ã¹ã±ãŒãªã³ã°
- æ°žç¶æ§/ã¹ãã¬ããããšã«å¯èœãªé åºä»ã
- äžæã®ããŒã䜿çšããŠèå¥ãããããã¥ã¡ã³ã
詳现ãªæ¯èŒ
MySQL ã«ã¯ãå®çŸ©ããæ§é åãããã¹ããŒããå¿
èŠã§ãã
NoSQL ã䜿çšãããšãããããããŒã¿ããããã¥ã¡ã³ããã«ä¿åã§ããŸãã
MySQL ã«ã¯å·šå€§ãªã³ãã¥ããã£ããããŸãã
NoSQL ã«ã¯å°èŠæš¡ãªããæ¥éã«æé·ããŠããã³ãã¥ããã£ããããŸãã
NoSQL ã¯æ¡åŒµãç°¡åã§ãã
MySQL ã«ã¯ãããªã管çæ§ãå¿
èŠã§ãã
MySQL ã¯ãå€ãã®çš®é¡ã®ããŒã¿ããŒã¹ã§äœ¿çšããã SQL ã䜿çšããŸãã
NoSQL ã¯ãäžè¬çãªå®è£
ãåããããŒã¿ããŒã¹ ããŒã¹ã®èšèšã§ãã
MySQL ã¯æšæºã¯ãšãªèšèª (SQL) ã䜿çšããŸãã
NoSQL ã¯æšæºã®ã¯ãšãªèšèªã䜿çšããŸããã
MySQL ã«ã¯åªããã¬ããŒã ããŒã«ãæ°å€ããããŸãã
NoSQL ã«ã¯æšæºåãé£ããã¬ããŒã ããŒã«ãããã€ããããŸãã
MySQL ã§ã¯ãããã° ããŒã¿ã®ããã©ãŒãã³ã¹ã®åé¡ãçºçããå¯èœæ§ããããŸãã
NoSQL ã¯ããã° ããŒã¿ã«å¯ŸããŠåªããããã©ãŒãã³ã¹ãæäŸããŸãã
ææ³ 8base
äŒç€Ÿ
ã¬ããŒãäœæããã©ã³ã¶ã¯ã·ã§ã³ã®æŽåæ§ãæ確ã«å®çŸ©ãããããŒã¿ ã¢ãã«ãå¿ èŠãšããããžãã¹ ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããæ°èäŒæ¥ãéçºè ã«ãšã£ãŠããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãžã®æè³ã¯æ£ããéžæã§ãããšç§ãã¡ã¯èããŠããŸãã
AuroraããµãŒããŒã¬ã¹ãGraphQL ã䜿çšããéçºã®è©³çŽ°ã«ã€ããŠã¯ã8base.com ãã芧ãã ããã
åºæïŒ habr.com