SQLãšNoSQLã®éã â è²·ãç©ãªã¹ãã®ä¿åæ¹æ³ããéžãŒã
åãè²·ãç©ããè¡šãšææžã§èŠã
ãŸããåãè²·ãç©ãäºã€ã®åœ¢ã§èŠã
ãã²ãããããããã2åè²·ãããšããèšé²ãèããŸãã衚ãªã泚æãšååãå¥ã®è¡šã«ããŠçµã³ä»ããããŸããããã¥ã¡ã³ãåã§ã¯ãäžç·ã«ããèªã泚æãšæçްãäžã€ã®ææžã«ãŸãšããèšèšãã§ããŸãã
{
"buyer": "ã²ãã",
"items": [
{
"name": "ããã",
"quantity": 2
}
]
}
ããã¯æ§é ã®äŸã§ãããã®JSONãèŠãã ãã§MongoDBã«ä¿åãããããšã«ã¯ãªããŸãããRDBã«ãJSONãæ±ãã補åããããŸãã
衚ããå¿ èŠãªè¡ãåãåºã
SQLå ¥éãªã©ã®ç·Žç¿çšDBã§ã次ã詊ããŸãã
CREATE TABLE shopping_demo (
buyer TEXT,
item TEXT,
quantity INTEGER
);
INSERT INTO shopping_demo
VALUES ('ã²ãã', 'ããã', 2);
SELECT item, quantity
FROM shopping_demo
WHERE buyer = 'ã²ãã';
ããã | 2 ãçµæã§ããååã®è¡šããªãæ°ããç·Žç¿çšDBã§è¡ããŸããããã§ã¯åãåããã®å
¥å£ã詊ãã ãã§ãæ¬çªã®ããŒã»å¶çŽã»çŽ¢åŒã®èšèšã¯å¥ã«å¿
èŠã§ãã
èªã¿æžãã®åäœããéžã¶
| å ã«æ±ºããããš | æ€èšã®äŸ |
|---|---|
| ã©ã®åäœã§èªãã | 泚æãšæçްãäžç·ã«èªãããæšªæã§éèšããã |
| ã©ããŸã§äžç·ã«ç¢ºå®ããã | æ¯æããåšåº«ã®æŽæ°ãäžæ¬ã§æ±ãã |
| äœã§æ€çŽ¢ããã | ååãæ¥ä»ãå©çšè ãçµã¿åãã |
| ã©ããžæ¡åŒµããã | è² è·ã忣ããŒãé害æã®ä¿èšŒ |
NoSQLã®æè»ãªæ§é ã«ãèšèšãšæ€èšŒã¯å¿ èŠã§ããNoSQLå šäœãäžã€ã®ããŒã¿ã¢ãã«ã§ã¯ãªããããã¥ã¡ã³ããããŒãšå€ãªã©æ¹åŒãšè£œåãç°ãªããŸãã
ããå°ã詳ããïŒäºåããªãä¿èšŒ
MongoDBã«ãè€æ°ããã¥ã¡ã³ãã®ACIDãã©ã³ã¶ã¯ã·ã§ã³ããããPostgreSQLã«ãJSON/JSONBããããŸããDynamoDBã§ã¯ããŒãã«ãšLSIã«åŒ·ãæŽåæ§ã®èªã¿åããéžã¹ãŸãããGSIãšã¹ããªãŒã ã¯çµææŽåæ§ã®èªã¿åãã§ãã
RDBã¯çžŠã«ããæ¡åŒµã§ããªããNoSQLã¯ç¡éã«æ°Žå¹³æ¡åŒµã§ããããšãèšããŸãããSpannerã®ãããªåæ£RDBããããã·ã£ãŒãã£ã³ã°ã«ã¯åæ£ããŒãåãã®æ€èšãå¿ èŠã§ããå¿ èŠãªåŠçã§ã®æ§èœã»è²»çšã»éçšã補åããšã«ç¢ºèªããŸãããã
ãã³ã®ã³å çã®ãŸãšã
ãSQLãšNoSQLãã£ãŠåºãŠããããããŒã¿ã®åœ¢ãšãèªã¿æžãã®ãŸãšãŸãããéžã¶ããšæãã°ã ãããOKïŒ ãŸãä¿åãããè²·ãç©ãšãåãåºãããçµæãæžããŠã¿ããã
åèè³æ
- PostgreSQL: Concepts â è¡ã»åã»åãæã€RDBã®åºæ¬ã
- PostgreSQL: Transactions â ééäŸãšãã©ã³ã¶ã¯ã·ã§ã³ã®ç¯å²ã
- MongoDB: Data Modeling â æè»ãªã¹ããŒããšèšèšã»æ€èšŒã®å¿ èŠæ§ã
- MongoDB: Transactions â ACIDãèªã¿æžãèšå®ã忣åŠçã®ã³ã¹ãã
- MongoDB: Sharding â æ°Žå¹³åæ£ãšã·ã£ãŒãããŒã
- DynamoDB: Read consistency â ããŒãã«ãšã€ã³ããã¯ã¹ã®æŽåæ§ã®éãã
- PostgreSQL: JSON Types â JSONã»JSONBåã
- Google Cloud: Spanner â SQLã»ACIDãšæ°Žå¹³ã¹ã±ãŒãªã³ã°ãåãã補åäŸã