Repolode
RoaringBitmap

RoaringBitmap/RoaringBitmap

다른 형식보다 적은 메모리로 정수 집합의 집합 연산을 빠르게 수행하는 압축 비트맵(Roaring bitmap) Java 라이브러리입니다.

스타
3,956
포크
599
열린 이슈
81
마지막 커밋
3일 전

어떤 프로젝트인가요?

RoaringBitmap은 정수 집합을 압축 비트맵으로 저장하는 Java 라이브러리입니다. 값을 65,536개 단위의 청크로 나누고 각 청크마다 배열, 비트맵 또는 런렝스 컨테이너를 선택하므로, WAH, EWAH, Concise 같은 런렝스 형식보다 메모리를 적게 사용하면서 임의 접근과 빠른 교집합·합집합·차집합 연산을 지원합니다.

이 라이브러리는 32비트 비트맵, 64비트 비트맵(Roaring64Bitmap 및 Roaring64NavigableMap), org.roaringbitmap.buffer 패키지를 통한 메모리 매핑 불변 비트맵, copy-on-write 비트맵, 범위 쿼리를 위한 RangeBitmap을 제공합니다. 비트맵은 C/C++ 및 Go 구현과 공유하는 형식으로 직렬화할 수 있습니다.

Apache Spark, Apache Hive, Apache Druid, Apache Pinot, Apache Iceberg, Apache Flink 등의 프로젝트에서 주로 데이터베이스와 검색 엔진의 인덱싱 및 집합 연산에 사용합니다.

핵심 기능

  • 01정수 집합에 대해 AND, OR, XOR, ANDNOT 연산을 빠르게 수행하는 압축 비트맵입니다.
  • 02비트맵 전체를 압축 해제하지 않고도 임의 접근(contains, rank, select)을 할 수 있습니다.
  • 03Roaring64Bitmap 및 Roaring64NavigableMap으로 64비트 정수를 지원합니다.
  • 04메모리 매핑 불변 비트맵과 copy-on-write 가변 비트맵을 제공합니다.
  • 05미만 및 초과 조건과 같은 범위 쿼리에 RangeBitmap을 사용할 수 있습니다.
  • 06C/C++ 및 Go 구현과 호환되는 직렬화 형식을 지원합니다.

활용 사례

  • 데이터베이스나 검색 엔진에서 역색인 또는 행 ID 집합을 구축합니다.
  • Java 서비스에서 대규모 문서 ID 또는 사용자 ID 집합의 교집합을 빠르게 계산합니다.
  • 대규모 정수 집합을 메모리 또는 메모리 매핑 파일에 더 적은 RAM으로 저장합니다.
  • 분석 코드의 숫자형 열에 범위 필터링을 추가합니다.

빠른 시작

  1. 1

    Maven Central 의존성을 pom.xml에 추가합니다

  2. 2

    Java 코드에서 RoaringBitmap 클래스를 사용합니다(import org.roaringbitmap.RoaringBitmap)

토픽

#bitset#bitmap#compression#data-structures#java#indexing#set-operations#druid#lucene#roaring-bitmaps

자주 묻는 질문

RoaringBitmap은(는) 무엇인가요?
다른 형식보다 적은 메모리로 정수 집합의 집합 연산을 빠르게 수행하는 압축 비트맵(Roaring bitmap) Java 라이브러리입니다. RoaringBitmap은 정수 집합을 압축 비트맵으로 저장하는 Java 라이브러리입니다. 값을 65,536개 단위의 청크로 나누고 각 청크마다 배열, 비트맵 또는 런렝스 컨테이너를 선택하므로, WAH, EWAH, Concise 같은 런렝스 형식보다 메모리를 적게 사용하면서 임의 접근과 빠른 교집합·합집합·차집합 연산을 지원합니다.
RoaringBitmap은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
RoaringBitmap은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
RoaringBitmap은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. RoaringBitmap의 마지막 커밋은 2026년 11월 4일입니다.
RoaringBitmap은(는) 어디에 사용할 수 있나요?
데이터베이스나 검색 엔진에서 역색인 또는 행 ID 집합을 구축합니다. Java 서비스에서 대규모 문서 ID 또는 사용자 ID 집합의 교집합을 빠르게 계산합니다. 대규모 정수 집합을 메모리 또는 메모리 매핑 파일에 더 적은 RAM으로 저장합니다. 분석 코드의 숫자형 열에 범위 필터링을 추가합니다.
RoaringBitmap는 어떻게 설치하나요?
Maven Central 의존성을 pom.xml에 추가합니다 Java 코드에서 RoaringBitmap 클래스를 사용합니다(import org.roaringbitmap.RoaringBitmap)
RoaringBitmap은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/RoaringBitmap/RoaringBitmap

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

라틴 문자와 CJK(중국어, 일본어, 한국어) 문자를 지원하는 산세리프 고딕 스타일의 오픈소스 픽셀 폰트입니다.

기타#pixel-font#bitmap-font#font
4.8천+5 이번 주100HTMLMIT활발히 관리됨업데이트 어제