NoSQLãã¼ã¿ãã¼ã¹ã¯ãå¾æ¥ã®ãªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ï¼RDBMSï¼ã¨ã¯ç°ãªããã¼ã¿ç®¡çã®ã¢ããã¼ããæã¤ãã¼ã¿ãã¼ã¹ã®ãã¨ã§ãããNoSQLãã¯ãNot Only SQLï¼SQLã ãã§ã¯ãªãï¼ãã®ç¥ã§ãããæè»ãªãã¼ã¿ã¢ãã«ãæã¤ãã¼ã¿ãã¼ã¹ã®ç·ç§°ã§ãããã®æè»æ§ã«ããã大éã®ãã¼ã¿ã®å¦çãã¹ã±ã¼ã©ããªãã£ã®åä¸ãæ±ããããç¨éã«é©ãã¦ãã¾ãã
NoSQLãã¼ã¿ãã¼ã¹ã®ç¹å¾´
1. ã¹ãã¼ãã¬ã¹: NoSQLãã¼ã¿ãã¼ã¹ã¯ä¸è¬çã«ã¹ãã¼ãï¼ãã¼ã¿ã®æ§é ï¼ãäºåã«å®ç¾©ããå¿
è¦ãããã¾ããããã®ãããç°ãªãå½¢å¼ã®ãã¼ã¿ãæè»ã«ä¿åãããã¨ãã§ãã¾ãããã®ç¹å¾´ã«ããããã¼ã¿ã¢ãã«ãé »ç¹ã«å¤ããç°å¢ã§ã容æã«å¯¾å¿ã§ãã¾ãã
2. æ°´å¹³ã¹ã±ã¼ã©ããªãã£: NoSQLã¯ããã¼ã¿ãå¢å ããã«ã¤ãã¦ãµã¼ãã¼ã追å ãããã¨ã§ã¹ã±ã¼ã«ãããæ°´å¹³ã¹ã±ã¼ãªã³ã°ï¼ã¹ã±ã¼ã«ã¢ã¦ãï¼ãã«é©ãã¦ãã¾ããä¸æ¹ãRDBMSã§ã¯ãµã¼ãã¼ã®æ§è½ãä¸ãããåç´ã¹ã±ã¼ãªã³ã°ããä¸è¬çã§ãããéçãããã¾ããNoSQLã¯åæ£ã·ã¹ãã ã¨ãã¦ããã¼ãï¼ãµã¼ãã¼ï¼ã追å ãããã¨ã§ãã¼ã¿å®¹éãããã©ã¼ãã³ã¹ãåä¸ãããããã§ãã
3. åæ£å¦ç: NoSQLãã¼ã¿ãã¼ã¹ã¯åæ£ã·ã¹ãã ã«é©ãã¦ãããè¤æ°ã®ãµã¼ãã¼ã«ãã¼ã¿ãåæ£ãã¦ä¿åãããã¨ã§ãé«å¯ç¨æ§ã¨èé害æ§ãå®ç¾ãã¦ãã¾ããããã¯ããã°ãã¼ã¿ã®å¦çã«é常ã«æç¨ã§ãã
4. æè»ãªãã¼ã¿æ§é : NoSQLãã¼ã¿ãã¼ã¹ã¯ããªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã®ãããªãã¼ãã«å½¢å¼ä»¥å¤ã«ããã¾ãã¾ãªãã¼ã¿ã¢ãã«ãæä¾ãã¾ããããã¥ã¡ã³ãããã¼ã¨å¤ã®ãã¢ãã°ã©ããåæåãªã©ãå¤æ§ãªãã¼ã¿æ§é ãæ±ããã¨ãã§ãã¾ãã
NoSQLãã¼ã¿ãã¼ã¹ã®ç¨®é¡
NoSQLãã¼ã¿ãã¼ã¹ã«ã¯ã以ä¸ã®4ã¤ã®ä¸»è¦ãªã¿ã¤ããããã¾ãã
1. ãã¼ã»ããªã¥ã¼åãã¼ã¿ãã¼ã¹ï¼Key-Value Storeï¼:
⢠ãã¼ã¿ã¯ããã¼ãã¨ãããªã¥ã¼ãã®ãã¢ã§ä¿åããã¾ããåç´ãªãã¼ã¿ã¢ãã«ã§ãããé常ã«é«éã§ãã
⢠ä¾: RedisãAmazon DynamoDB
⢠ç¨é: ãã£ãã·ã¥ãã»ãã·ã§ã³æ
å ±ãã·ã³ãã«ãªãã¼ã¿ã®é«éã¢ã¯ã»ã¹
2. ããã¥ã¡ã³ãåãã¼ã¿ãã¼ã¹ï¼Document Storeï¼:
⢠ãã¼ã¿ã¯JSONãBSONãXMLãªã©ã®å½¢å¼ã§ãããã¥ã¡ã³ããã¨ãã¦ä¿åããã¾ããåããã¥ã¡ã³ãã¯ç°ãªãæ§é ãæã¤ãã¨ãã§ããæè»ã§ãã
⢠ä¾: MongoDBãCouchDB
⢠ç¨é: Webã¢ããªã±ã¼ã·ã§ã³ãæè»ãªãã¼ã¿ç®¡çãå¿
è¦ãªå ´é¢
3. ã«ã©ã æåãã¼ã¿ãã¼ã¹ï¼Column-Family Storeï¼:
⢠ãã¼ã¿ã¯ã«ã©ã ï¼åï¼ã§ã°ã«ã¼ãåãããåè¡ã«ç°ãªãæ°ã®ã«ã©ã ãæã¤ãã¨ãã§ãã¾ããå¹ççã«å¤§è¦æ¨¡ãã¼ã¿ã®ã¯ã¨ãªãåæãè¡ããã¨ãã§ãã¾ãã
⢠ä¾: Apache CassandraãHBase
⢠ç¨é: 大éãã¼ã¿ã®é«éã¢ã¯ã»ã¹ããã¼ã¿åæ
4. ã°ã©ãåãã¼ã¿ãã¼ã¹ï¼Graph Databaseï¼:
⢠ãã¼ãã¨ã¨ãã¸ã®å½¢ã§ãã¼ã¿ã管çãããã¼ãéã®è¤éãªé¢ä¿ã表ç¾ãããã¨ãã§ãã¾ããã¤ãªãããéè¦ãããã¼ã¿ã«é©ãã¦ãã¾ãã
⢠ä¾: Neo4jãAmazon Neptune
⢠ç¨é: ã½ã¼ã·ã£ã«ãããã¯ã¼ã¯ãæ¨è¦ã·ã¹ãã ããã¹æ¢ç´¢
NoSQLã®ã¡ãªããã¨ãã¡ãªãã
ã¡ãªãã:
⢠æè»æ§: ã¹ãã¼ãããªãããããã¼ã¿æ§é ã®å¤æ´ã容æã§ãéçºã®ã¹ãã¼ããåä¸ãã¾ãã
⢠é«ã¹ã±ã¼ã©ããªãã£: æ°´å¹³ã¹ã±ã¼ãªã³ã°ã容æã§ã大éã®ãã¼ã¿å¦çã«åãã¦ãã¾ãã
⢠é«å¯ç¨æ§: åæ£å¦çã«ãã£ã¦ãã·ã¹ãã ãä¸é¨ã®ãã¼ãããã¦ã³ãã¦ãåä½ãç¶ããé«ãèé害æ§ãæã¡ã¾ãã
ãã¡ãªãã:
⢠ä¸è²«æ§ã®ãã¬ã¼ããªã: CAPå®çã«åºã¥ããNoSQLã¯ã¹ã±ã¼ã©ããªãã£ã¨å¯ç¨æ§ãåªå
ãããããå¼·ãä¸è²«æ§ãæä¾ããªãå ´åãå¤ãï¼æçµçãªä¸è²«æ§ï¼ã
⢠è¤éãªã¯ã¨ãªãå°é£: è¤éãªJOINæä½ãè¦æã§ãRDBMSã®ãããªãªãããªã¯ã¨ãªã使ãã«ããå ´åãããã¾ãã
⢠å¦ç¿ã³ã¹ã: SQLã¨ç°ãªãã¯ã¨ãªè¨èªããã¼ã¿ã¢ãã«ãå¦ã¶å¿
è¦ããããããæ°ããå¦ç¿ã³ã¹ããçºçãã¾ãã
NoSQLãã¼ã¿ãã¼ã¹ãé©ãã¦ããã·ã¼ã³
⢠ããã°ãã¼ã¿ã®å¦ç: 巨大ãªãã¼ã¿ã»ããã管çãããªã¢ã«ã¿ã¤ã ã§åæãããããªã±ã¼ã¹ã
⢠æè»ãªãã¼ã¿æ§é : ãã¼ã¿æ§é ãé »ç¹ã«å¤ããã¢ããªã±ã¼ã·ã§ã³ããã¹ãã¼ãã®å¤æ´ãçºçããå ´é¢ã
⢠é«éãªæ¸ãè¾¼ã¿ãå¿
è¦ãªå ´å: 大éã®ãã¼ã¿ãçæéã§ä¿åãããã¨ãæ±ããããã·ã¹ãã ï¼ä¾ï¼ãã°ãã¼ã¿ãIoTããã¤ã¹ããã®ãã¼ã¿åéï¼ã
⢠é«å¯ç¨æ§ãéè¦ãªã¢ããªã±ã¼ã·ã§ã³: ä¾ãã°ããªã³ã©ã¤ã³ã·ã§ããã³ã°ãµã¤ããªã©ããµã¼ãã¹ã®åæ¢ã許ãããªãã±ã¼ã¹ã
NoSQLãã¼ã¿ãã¼ã¹ã¯ãå¾æ¥ã®ãªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã§ã¯å¯¾å¿ãã¥ããç¾ä»£ã®ã¢ããªã±ã¼ã·ã§ã³ãã¼ãºï¼ç¹ã«ããã°ãã¼ã¿ããªã¢ã«ã¿ã¤ã å¦çï¼ã«é©å¿ããããã«ç»å ´ãã¾ãããé©åãªã¦ã¼ã¹ã±ã¼ã¹ãç解ãããªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã¨NoSQLãã¼ã¿ãã¼ã¹ã使ãåãããã¨ãéè¦ã§ãã