피드로 돌아가기
Solana's Account Types Are Just Database Rows With Different Flags
Dev.toDev.to
Database

Solana의 Account 모델: 단일 Schema 기반의 Code/Data 통합 저장 구조

Solana's Account Types Are Just Database Rows With Different Flags

Samuel Akoji2026년 5월 20일4intermediate

Context

Web2 환경의 코드-데이터 분리 저장 방식에서 기인하는 복잡성과 관리 오버헤드 분석. 서로 다른 타입의 데이터를 각기 다른 스토리지 계층에서 처리하며 발생하는 아키텍처적 파편화 해결 필요성 대두.

Technical Solution

  • 모든 네트워크 객체를 address, lamports, owner, data, executable 5개 필드로 구성된 단일 Table 구조로 설계
  • executable 플래그를 통한 Code와 Data의 논리적 구분 및 런타임 처리 방식 결정
  • Wallet Account를 data가 없는 단순 Balance 저장용 Row로 처리하여 스토리지 최적화
  • System Program을 executable: true 설정된 Row로 정의하여 데이터 계층 내에서 바이트코드 직접 실행
  • Sysvar Account를 네트워크 자동 갱신 Row로 구성하여 런타임 정보의 전역 공유 체계 구축
  • 모든 상태 변경을 System Program이라는 단일 Application Server 로직으로 통합하여 일관성 확보

- 복잡한 엔티티 모델을 단일 기본 단위(Primitive)로 추상화하여 시스템 단순화 가능성 검토 - 메타데이터 플래그를 활용해 동일 스토리지 내에서 서로 다른 동작 모드(Read-only, Executable 등) 구현 고려 - 애플리케이션 레이어와 데이터 레이어의 경계를 허무는 Unified Storage 모델의 투명성 및 관리 이점 분석

원문 읽기