6P by xguru 2020-06-22 | favorite | 댓글 2개

- 구글의 고성능 직렬화 라이브러리 FlatBuffers는 Schema 기반으로 동작하는데,
ㅤFlexBuffers 는 스키마 없는 데이터를 저장하고자 할 때 쓸수 있게 만든 전용 포맷
- (당연히) 타입체킹은 할 수 없지만, 파싱/복사/객체 할당 없이 효율적으로 액세스 가능
- 컴팩트한 인코딩을 구현하여 대부분의 경우 일반 FlatBuffers 보다 더 작은 바이너리를 생성
ㅤ→ 아직 속도는 FlatBuffers 보다 느림

- FlatBuffers 는 구글에서 게임이나 성능이 중요한 어플리케이션을 위해 개발된 크로스 플랫폼 직렬화 라이브러리. 대부분의 언어 지원

Data Serialization Library 들 분류
- Schema-ful, copying: Protobuf[1], Thrift[2], Parquet[3](Thrift 기반) 외 다수
- Schema-ful, zero-copy: Cap'n'proto [4], Flatbuffers[5], Apache Arrow[6](Flatbuffers 기반)
- Schema-less, copying: Json (바이너리 및 기타 변형들 포함 ), XML
- Schema-less, zero-copy: Flexbuffers ⇦ NEW!

[1] https://developers.google.com/protocol-buffers
[2] http://thrift.apache.org/
[3] https://parquet.apache.org/
[4] https://capnproto.org/
[5] https://google.github.io/flatbuffers/
[6] https://arrow.apache.org/

HN의 댓글에 정리가 잘 되어서 가져왔습니다 https://news.ycombinator.com/item?id=23588844