UpBit: Scalable In-Memory Updatable Bitmap Indexing
2017.04.25 14:27
ABSTRACT
Bitmap indexes are widely used in both scientific and commercial
databases. They bring fast read performance for specific types
of queries, such as equality and selective range queries. A major
drawback of bitmap indexes, however, is that supporting updates
is particularly costly. Bitmap indexes are kept compressed to minimize
storage footprint; as a result, updating a bitmap index requires
the expensive step of decoding and then encoding a bitvector. Today,
more and more applications need support for both reads and
writes, blurring the boundaries between analytical processing and
transaction processing. This requires new system designs and access
methods that support general updates and, at the same time,
offer competitive read performance.
In this paper, we propose scalable in-memory Updatable Bitmap
indexing (UpBit), which offers efficient updates, without hurting
read performance. UpBit relies on two design points. First, in addition
to the main bitvector for each domain value, UpBit maintains
an update bitvector, to keep track of updated values. Effectively, every
update can now be directed to a highly-compressible, easy-toupdate
bitvector. While update bitvectors double the amount of uncompressed
data, they are sparse, and as a result their compressed
size is small. Second, we introduce fence pointers in all update
bitvectors which allow for efficient retrieval of a value at an arbitrary
position. Using both synthetic and real-life data, we demonstrate
that UpBit significantly outperforms state-of-the-art bitmap
indexes for workloads that contain both reads and writes. In particular,
compared to update-optimized bitmap index designs UpBit is
15-29 faster in terms of update time and 2:7 faster in terms of
read performance. In addition, compared to read-optimized bitmap
index designs UpBit achieves efficient and scalable updates (51-
115 lower update latency), while allowing for comparable read
performance, having up to 8% overhead.
댓글 1
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 57 | 2019년 2학기 데이터베이스 기말고사(101, 102 분반) | 관리자 | 2019.12.17 | 6800 |
| 56 | 5월 2일(목) Java프로그래밍 휴강 | 관리자 | 2019.05.01 | 6756 |
| 55 | 연구실원 모집 | 관리자 | 2022.03.09 | 6720 |
| 54 | 데이터베이스 101분반 월요일(12월 3일) 10시 수업합니다 | 관리자 | 2018.11.30 | 6690 |
| 53 | 데이터베이스및실습 기말고사 17일(월) 오후 8시입니다 | 관리자 | 2018.12.03 | 6575 |
| 52 | 정보 및 데이터 베이스 연구실 연구생 모집 | 관리자 | 2023.08.04 | 6530 |
| 51 | 연구실원 모집 | DBADMIN | 2023.08.03 | 6491 |
| 50 | 연구실원 모집 | 관리자 | 2024.10.14 | 6359 |
| 49 |
최종보고서 양식
| 관리자 | 2020.09.07 | 6339 |
| 48 |
김동연 석사 졸업
| 관리자 | 2024.12.27 | 6334 |
| 47 |
LSTAFF (Flash Memeory)
| 관리자 | 2006.05.29 | 6320 |
| 46 | Specification을 볼때 알아야할 의미 | 관리자 | 2009.01.21 | 6077 |
| 45 | 물류 관리 시스템 프로젝트[옥충기] | 관리자 | 2005.12.14 | 5853 |
| 44 | 도서관 관리 시스템[이득룡] | 관리자 | 2005.12.14 | 5846 |
| 43 |
분산객체시스템 5장 강의노트
| 관리자 | 2005.12.14 | 5684 |