14.1 Zenoh 스토리지 및 백엔드 아키텍처 개요
네트워크 상에서 휘발성으로 흩어지는 데이터를 영구적으로 보존(Persistence)하지 않는다면, 미들웨어 시스템은 단순한 메시지 패싱(Message Passing) 브로커에 불과하다. 시계열 데이터 분석(Time-series Analysis), 머신러닝 모델의 오프라인 재학습(Retraining), 그리고 예기치 못한 시스템 크래시(Crash) 이후의 상태 복구를 달성하기 위해서는 동적 네트워크 토폴로지 위를 부유하는 텔레메트리 데이터 스트림을 포획하여 물리적인 백업 데몬 자장(HDD/SSD) 내에 영구히 묶어 두어야만 한다.
본 장에서는 Zenoh 통신 프레임워크가 자신의 극단적인 경량화 몸집(Micro-footprint)을 그대로 보존하면서도 어떻게 거대한 페타바이트급 외부 데이터베이스 인프라 시스템에 매끄럽게 연결 파이프(Pipeline)를 꽂아 넣을 수 있는지, “동적 로딩 백엔드 플러그인(Dynamic Backend Plugin)” 아키텍처라는 본질적인 무기를 통해 인프라단에 데이터를 영속화하는 시스템 철학적 아키텍처 메커니즘을 심도 있게 해부하고 논증한다.
1. 백엔드 플러그인 시스템의 개념과 필요성
만약 Zenoh 코어 라우터 데몬(zenohd)의 바이너리 소스 내부에 인플럭스DB, MySQL, 혹은 MongoDB 등 상용 데이터베이스들의 전용 드라이버 엔진 스택이 출시부터 정적으로 하드 코딩(Hard-coding) 탑재 컴파일되어 배포되었다면, 해당 프레임워크 라우터의 바이너리 용량은 수백 MB를 초과하여 컴퓨팅 자원이 극히 빈약한 임베디드 단말(Raspberry Pi, ESP32 등)에서의 경량 구동이라는 Zenoh 생태계의 절대적인 존재 가치 자체를 박탈당했을 것이다.
1.0.1 디커플링(Decoupling) 아키텍처의 궁극성 설계
1) 철저한 “분리 관심사(Separation of Concerns)” 기반의 저장소 격리망 보호
- 초고속 L4 라우팅 코어 데몬 본체(
zenohd)는 자신의 시스템 런타임 하단에 물리적인 DB 엔진이 결착되어 존재하는지 여부조차 알 필요가 없다. 오직 인메모리 상으로 유입된 글로벌 가상 Key 공간 범위의 이진 덤프 페이로드 포맷을 약속된 타겟 목적지로 스위치(Switch) 포워딩(Routing)하는 릴레이 전파 역할에만 100% 자원을 극대화 집중한다. - 데이터베이스 소켓을 개방하고 물리 디스크에 스트림 바이트를 파싱(Parsing) 기록하는 역할은 철저히 별도의 독립 개체인 “백엔드 플러그인(Storage Backend Plugin)” 컴포넌트가 전담하여 위임 수행한다.
2) 핫 플러그(Hot-plug) 생태계와 런타임 스레드 동적 주입(Dynamic Loading)
- 스토리지 플러그인 유닛(동적 라이브러리
.so파일, 윈도우의 경우.dll패키지 포맷 형태) 들은 데몬 시스템이 부팅 초기화(Booting)되는 최초 런처 타이밍이나, 혹은 이미 가동되어 무한 루프 핑거링 중인 라이브(Live) 런타임 운영 중간에도 언제든 시스템 OS 메모리 속으로 비동기 동적 주입(Hot-Load) 체결될 수 있다. - InfluxDB, RocksDB 혹은 사용자 커스텀 자체 제작 텍스트 덤프 기록기 건 간에 관계없이, Zenoh 엔진이 공인하는 FFI 심볼 규칙으로 규격화 컴파일된
zenoh-backend-xxx네이밍의 플러그인 라이브러리 파일만 지정된 마운트 폴더 디렉토리에 배치해두면, 라우터 데몬이 이 라이브러리를 포트 스캐닝하여 스스로 알아서 메모리에 낚아채어 Zenoh 트래픽 망의 글로벌 데이터 공간(Global Data Space, GDS)과 투명하게 접합 바인딩시킨다. - 바로 이것이 현대 클라우드 네이티브(Cloud Native) 구조 백서에서 강력히 주창하는 가장 완벽하고 이상적인 형태의 저장소 추상화(Storage Abstraction) 및 느슨한 결합(Loose Coupling) 인프라의 형태이다.
2. 스토리지 볼륨(Storage Volume)과 데이터 영속성 획득의 이해
“백엔드 플러그인을 라우터에 꽂아 결속시켰다. 하지만 정작 InfluxDB 엔진 내부의 구체적인 어느 테이블(Database/Bucket) 섹터에 이 방대한 로봇 센서 데이터를 구조화하여 저장할당 할 것인가?”
Zenoh 시스템은 이 난해한 데이터 파티셔닝(Partitioning) 구조 질문에 논리적으로 대답하기 위해 “볼륨(Volume)” 이라는 가상의 브릿지 폴더 세그먼트 개념을 아키텍처 내부에 도입한다.
2.0.1 논리적 마운트(Logical Mount) 포인트 브릿지 설계 구조
1) 범용 백엔드(Backend) 대 개별 볼륨(Volume) 간의 종속 계층 위계
- Backend (백엔드 코어): 원격지 InfluxDB 시스템과 TCP 커넥션을 물고 소통하는 통로, 즉 “명령 통신 드라이버 조작 체계” 그 자체를 의미한다.
- Volume (볼륨 개체): InfluxDB 소켓 내에 존재하는
facility_a_sensor_db,robot_b_log_db등의 구체적인 데이터를 수납할 엔드포인트 물리 저장 공간(테이블/버킷 파티션)을 지칭한다. - 필연적으로 단 하나의 InfluxDB 백엔드 단일 연결 파이프라인 위에는 여러 개의 분리된 각각의 볼륨 개체 파이프들을 무수히 브랜치(Branch) 생성하여 하위 종속시킬 수 있다. 물리적인 하드 디스크 드라이버 인터페이스 칩셋 하나 위에 C 드라이브, D 드라이브 논리 가상 파티션 섹터를 다분화 나누어 관리하는 운영체제 마운팅 맵 아키텍처와 개념이 완벽히 일치한다.
2) 영속성(Persistence Triggers) 획득 달성의 순간
라우터의 핵심 철학은 평소에 대역폭을 통과해 지나가는 타 메시지 스냅 스트림 패킷들을 굳이 메모리 캐시나 디스크에 잔존 이력으로 남기지 않고 즉각 통과 방면해버리는 파이어-앤-포겟(Fire-and-forget) 휘발성 철학을 전제한다.
하지만 구체적인 파티션(볼륨) 샌드박스가 코어에 마운트 생성 선언되고, 해당 볼륨 데몬이 “특정 스트링 패턴 토픽(Key)“을 감시하도록 필터링 조준 타겟팅되는 순간, 이 볼륨 플러그인 에이전트는 해당 매치된 토픽의 바이트 데이터 배열들을 스니핑(Sniffing)하여 낚아채어 백엔드(DB) 소켓 테이블로 영구적으로 밀어 새겨 기록한다.
단지 OS 전원 오프 시 허무히 소멸할 운명이었던 RAM 메모리 위에서 춤추던 임시 휘발 트랜잭션 수치 메시지가, 불변성을 보장받는 데이터베이스 영구 스토리지 무덤에 물리적으로 비석 레코드로 아카이빙(Archiving) 기록 보존되게 되는 궁극의 영속화 메커니즘이다.
3. Zenoh 라우터 내 스토리지 엔진의 백그라운드 동작 메커니즘
초당 수만 개의 이기종 토픽 경로(Topic Route) 메시지가 광범위하게 L4 버스를 날아다니는 난맥상 속에서, 스토리지는 어떻게 자신에게 책임이 할당된 구역의 데이터 몫만을 충돌 없이 안전하게 스스로 건져 집어 먹고 소화할 수 있는가?
3.0.1 구독자(Subscriber) 노드로 완벽 위장한 스레드 기생수 전술
데이터베이스 전담 어댑터 플러그인이라고 해서 시스템 최고층의 특별한 마스터 커널 관리자 스니퍼 권한을 특혜 부여받은 것이 결단코 아니다. 플러그인 스토리지 서브 엔진은 Zenoh 네트워크 퍼블릭 망 안에서 자신도 철저히 그저 또 다른 평범하고 완벽한 일개 “말단 참여자 클라이언트(Sub Client Node)” 계층으로 신분을 속여 행동한다.
1) L7 스니핑(Sniffing) 훅 패턴의 전형
- 관리자가 라우터 터미널 환경 세팅 파일 안에서
factory/sensor/**패턴 뎁스를 지정하여 빨아들이도록 트리거한 스토리지를 하나 부팅 켰다고 가정하자. - 이 작동 행위의 이면은, 백본에 마운트된 스토리지 프로세스 데몬 스크립트가 로컬 암묵적으로
z_sub "factory/sensor/**"청취 수신 대기 소켓 명령 API 콜을 데몬 내부 루프에서 루틴으로 계속 치고 리스닝 대기 잠복해 앉아 있다는 메커니즘 의미와 100% 동일하다. - 클라우드 망 저 너머 외부 노드에서
Put(발간)패킷이 중앙 백본 라우터로 핑 날아 진입하면, 라우터 브레이커는 다른 일반 수동 클라이언트 관제 앱들에게 브로드캐스팅 분배 패싱 보내주듯 똑같이 백그라운드 대기열 스토리지 워커에게도 그 페이로드 원본 덤프 복사본을 평등하게 던져 넘겨준다. 스토리지는 그 포인터 복사 주소를 덤프 받아 하드디스크(DB) 백엔드로 단순히 인서트(Insert/Write) 구문을 타건 날려 포맷 변환 기록해 주는 일개 맹목 워커 단말 프로세스 릴레이 데몬일 뿐이다.
2) 디스크 덤프 타이밍 강제 동기화 오버헤드 타파 (Asynchronous Flush 버퍼 기법)
수십만 개의 파편화된 데이터 스냅샷이 미친 듯이 쇄도 쏟아져 들어올 때, 그 개별 데이터 족족 하나당 일일이 DB 소켓 커넥티비티(Connectivity) 채널을 매번 오픈 열고 기록 트랜잭션을 맺고 핑 닫는 바인딩 삽질을 강행하면 스토리지 파서의 I/O 연산은 처참히 질식사 마비 지연 락다운(Lock-down)된다. Zenoh 의 세련된 스토리지 엔진 구조망은 데이터를 큐로 넘겨받으면 일단 커스텀 로컬 버퍼 인-메모리 캐시 블록망 안에 순차 우겨넣고(Batch Stacking), 임계치 타이머나 버퍼 허용치에 도달하면 하나로 커다랗게 묶어서 백엔드 소켓으로 통째로 한 번에 Flush 쳐버리는 강력한 비동기 지연 포장(Asynchronous Batch) 아키텍처 패싱으로 짜여 디자인되어 있어서 망망대해의 메인 네트워크 전송 레이턴시(Latency) 지연 병목 파동에 스토리지 가동 전파 체증 지연 타격을 단 1ms도 간섭 전의 시키지 않고 철통 방어 분리해 낸다.
4. Pub/Sub와 Query/Reply 복합 모델이 융합 스토리지 파이프에 미치는 역학적 진화 영향
데이터 웨어하우스 스토리지는 단방향으로 하수구처럼 밀어 데이터를 무한히 수집 구겨 넣기만 해선 절름발이 반쪽짜리 블랙홀 깡통 저장소에 불과하다. 축적된 데이터는 반드시 필요에 따라 역방향으로 픽업(Pick-up) 조회 발췌 추출 리딩하여 다시 외부 바깥으로 꺼내 서비스해야 효용 가치가 성립된다.
Zenoh 스토리지는 이러한 영구 보존 쓰기(Write)의 스로틀 인-바운드와, 기록 과거 발산 읽기(Read) 콜의 타겟 아웃바운드 조회 철학이 극명하게 두 개의 다른 세계선(Protocol Command Space) 통신 철학 체계로 나뉘어 양분 설계되어 독자 분리 작용한다.
4.0.1 이중 양방향 인터페이스망 메커니즘의 딥 해부
1) 저장 Write 전용 인바운드 단방향 인터페이스: Pub/Sub 패러다임 수용
- 라이브 데이터를 DB 파티션에 기록하는 데이터 삽입 레이어(Insertion Layer) 행위는 오직 전용 분산망 단방향
Pub(혹은Put) 발포 패킷 포맷 커맨드를 통해서만 안전하게 트리거되어 기록 이루어진다. - 즉, 최전방 물리 말단단 로봇 제어 칩셋 단말 센서가 “L2 가스 누출 냄새 임계치 스캔 감지됨!” 이라며 긴급
Put알람 팩 패킷 트리거를 그저 허브 공중망(라우팅 네트워크 스페이스) 허공 우주망에 무책임하게 산포 던지기만 하면, 스토리지는 데몬은 그저 백그라운드 옵저버 구독자(Sub) 의 입장에서 그것을 뒤에서 묵묵히 스캔 주워다가 분류 체계 인덱스 맞춰 DB 보존소 파티션 테이블 뎁스 안에 고요히 구겨 넣어 암장 기록 저장 매립한다. 가장 수동적이고 송신자/수신자 의존도를 탈피한 무결점 안정적인 인서트 기록 파이프라인의 완성이다.
2) 추출 Read 전용 아웃바운드 쿼리 응답 인터페이스: Query/Reply 시스템 기전
- 클라우드 최상단 관제 대시보드 웹 렌더링 서버 툴 안에서, 단말이 일방적으로 이관 쏘고 잊어버린 덤프인 지난달 어제 날짜 시간대의 누적 배터리 소비 소모 평활 계측 통계 평균 리딩 값을 단방향으로 조회 발굴하여 꺼내 알고 싶다 가정 해보라. 이 시점에서 절대 휘발성 전역 구독 명령인
Sub청취로는 결코 이미 사면이 묻힌 지나간 흔적인 과거 데드라인의 역사적 데이터를 얻고 스캔 복원해 낼 타이밍 기회가 없다. - 이때 웹 서버 노드는 능동형 조회 발굴
Get쿼리문 API 호출 인터럽트를 라우터 백본 망 메인 버스로 때린다. 발사. - 이
Get쿼리문 데이터 타겟 탐색 수색 핑 조회 패킷 문자가 망 컨베이어 루프 버스를 타고 목적지 타겟 경로를 역추적 해 돌다가, 해당 타겟 도메인 경로 보관 담당 데이터를 영구 관장 홀딩 보관 소유 아카이빙 하고 있는 스토리지의 철문 인그레스 큐 포트 문을 노크 두드린다. (이 순간 이 인프라 관점 체계에서 Zenoh 백엔드 스토리지는 단순한 서구 저장 DB 블랙홀 단말이 아닌 내부적으로 매우 능동형 스탠바이 콜 관제 스마트 거대 Queryable 질의 자동 스마트 응답기 서버 유닛 객체로 승격 취급된다). - 노크 질문 인터럽트를 강제로 받은 스토리지 스레드 에이전트는 하단 로컬에 묶인 백엔드 데이터베이스 마스터 엔진(SQL DB 등) 커넥티비티 뎁스 내부를 관통 향해 직접 치환 변역 쿼리 질의문 SQL 을 날려 발파시켜 원본 로우 타겟팅 과거 수납 아카이빙 객체 덤프 값을 정확히 뽑아 발췌 렌더 파싱 캐시 수령 끌어온 뒤, 그걸 포장해 최초 질의 질문을 요청했던 웹 관제 노드 질문자 단말 소켓 에게 포워딩 주소 복사본 붙여 다이렉트
Reply(응답)캐치볼 패킷 폼으로 곧장 역송 타전 대답 전송하여 리턴 배달해 준다.
Zenoh 스토리지 인프라는 자기 자신이 스스로 외부 다른 노이즈 센서 측을 향해 선제 무작위 쓰레기 패킷을 난사 쏘거나 의미 없는 권한 밖 이격된 구독을 발진 요청하지 않는다. 그저 생태계 궤도를 순환 맴도는 모든 Pub 과 Query 핑거링 스레드가 각자 중력에 이끌려 알아서 이 거대 종착역 스토리지 인박스 단자대 블랙홀 커텍터 큐 벽에 부딪혀서 들어오고 포맷 변형 필터 투과 반사 방출되어 나갈 뿐인 가장 이상적인 수조(Reservoir) 댐 렌더 롤 모델이다.
5. 논리적 키 표현식(Key Expressions)과 이종 데이터 파티셔닝 포워딩 매핑 전략
당신 인프라 엔지니어가 회사 사옥 메인 전산실 서버실 백본 안에 스키마가 판이한 시계열 InfluxDB, 문서 NoSQL MongoDB, 순수 이진 Blob RocksDB 등 성향 특이점이 각기 다른 총 5개의 상이 이기종 거대 데이터베이스 컨테이너 엔진을 동시에 병행 띄워놓고 단일 파이프 Zenoh 라우터 하나 뒤 단에 통째 다중 멀티 마운트 매립 바인딩 결속 묶어 세팅 덤핑 배치했다고 가정 전제하자.
수십만 개의 융단 폭격 페이로드 스냅 토픽 큐 패킷 데이터들이 고단위 메인 허브 라벨 L3 버스망으로 진입 쓰나미 처럼 지나가 쏟아져 들어오는데, 도대체 이 방대한 스냅 덩어리 토픽 버프 객체 하나하나 들이 정확히 상기 5종 DB 단말 엔진 중 도대체 정확히 어떤 어느 DB 종류 엔진 인커밍 포트 내부의, 어느 타겟 구획 뎁스 테이블 버킷 파티션 볼륨 저장 공간 구획 뎁스 라인으로 옥텟 바이트 정렬 필터 유도 맵 통과 귀속 유입되어 격리 스며들어야 할지 락 분기 채널 게이트 지도를 대관절 누가 중앙에서 무슨 근거로 어떤 룰로 판단 정찰 감별 렌더 판단 지시 해주는가?
5.0.1 URL 텍스트 스트링 명칭 규칙 기반의 강제 라우팅(Demultiplexing) 스플릿 병렬 분리 전술 시스템
어떠한 무겁고 별도의 중간 미들웨어 뎁스 단 L7 브로커 어플 로직 서버 룰이나 레거시 정규 복잡한 데이터베이스 라우드 스키마 프로시저 SQL 인계 쿼리문 브릿지 트랜잭션 수술 로직 코딩조차 일절 무 필요하다. 오직 단 하나, 고유의 유니버설 명칭 지시자 “폴더 경로 트리 이름 체계 뎁스(Key Expression 텍스트 서열 구조)” 라벨 스트링 만으로 전체의 파이프 렌더 향방 운명 스펙이 자동 스위칭 필터링 매핑 분류 분산 전송 포맷 패싱된다. 이것이 바로 분산 Zenoh 스토리지 토폴로지 아키텍처가 자랑하는 제로 복잡도 구성 룰의 가장 강력하고 순수 간결 투명한 직관 미학 아키텍처 스플릿의 아름다움이다.
1) 키 표현식 스코핑(Scoping) 범위 할당 및 타겟 지정 마운팅
아키텍처 인프라 매니저는 라우터의 부팅 초기 관장 렌더 구성 컨피그 파일인 .json5(혹은 YAML) 통제 설정 도큐먼트 지시 파일 스크립트 도면 단락 안에서 아래와 같이 간단 명료한 스트링 조율 체계로 모든 중앙 허브 백 트래픽 룰 분산 분리 강제 분단 스니퍼 교통정리 관문 분류망 세팅을 하드 코딩 락 온 라우트 구성 세팅 조작을 종결 커스터이징 지정 편성한다.
// [Zenoh 라우터 백엔드 스토리지 구성 인프라 선언 YAML 도면 예시]
storages: {
// [1번 메인 타겟 볼륨 저장소 분기 노드]: 공장 전체 방범 CCTV 카메라 고대역 로우 영상 스냅 덤프 데이터 전용 랙
video_raw_blob_storage_dump: {
// 트리거 감별 락 핀 롤 지시자: 'video/raw' 경로가 라인 꼬리에 태그 문자로 매칭 찍혀 묻어 들어온 모든 토픽 스트림 덤프 패킷은!
key_expr: "factory/**/video/raw",
// 오로지 무식하게 입출력 디스크 스루풋 I/O 쓰기 성능 속도 퍼포먼스 하나에만 올인 몰빵 극한 치중 특화 최적 설계 세팅된 로컬 파일형 순수 이진 매립 캐시 특화 DB 인 C++ RocksDB 엔진 워커 라인 굴뚝 채널 구멍 인바운드 블랙홀 큐 터널 포트 안으로 모조리 다 단독 분기 바이패싱 전량 직결 푸시 밀어 던져 패스시켜 파싱 넣어버려라!
backend: "rocksdb",
},
// [2번 특화 타겟 볼륨 저장소 서브 백 노드분기]: 공정 내 모든 아날로그 엣지 온도 습도 스칼라 핑 센서 데이터 로깅 아카이빙(시계열 타임스탬프) 백업 뷰 창고 전담 랙
temp_log_sensor_time_storage: {
// 트리거 감별 분기 롤 라벨 지시표: 문구 끝 단어 'sensor/temp' 경로 스트링 주소명 접미사 텍스트가 박혀 헤더에 부착 인코딩 라벨링 찍혀 날치기 날아 도착 착륙해 도래 스위칭 매칭 유입 접근 들어온 들어온 가벼운 모든 JSON 플로트 페이로드 스트림 핑 문자열 텍스트 로그 토픽 데이터 패킷은 일괄!
key_expr: "factory/**/sensor/temp",
// 묻지도 따지지도 않고 시계열 타임 아카이빙 분석 백 렌더링 인덱싱 전개 파싱에 극단적 메모리 정렬 구조 특화 장점 강점을 발휘 구성 엔진 코어로 최적 발휘 태생 지닌 타임 라인 전문 DB 인 InfluxDB 모듈 백엔드 처리 전담 터널 망 소켓 인박스 파싱 워커 포트 접점 안쪽으로만 모두 전량 집중 격리 분류 전원 투입 분류 통과 흡수시켜 라우팅 몰아 밀어 이관 덤핑 수용 집어 배송 던져 안착 수집 세이브 기록 연결 밀어 넣어 버려라!
backend: "influxdb",
}
}
오직 최상위 라우팅 설정 파일 단 10줄 이내의 단순 명쾌 구문 렌더 이 이분법 논리 세팅 단 두 줄, 단 두 경로 할당 패스 타겟 지시 규칙 스위칭 라벨 배정 단 한 번의 스트립트 작성 마운팅 통제 선언 코드 세팅 지정만으로 인하여, 실제 에지 디바이스 로봇 장비 클라이언트 단말 노드들이 허브 에 공중 광역 배포 쏴 대는 수십, 수십만 개의 불규칙 혼재 패킷 뭉치 스트림 덤프 파도 파편들 중, video 라는 속성 딱지 문자열 명칭 헤더 경로 라벨 텍스트가 달린 고용량 데이터는 RocksDB 워커 스택 파서 데몬이 전원 독식 빨아먹어 저장 수납 통과 흡수시키고, temp 라는 스칼라 시계열 라벨 문자 헤더가 붙은 가벼운 숫치 데이터 덩어리는 InfluxDB 플러그인 워커 데몬 파서 파워 가 일괄 전담 선별 독점 픽업 흡수 빨아먹어 렌더링 삼키는, 철저히 무결점 완전 분단 완전 물리 병렬 분산 분리 이질적 스토어 격리 저장 분류 패싱 최적 분리 라우팅 트래픽 스위치 분할 다이버전 병렬 입출력 패스 분할 로드 밸런싱 아카이빙 구축 큐 처리 극단적 병렬 분리 트랜잭션 라우팅 로드 분리 분류 데이터 통과 매핑 인프라 스펙이 군더더기 오차 지연 일절 없이 극도로 깔끔 청정 매끄럽게 분류 스플릿 구축 완성 수립 달성 완료된다.
최상위 백본 파이프 라우팅 단말 스탠다드 프로토콜 아키텍처 세계관 관점 인프라 궤적 내에서는, 로우 디바이스가 자체 표기 날인 발송 헤더 지정한 임의 네이밍 주소 문자 경로 문자열, 즉 발간 토픽 경로 네임스페이스 경로 이름(Key Route URL) 그 자체 문자열 단어 가 곧 데이터베이스 이관 이체 격리 분할 타겟 도착 통제 렌더 통제 대상 지수 버킷 물리 파티션 매핑 테이블(Table) 이름인 셈이고, 그것이 바로 서버 레코드 분류 지도가 되며, 분기 저장 속성 컬럼 타입 룰 구조 스펙을 통합 가르고 나눌 필터 스플릿 렌더 잣대 그 본질 인덱스 룰 분배 스키마(Schema) 구조체 분류 뼈대 지표 라벨 그 자체가 되어버리는 혁신 이 이룩 성립 도달 통합 귀결 완료되는 것이다.