29 lines
2.6 KiB
Markdown
29 lines
2.6 KiB
Markdown
---
|
|
id: SYS-NOSQL-[[Schema|Schema]]-001
|
|
category: Unified
|
|
confidence_score: 1.0
|
|
tags: [database, nosql, schema-design, mongodb, cassandra, dynamodb, de[[Normalization|Normalization]], [[Scalability|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|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
|