최근 HN의 유전체 데이터 압축 글(링크)을 보고 OpenZL 이야기를 참으려고 애를 많이 썼음, 데이터에 정말 간단한 변환만 해도 압축 효율을 크게 올릴 수 있음을 제대로 보여주는 사례임, OpenZL도 내부적으로 이런 변환을 쉽게 할 수 있음(SDDL 활용)
그 글이 바로 떠올랐음, 혹시 거기서 언급된 특수 압축기와 OpenZL을 비교해본 경험이 있는지 궁금함, 예시로 Grace Blackwell의 2.6Tbp 661k 데이터셋은 미생물 유전체 벤치마크에서 고전이고, Karel Břinda의 MiniPhy 방식은 이걸 2.46TiB에서 27GiB(압축률 91)까지 줄임, 비슷한 결과가 가능할지 궁금함
일반적인 유전체 포맷(fa, fq, sam, vcf)에서 벤치마크 결과를 보고 싶음, 특히 nanopore 데이터에의 적용 가능성이 궁금함, FAST5/POD5 저장이 까다로워서 유용한 데이터를 많이 잃고 있음
[0] 글 작성자임, 참아줘서 축하하고 잘했음, 꼭 써보고 싶음, fasta 압축기 트레이닝에 대해 OpenZL 가이드(링크) 외에 추가적으로 조언할 점 있는지 궁금함
조금 관련된 이야기로 최근 F3 파일 포맷 관련 토론(링크)이 있었는데, 여기도 decompressor 코드를 WASM으로 임베딩해 포맷 인지 압축이 가능함, F3의 주동기는 미래 호환성이지만 맞춤형 압축 알고리즘을 쓸 수 있음, 접근 방식이 OpenZL이랑 완전히 다르고, OpenZL의 의존성도 훨씬 가벼운 편임(SDDL compiler/runtime만 필요)
zpaq도 이미 15년간 임베디드 decompressor 기능이 있었는데 언급이 없어 아쉬움
압축 파일에 실행 가능한 코드 포함하면 바이러스 취약점이 커지는 게 아닌지 걱정됨
정말 꽤 좋은 툴이 나옴에 놀람, 훨씬 일찍 나왔어야 했다고 생각함, 데이터 컨테이너 구조를 제대로 파악하면 중복제거 효율이 엄청 올라감, BSD-3-Clause 라이선스에 깔끔한 C++ 구현, 문서화도 훌륭함, 더 많은 파일 포맷이 추가되는 발전이 기대됨
파일 포맷 특성화는 기존에도 있었던 방법(예: 7-Zip의 x86 opcode prefilter, ZPAQ의 specialized decoder bytecode 임베딩)이지만 OpenZL의 실제 구현, 데이터 기술 방식, 트레이닝 시스템은 인상적임
내가 이해한 게 맞으면, SDDL로 데이터 구조를 기술하면 압축기가 각 부분에 맞는 최적 압축 전략을 세울 수 있는 것 같음, 정말 멋져 보임, 커스텀 포맷 압축에 일반적인 프레임워크로 발전할 수 있으면 좋겠음
맞음! SDDL(링크)은 no-code로 이런 일을 할 수 있는 툴킷을 제공함, 기능은 아직 제한적이지만 앞으로 확장 예정임, 그 전에는 C++나 Python으로 직접 포맷 파서도 만들 수 있음, 참고로 이 코드는 압축기 측에만 필요하고, 디컴프레서는 포맷 무관하게 작동함
이 툴은 seekable compression을 지원하는지 궁금함
문서 보며 AI가 imhex, Kaitai 같은 기존 기술 설명을 얼마나 잘 SDDL로 변환해줄지 궁금함, 이 방법이면 좋은 스키마를 금방 모을 수 있을 것 같음
이런 툴들이 있는지 처음 알았는데, 진짜 SDDL로 전환 가능할 듯, 꼭 확인해볼 계획임
Meta의 Nimble은 OpenZL(pre-OSS 버전)이 네이티브로 통합되어 있고, 매우 큰 이점을 보고 있음
컬럼 기반 데이터 포맷의 백엔드 압축은 OpenZL과 찰떡임, 압축 대상 데이터가 i64나 float 같은 숫자라는 걸 알면 Zstandard보다 바로 큰 이점이 나옴
로그 데이터(스키마 미확정된 JSON 로그)에 OpenZL이 적합한지 궁금함, 로그 압축 툴 개발 중임(링크)
Non-Linear Compression(비선형 압축)은 예전에 조금 아이디어를 갖고 시도해봤으나 멀리 가진 못했음(링크), 이런 시도를 봐서 매우 반가움, 공유 감사함
진짜 미쳤을 정도로 흥미로워 보임, 오늘 저녁에 대용량 CSV에 꼭 시도해 볼 예정임
사용 경험 알려주면 좋겠음, OpenZL은 원래 Meta 내부 사용 목적으로 개발함, 최근엔 외부 사용자도 쉽게 쓸 수 있도록 많은 노력을 기울임, 피드백 환영함