제퍼넷 로고

너무 풍부하거나 얇지 않음: Sqlite 80% 압축

시간

영상

우리는 파일을 사용할 수 있는 중간 정도의 복잡성에도 SQLite를 사용하는 열렬한 팬입니다. 장점은 많지만 때로는 파일 스토리지에 의존하고 싶을 때가 있습니다. [Phiresky]는 이에 대한 훌륭한 답변을 제공합니다. sqlite-zstd 확장은 다음을 제공합니다. SQLite를 위한 투명한 행 수준 압축.

물론 다른 옵션이 있지만 게시물에서 언급했듯이 각각에는 몇 가지 단점이 있습니다. 그러나 테이블의 각 행을 압축하면 다른 방법의 단점 없이 임의 액세스를 유지할 수 있습니다.

압축된 테이블에는 압축되지 않은 보기와 기본 압축된 테이블이 있습니다. 압축 사전은 각 테이블에 대해 로드되고 성능을 향상시키기 위해 캐시됩니다. 응용 프로그램의 관점에서 압축되지 않은 보기는 그냥 일반 테이블이며 코드를 변경할 필요가 없습니다.

성능에 도움이 될 수 있는 압축 그룹 데이터 방법을 선택할 수 있습니다. 예를 들어, 고정된 수의 행을 함께 청크하는 대신 날짜를 기반으로 레코드 그룹을 압축하거나 변경되지 않는 테이블에 유용할 수 있는 단일 사전을 고정할 수도 있습니다.

성능에 대해 말하자면 압축 해제는 즉석에서 이루어지지만 압축 및 사전 구축은 데이터베이스가 유휴 상태일 때 백그라운드에서 수행됩니다. 물론 벤치마크는 약간의 성능 저하를 보여주지만 항상 그렇습니다. 속도를 공간과 교환해야 합니다. 반면 랜덤 액세스의 경우 읽을 데이터가 적기 때문에 압축된 테이블을 사용하는 것이 실제로 더 빠릅니다. 그러나 그 당시에는 압축이 발생하지 않았음에도 불구하고 임의 업데이트가 더 느렸습니다.

빠른 시작을 원하시면 SQLite를 사용하면 Linux Fu가 있습니다. 그에 대한. 당신은 심지어 사용할 수 있습니다 Git과 유사한 시스템으로 버전 관리, 기존 파일에 대한 또 다른 이점.

spot_img

최신 인텔리전스

spot_img