rocksdb/table
kailiu 1415f8820d Improve the "table stats"
Summary:
The primary motivation of the changes is to make it easier to figure out the inside of the tables.

* rename "table stats" to "table properties" since now we have more than "integers" to store in the property block.
* Add filter block size to the basic table properties.
* Whenever a table is built, we'll log the table properties (the sample output is in Test Plan).
* Make an api to expose deleted keys.

Test Plan:
Passed all existing test. and the sample output of table stats:

    ==================================================================
        Basic Properties
    ------------------------------------------------------------------
                  # data blocks: 1
                      # entries: 1

                   raw key size: 9
           raw average key size: 9
                 raw value size: 9
         raw average value size: 0

                data block size: 25
               index block size: 27
              filter block size: 18
         (estimated) table size: 70

                  filter policy: rocksdb.BuiltinBloomFilter
    ==================================================================
        User collected properties: InternalKeyPropertiesCollector
    ------------------------------------------------------------------
                    kDeletedKeys: 1
    ==================================================================

Reviewers: dhruba, haobo

Reviewed By: dhruba

CC: leveldb

Differential Revision: https://reviews.facebook.net/D14187
2013-11-19 16:29:42 -08:00
..
block.cc Implement a compressed block cache. 2013-11-01 14:31:35 -07:00
block.h Implement a compressed block cache. 2013-11-01 14:31:35 -07:00
block_based_table_builder.cc Improve the "table stats" 2013-11-19 16:29:42 -08:00
block_based_table_builder.h Implement a compressed block cache. 2013-11-01 14:31:35 -07:00
block_based_table_factory.cc Follow-up Cleaning-up After D13521 2013-10-30 10:52:33 -07:00
block_based_table_factory.h Follow-up Cleaning-up After D13521 2013-10-30 10:52:33 -07:00
block_based_table_reader.cc Improve the "table stats" 2013-11-19 16:29:42 -08:00
block_based_table_reader.h Improve the "table stats" 2013-11-19 16:29:42 -08:00
block_builder.cc Make the options in table_builder/block_builder less misleading 2013-11-16 23:21:15 -08:00
block_builder.h Make the options in table_builder/block_builder less misleading 2013-11-16 23:21:15 -08:00
block_test.cc Make the options in table_builder/block_builder less misleading 2013-11-16 23:21:15 -08:00
filter_block.cc Add the index/filter block cache 2013-11-12 22:46:51 -08:00
filter_block.h Add the index/filter block cache 2013-11-12 22:46:51 -08:00
filter_block_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
flush_block_policy.cc Don't not suggest flushing data when data block is still empty 2013-11-11 21:05:16 -08:00
format.cc Fix stress test failure when using mmap-reads. 2013-11-06 15:40:26 -08:00
format.h Implement a compressed block cache. 2013-11-01 14:31:35 -07:00
iter_heap.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
iterator.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
iterator_wrapper.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
merger.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
merger.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
table_reader_bench.cc Add an option to table_reader_bench to access the table from DB And Iterating non-existing prefix case. 2013-11-15 22:23:12 -08:00
table_test.cc Improve the "table stats" 2013-11-19 16:29:42 -08:00
two_level_iterator.cc Fix slow no-io iterator 2013-11-06 14:11:52 -08:00
two_level_iterator.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00