같은 표현으로 읽고 전달하기
메시지의 배치는 메모리 접근과 전송을 함께 고려한다. 필드의 크기와 위치 및 정렬을 정하고, 위치가 달라져도 메시지를 사용할 수 있도록 절대 주소 대신 상대 위치를 사용한다.
선택적인 자료 접근
메시지의 특정 필드만 읽을 수 있어 전체 내용을 먼저 변환할 필요를 줄인다. 생성된 접근 코드는 포인터의 범위를 확인하면서 메시지 안의 자료를 따라간다.
패킹과 원래 표현
고정 크기 필드와 정렬 때문에 빈 바이트가 생길 수 있다. 전송량이 중요한 경우에는 패킹을 적용해 이런 바이트를 줄일 수 있으며, 이는 원래 메모리 배치와 구분되는 추가 표현이다.
관련 문서
FlatBuffers / 프로토콜 버퍼 / Apache Avro / Apache Arrow / 직렬화 / 데이터 압축