Hello Tidy Bot, Kudu Jenkins, Todd Lipcon,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/11722

to look at the new patch set (#3).

Change subject: KUDU-2038: Support bitmap index
......................................................................

KUDU-2038: Support bitmap index

The bitmap index can be added to the picked column when creating or
altering table, and also can be dropped whenever you don't like it.

After adding index, the bitmap info will be created on every disk
rowset, and it is composed of two parts, column values and bitmap
data. Notice that there is no bitmap info on memory rowset. And,
the bitmap info is generated during compaction, DiskRowSet Compaction
and Major Compaction.

The mutability on the index column is allowed, including deletion and
update. It will be to invalidate the bitmap info according to the
type of mutability. The delete operation will be affect all of the
bitmap info in the disk rowset, and the update operation is only
affect the changed column.

The bitmap index is good for the predicates of Equality and InList.
The benchmark test shows that it can speed up 10x in the case of
unidimensional filtering when the cardinality is sparse and the case
of multidimensional filtering when the cardinality is dense.

Change-Id: I0edaa0ef1dba2dbce85ebf15f0a731e4939a7860
---
M CMakeLists.txt
A cmake_modules/FindCRoaring.cmake
M src/kudu/client/schema-internal.h
M src/kudu/client/schema.cc
M src/kudu/client/schema.h
M src/kudu/client/table_alterer-internal.cc
M src/kudu/common/common.proto
M src/kudu/common/partial_row-test.cc
M src/kudu/common/scan_spec.cc
M src/kudu/common/scan_spec.h
M src/kudu/common/schema-test.cc
M src/kudu/common/schema.cc
M src/kudu/common/schema.h
M src/kudu/common/wire_protocol.cc
M src/kudu/gutil/manual_constructor.h
M src/kudu/gutil/port.h
M src/kudu/master/catalog_manager.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/all_types-scan-correctness-test.cc
M src/kudu/tablet/cfile_set-test.cc
M src/kudu/tablet/cfile_set.cc
M src/kudu/tablet/cfile_set.h
A src/kudu/tablet/column_index_base.h
A src/kudu/tablet/column_index_bitmap.cc
A src/kudu/tablet/column_index_bitmap.h
A src/kudu/tablet/column_index_bitmap_data.cc
A src/kudu/tablet/column_index_bitmap_data.h
A src/kudu/tablet/column_index_set-test.cc
A src/kudu/tablet/column_index_set.cc
A src/kudu/tablet/column_index_set.h
M src/kudu/tablet/compaction-test.cc
M src/kudu/tablet/compaction.cc
M src/kudu/tablet/delta_applier.cc
M src/kudu/tablet/delta_compaction.cc
M src/kudu/tablet/delta_compaction.h
M src/kudu/tablet/delta_iterator_merger.cc
M src/kudu/tablet/delta_iterator_merger.h
M src/kudu/tablet/delta_stats.cc
M src/kudu/tablet/delta_stats.h
M src/kudu/tablet/delta_store.h
M src/kudu/tablet/delta_tracker.cc
M src/kudu/tablet/deltafile.cc
M src/kudu/tablet/deltafile.h
M src/kudu/tablet/deltamemstore.cc
M src/kudu/tablet/deltamemstore.h
M src/kudu/tablet/diskrowset-test.cc
M src/kudu/tablet/diskrowset.cc
M src/kudu/tablet/diskrowset.h
M src/kudu/tablet/memrowset.h
M src/kudu/tablet/metadata.proto
M src/kudu/tablet/mock-rowsets.h
M src/kudu/tablet/mt-diskrowset-test.cc
M src/kudu/tablet/mt-rowset_delta_compaction-test.cc
M src/kudu/tablet/rowset.cc
M src/kudu/tablet/rowset.h
M src/kudu/tablet/rowset_metadata.cc
M src/kudu/tablet/rowset_metadata.h
M src/kudu/tablet/tablet-decoder-eval-test.cc
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet_history_gc-test.cc
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_fs.cc
M src/kudu/tools/tool_action_local_replica.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/vars.sh
67 files changed, 2,593 insertions(+), 57 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/22/11722/3
--
To view, visit http://gerrit.cloudera.org:8080/11722
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0edaa0ef1dba2dbce85ebf15f0a731e4939a7860
Gerrit-Change-Number: 11722
Gerrit-PatchSet: 3
Gerrit-Owner: helifu <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-Reviewer: helifu <[email protected]>

Reply via email to