YaFF: Protobuf 기반 C++ 서비스의 읽기 비용을 줄이는 도구
YaFF는 를 쓰는 C++ 서버에서 데이터를 더 빠르게 읽기 위한 오픈소스 직렬화 라이브러리다. 기존의 .proto 파일은 그대로 계약서처럼 쓰고, 실제 저장·전송되는 만 바꾼다.
읽기가 많은 고부하 구간에서는 데이터를 해석하고 객체로 바꾸는 과정이 를 많이 쓸 수 있는데, YaFF는 이 비용을 줄이는 데 초점을 둔다. 처럼 복사 없이 읽는 방식을 원하지만 기존 중심 코드베이스를 크게 바꾸기 어려운 팀을 겨냥한다.
큰 로컬 색인 파일을 빠르게 여는 데 유리한 메모리 매핑 호환 구조를 지원하고, CMake나 Conan으로 붙일 수 있다. 아직 초기 단계이며 현재는 C++만 지원하고, 다른 언어 지원은 계획 단계다.
핵심 포인트
- 의 .proto 파일은 유지하면서 실제 데이터 표현 방식을 바꾼다.
- 읽기가 많은 서버 경로에서 해석 비용을 줄이는 데 초점을 둔다.
- 복사 없이 읽는 방식으로 성능을 높이려는 C++ 프로젝트에 맞다.
- 큰 로컬 색인과 빠른 시작을 위해 메모리 매핑 호환 구조를 지원한다.
- 현재는 C++만 지원하며 다른 언어는 아직 계획 단계다.