Files
2nd/10_Wiki/Topics/AI/Sharding-and-Partitioning.md
T

2.5 KiB

id, category, confidence_score, tags, last_reinforced
id category confidence_score tags last_reinforced
SYS-SHARD-001 10_Wiki/💡 Topics/AI 1.0
database
systems
scalability
sharding
partitioning
distributed-systems
big-data
2026-04-26

Sharding and Partitioning (샤딩 및 파티셔닝)

📌 한 줄 통찰 (The Karpathy Summary)

"거대한 지식의 덩어리를 전략적인 기준(Key)에 따라 조각내어 분산하고, 병렬 처리를 통해 단일 서버의 한계를 넘어 무한한 확장의 길을 열어라" — 대규모 데이터를 효율적으로 관리하기 위해 데이터베이스를 수평적 혹은 수직적으로 분할하여 저장하고 처리하는 최적화 기법.

📖 구조화된 지식 (Synthesized Content)

  • 추출된 패턴: "Data Fragmentation and Distributed Load Balancing" — 하나의 거대한 테이블을 여러 서버(Sharding)나 동일 서버 내 여러 논리적 단위(Partitioning)로 쪼개어, 전체 데이터를 조회하지 않고 필요한 조각에만 접근하여 응답 속도를 비약적으로 높이는 패턴.
  • 핵심 구분:
    • Vertical Partitioning: 테이블의 컬럼을 기준으로 쪼개기. 자주 쓰이는 데이터와 아닌 데이터를 분리.
    • Horizontal Partitioning (Sharding): 행(Row)을 기준으로 쪼개어 서로 다른 서버에 분산 저장.
    • Sharding Key: 데이터를 나누는 기준값. 데이터가 특정 서버에 쏠리지 않도록 고르게 분산시키는 것이 핵심.
  • 의의: 서비스가 폭발적으로 성장해도 인프라를 증설하여 대응할 수 있는 '수평적 확장성(Horizontal Scalability)'의 기술적 근간.

⚠️ 모순 및 업데이트 (Contradictions & RL Update)

  • 과거 데이터와의 충돌: 샤딩은 데이터 정합성 유지와 조인(Join) 연산이 극도로 어렵다는 단점이 있었으나, 최근에는 '분산 SQL DB(CockroachDB, Spanner 등)'의 등장으로 애플리케이션 수준의 복잡도 없이 자동화된 샤딩과 정합성을 동시에 보장하는 방향으로 발전함.
  • 정책 변화: Antigravity 프로젝트는 에이전트의 대규모 지식 노드와 벡터 임베딩 데이터를 저장할 때, 검색 빈도와 문서 카테고리를 고려한 동적 샤딩 전략을 통해 글로벌 검색 지연 시간을 최소화함.

🔗 지식 연결 (Graph)