전체 변환을 줄이는 접근
일반적인 직렬화 사용 과정은 바이트를 읽어 별도의 객체 표현으로 변환할 수 있다. FlatBuffers는 필요한 자료를 버퍼에서 직접 읽어 이런 중간 변환과 객체 할당의 부담을 줄이려는 설계다.
스키마와 생성 코드
자료 구조는 스키마로 정의하고 언어별 코드를 통해 접근한다. 서로 다른 지원 언어가 같은 형식의 자료를 다룰 수 있으며, 필요한 필드를 선택해서 읽는 방식으로 활용한다.
형식의 발전
응용이 바뀌면 저장할 필드도 변할 수 있다. FlatBuffers는 이전 자료 및 코드와의 호환성을 고려한 스키마 변경을 지원하며, 변경은 정해진 형식 규칙에 맞춰 수행한다.
관련 문서
프로토콜 버퍼 / Apache Avro / Apache Arrow / 불변객체 / 직렬화 / JSON