Files
2nd/10_Wiki/Topics/Schema-Design-for-NoSQL.md
T
2026-05-02 23:33:34 +09:00

2.6 KiB


id: SYS-NOSQL-Schema-001 category: Unified 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)