--- id: SYS-NOSQL-SCHEMA-001 category: "10_Wiki/๐Ÿ’ก Topics/AI" confidence_score: 1.0 tags: [database, nosql, schema-design, mongodb, cassandra, dynamodb, denormalization, scalability] last_reinforced: 2026-04-26 --- # Schema Design for NoSQL (NoSQL ์Šคํ‚ค๋งˆ ์„ค๊ณ„) ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > "๋ฐ์ดํ„ฐ์˜ ๊ด€๊ณ„(Relationship)๋ฅผ ์œ„ํ•ด ์†๋„๋ฅผ ํฌ์ƒํ•˜์ง€ ๋ง๊ณ , ์‚ฌ์šฉ์ž์˜ ์ฝ๊ธฐ ํŒจํ„ด(Access Pattern)์— ๋งž์ถฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์กฐ๋ฆฝํ•˜๊ณ  ์ค‘๋ณต์‹œ์ผœ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๋ผ" โ€” ์œ ์—ฐํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋†’์€ ํ™•์žฅ์„ฑ๊ณผ ๋น ๋ฅธ ์‘๋‹ต ์†๋„๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ฟผ๋ฆฌ ์ค‘์‹ฌ์  ์„ค๊ณ„ ์ „๋žต. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **์ถ”์ถœ๋œ ํŒจํ„ด:** "Denormalization and Query-first Modeling" โ€” ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ ์กฐ์ธ(Join)ํ•˜๋Š” ๋น„์šฉ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋ฌธ์„œ(Document)์— ๋‹ด๊ฑฐ๋‚˜ ์˜๋„์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณต ์ €์žฅํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹์ด ์•„๋‹Œ '์–ด๋–ป๊ฒŒ ์กฐํšŒํ•  ๊ฒƒ์ธ๊ฐ€'๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์Šคํ‚ค๋งˆ๋ฅผ ์งœ๋Š” ํŒจํ„ด. - **ํ•ต์‹ฌ ์„ค๊ณ„ ์›์น™:** - **Denormalization:** ์กฐ์ธ ๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จ(Embedding)์‹œ์ผœ ๋‹จ์ผ ์ฝ๊ธฐ๋กœ ํ•ด๊ฒฐ. - **Partition Key Design:** ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„์‚ฐ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ํ‚ค ์„ ์ •. - **CAP Theorem ์ดํ•ด:** ์ผ๊ด€์„ฑ(Consistency)๊ณผ ๊ฐ€์šฉ์„ฑ(Availability) ์ค‘ ์„œ๋น„์Šค ์„ฑ๊ฒฉ์— ๋งž๋Š” ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ์„ ํƒ. - **์˜์˜:** ๊ณ ์ •๋œ ์Šคํ‚ค๋งˆ์˜ ์ œ์•ฝ์—์„œ ๋ฒ—์–ด๋‚˜ ์ดˆ๋‹น ์ˆ˜๋งŒ ๊ฑด์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋Œ€๊ทœ๋ชจ ์›น ์„œ๋น„์Šค์™€ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์ตœ์ ํ™”๋œ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•จ. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** NoSQL์€ "์Šคํ‚ค๋งˆ๊ฐ€ ์—†๋‹ค(Schema-less)"๋Š” ๋ง์— ํ˜„ํ˜น๋˜์–ด ์„ค๊ณ„๋ฅผ ๋ฌด์‹œํ•˜๋˜ ์ดˆ๊ธฐ ๋‹จ๊ณ„๋ฅผ ์ง€๋‚˜, ์ด์ œ๋Š” ์ •๊ตํ•œ '์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€์˜ ์Šคํ‚ค๋งˆ ๊ด€๋ฆฌ'๊ฐ€ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€์˜ ํ•ต์‹ฌ์ž„์„ ์ธ์ง€ํ•˜๊ณ  ์„ค๊ณ„์˜ ์ค‘์š”์„ฑ์ด ์žฌ์กฐ๋ช…๋จ. - **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ๋Œ€๊ทœ๋ชจ ๋น„์ •ํ˜• ๋กœ๊ทธ ๋ฐ ์ง€์‹ ๊ทธ๋ž˜ํ”„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ ์‹œ, ์ฝ๊ธฐ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ๋ฌธ์„œ ์ง€ํ–ฅ(Document-oriented) NoSQL ์„ค๊ณ„ ์›์น™์„ ์ ์šฉํ•จ. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - [[Relational-Databases|Relational-Databases]], System-Design-for-AI-Scale, [[Sharding-and-Partitioning|Sharding-and-Partitioning]], [[High-Availability-Systems|High-Availability-Systems]] - **Raw Source:** 10_Wiki/Topics/AI/Schema-Design-for-NoSQL.md