From 36252db3acd21e1e6fe4b5177d0baee3f3ef2a31 Mon Sep 17 00:00:00 2001 From: xiaoyuwei Date: Mon, 13 Dec 2021 18:07:43 +0800 Subject: [PATCH 1/2] [HUDI-2999] rfc for consistent hashing index --- rfc/rfc-42/basic_bucket_hashing.png | Bin 0 -> 26942 bytes rfc/rfc-42/bucket_resizing.png | Bin 0 -> 53114 bytes rfc/rfc-42/consistent_hashing.png | Bin 0 -> 38682 bytes rfc/rfc-42/rfc-42.md | 215 ++++++++++++++++++++++++++++ 4 files changed, 215 insertions(+) create mode 100644 rfc/rfc-42/basic_bucket_hashing.png create mode 100644 rfc/rfc-42/bucket_resizing.png create mode 100644 rfc/rfc-42/consistent_hashing.png create mode 100644 rfc/rfc-42/rfc-42.md diff --git a/rfc/rfc-42/basic_bucket_hashing.png b/rfc/rfc-42/basic_bucket_hashing.png new file mode 100644 index 0000000000000000000000000000000000000000..3cdfcef5f6b03a2ed55f96c250e9617645374f15 GIT binary patch literal 26942 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 literal 0 HcmV?d00001 diff --git a/rfc/rfc-42/bucket_resizing.png b/rfc/rfc-42/bucket_resizing.png new file mode 100644 index 0000000000000000000000000000000000000000..ce41be9b6c9a8d41b6ba1a95ed0c8d741c31a02c GIT binary patch literal 53114 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

g;b!GaN5#_u%i{$Zs93OLeS7@& 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 JtAtVD{{Zu# +# RFC-42: Consistent Hashing Index for Dynamic Bucket Number + + +## Proposers + +- @HuberyLee +- @hujincalrin +- @stream2000 +- @YuweiXiao + +## Approvers + + - @garyli1019 + - @leesf + - @vinothchandar + +## Status + +JIRA: [HUDI-3000](https://issues.apache.org/jira/browse/HUDI-3000) + +> Please keep the status updated in `rfc/README.md`. + +## Abstract + +Hudi supports `Upsert` operation to de-duplicate records in a table, which depends on indexing schemes to perform record location lookup. +Among many index options, bucket index (in progress, [RFC-29](https://cwiki.apache.org/confluence/display/HUDI/RFC+-+29%3A+Hash+Index)) achieves promising Upsert performance, around ~3x improvement on throughput compared to using Bloom Filter. +However, it requires pre-configure a fixed bucket number and cannot be changed afterwards. +Combined with the design of one-one mapping between hash buckets and file groups, hudi tables with bucket index have some practical issues, such as data skew and unlimited file group size, which now can only be resolved by resetting a suitable bucket number through re-writing the whole table. + +This proposal wants to tackle these problems by introducing **Consistent Hashing Index**. +It achieves bucket resizing by splitting or merging several local buckets (i.e., only large file groups) while leaving most buckets untouched. +This feature allows us to adjust bucket number dynamically in a background service with minimal impacts on downstream systems relying on Hudi. +For example, concurrent readers and writers are not blocked during the resizing. + + +## Background + +Hudi supports the primary key concept from day one through a write operation called `Upsert`. +To correctly enforce the uniqueness of keys, `Upsert` performs indexing to locate data files where every record belongs. +One of the index implementations is `Bucket Index`, shown in the following figure. +It distributes records to buckets using a hash function, and each bucket corresponds to a single file group (i.e., one-one mapping). +This simple yet effective design reduce the time complexity of the key lookup to constant time (i.e., hash function computation), bringing good write performance. + +![bucket index](./basic_bucket_hashing.png) + +However, there are also some limitions. +As described in [RFC-29](https://cwiki.apache.org/confluence/display/HUDI/RFC+-+29%3A+Hash+Index), the one-one mapping between buckets and file groups may cause data skew and doesn't scale well. +One solution to address these problems is allowing one bucket to have multiple file groups, which in turn requires indexing to be performed inside each bucket. + +Another solution, that this proposal chooses, is to adjust bucket number dynamically based on Consistent Hashing. +In contrast to a standard re-hashing process, which needs shuffling of the whole table, Consistent Hashing constrains the re-hashing process to touch several local buckets (e.g, only large file groups). +The figure below shows a basic Consistent Hashing algorithm: + +![consistent hashing index](./consistent_hashing.png) + +Hash value is obtained by computing `Hash(v) % 0xFFFF`, which falls into a pre-defined range (i.e., [0, 0xFFFF] in the figure). +Then a range mapping is applied to the hash value to get the final bucket. +The figure also demonstrates a local bucket split process, where Bucket #2 is split into two children buckets and increases the total number of buckets by one. +Compared to a traditional hashing scheme, Consistent Hashing introduces an extra range mapping layer, linking hash values and buckets. + + + +## Implementation + +The design consideration and implementation will mostly follow the current Bucket Index: + +1. Hashing happens at partition-level, i.e., each partition is managed independently and will be divided into N buckets. +2. One-one mapping between hash buckets and file groups. +3. The assignment of records to buckets fits into a standard write path by overriding the `tag location` process. + +To further support Consistent Hashing, we also need to consider: + +1. Hashing metadata. Information, such as range mapping between `hash_value` and `buckets`, should be maintained and persisted as files. +2. Implementation details about bucket resizing (splitting & merging): resizing criteria and how to integrate it as a Hudi service. +3. Concurrent writers and readers: ensure a non-blocking resizing process. + +To enable different dynamic resizing strategies (i.e., other than consistent hashing), a flexible framework will be implemented for future extension. +For example, in the Bucket Index RFC-29, *extendible hashing* is mentioned for solving the limitations of bucket index. + +For end-users, a new index option `BUCKET_INDEX_ENGINE` will be provided as an advanced configuration of `BUCKET_INDEX`. +One can choose different hashing options according to their use case, e.g., `SIMPLE_HASHING`, `CONSISTENT_HASHING` or `EXTENDIBLE_HASHING`. + +When a dynamic resizing strategy is selected, the bucket number option (`BUCKET_INDEX_NUM_BUCKETS`) serves as an initial setup and requires no hyper-parameter tuning, as it will auto adjust in the course of data ingestion. + +### Hashing Metadata + +The hashing metadata will be persisted as files named as `.hashing_meta` for each partition as we manage hashing for each partition independently. +It stores in `.hoodie/.hashing_meta/partition/` directory and contains the following information in a readable encoding (e.g., json): +``` +# reserved for metadata schema evolution +version: 1 +partition_path: xxx +# last instant that updates the metadata +instant: xxx +# total number of bucket in current partition +num_buckets: xxx +bucket_mappings: [ + # hash_values are positive integer number, i.e., from 0 to 0x7fffffff (Integer.MAX_VALUE) + # All hash_values divide the hash space into a group of continuous hash rangs, serving the range mapping step + {, file_group} + {, file_group} + ... + {0x7FFFFFFF, file_group} +] +# other necessary or useful fields +# e.g., statistics about hash value distribution (maybe useful for bucket resizing) +... +``` + +Assuming thousands of buckets case, the metadata file is around several MB in size. +Only three operations will modify the hashing metadata: + +- Initial write to a partition: a fresh new hashing metadata will be created with timestamp `00000000000000`, with default equally divided range mapping and randomly generated file group UUID. +- Resizing: a new version of hashing metadata will be created when the resizing completes, named using the timestamp of the resizing operation. +- Clean service: removes outdated metadata files in the same way as removing old file groups. + + +### Bucket Resizing (Splitting & Merging) + +Considering there is a semantic similarity between bucket resizing and clustering (i.e., re-organizing small data files), this proposal plans to integrate the resizing process as a subtask into the clustering service. +The trigger condition for resizing directly depends on the file size, where small files will be merged and large files will be split. + +**For merging files**, we require that the buckets should be adjacent to each other in terms of their hash ranges so that the output bucket has only one continuous hash range. +Though it is not required in a standard Consistent Hashing algorithm, fragmentations in hash ranges may cause extra complexity for the splitting process in our case. + +**For splitting files**, a split point (i.e., hash ranges for the output buckets) should be decided: + +- A simple policy would be split in the range middle, but it may produce uneven data files. +In an extreme case, splitting may produce one file with all data and one file with no data. +- Another policy is to find a split point that evenly dispatches records into children buckets. +It requires knowledge about the hash value distribution of the original buckets. + +In our implementation, *we will first stick to the first simple one*, as buckets will finally converge to a balanced distribution after multiple rounds of resizing processes. +Of course, a pluggable implementation will be kept for extensibility so that users can choose different available policies. + +All updates related to the hash metadata will be first recorded in the clustering plan, and then be reflected in partitions' hashing metadata when clustering finishes. +The plan is generated and persisted in files during the scheduling process, which is protected by a table-level lock for a consistent table view. + +### Concurrent Writer & Reader + +Concurrent updates to file groups that are under clustering are not supported in Hudi, since records location change during the re-organizing. +For example, a clustering process is scheduled to combine three parquet files A, B, C into two parquet files E, F with a more compact storage layout. +During the clustering, a writer comes in and plan to update a record that originally belongs to the parquet file A. +There are two choices the writer can make: + +- Only update the old file (i.e. parquet file A), but the update will lost once the clustering finishes because of the *replacecommit*'s shadowing. +- Besides parquet file A, also update new files (i.e. parquet file E or F). +However, the record's new location can only be determined until the clustering finishes, which means the writer will be blocked as it has to wait for the location information. + +For tables using Bucket Index, the above conflicting condition can be avoided because record locations are calculated by the hash algorithm. +So even before the clustering finishes, the writer can calculate record locations as long as it knows the latest hash algorithm (in our Consistent Hashing case, it is stored in the clustering plan). + +![bucket resizing](bucket_resizing.png) + +The figure above shows a concurrent write process during the bucket resizing process (i.e., splitting). +Dual-write is activated for buckets that are splitting. +Each incoming record will be written to log files of both the old file group (i.e., FG1) and children file groups (i.e., FG1.1 or FG1.2). + +With this dual-write scheme, no modification is required for concurrent readers. +The default behaviour of a reader is: + +- Query old files before the resizing process finishes. +- Query new files when the resizing process finishes. + +As the writer put incoming records in both new and old files, readers will always see the update-to-date data. + +### Performance + +Hudi table using Consistent Hashing should obtain a better write throughput than using Bloom Filter or HBase Index, thanks to the elimination of costs about indexing and read/write amplification. +But the throughput is expected to be a little smaller than using Bucket Index, as Consistent Hashing has a larger overhead on computing the bucket id, as shown in the following table. + +| | Consistent Hashing Index | Bucket Index | +|-------------------|--------------------------|--------------| +| lookup a record | log(N) | O(1) | +| resizing a bucket | K*O(1) | K*O(N) | + +, where N denotes the number of buckets and K represents the average cost of re-hashing one bucket. + +When the resizing of buckets is going on, the relevant writer that is on dual-write mode may drop ~50% in performance, since it needs to write records (as logs) twice into two file groups. +To alleviate the performance impact, we could control the resizing granularity: +- limit the number of involevd partitions per schedule. +- limit the total processing data size(e.g., 2G) per schedule. +- combination of above strategies and data size control has a higher priority. + +## Rollout/Adoption Plan + +There are no impacts to existing users since this is a fresh new index scheme, so no migrations/behaviour changes are required. + +## Test Plan + +* Unit tests of new modules will be provided. + +* Integration test with different cases will be included: + 1. Initializing of tables using Consistent Hashing. + 2. Multiple rounds of merging & splitting. + 2. Extreme data distribution case where most data fall into a small hash range. + 2. Concurrent writer & reader case. + 4. Concurrent updates to hash metadata (e.g., multiple async clusterings). +* Performance (i.e., write throughput) test result will be provided, comparing Consistent Hashing Index, Bucket Index and Bloom Filter. \ No newline at end of file From f43678e3b7138d5adc3f855f3046f4f1191d434f Mon Sep 17 00:00:00 2001 From: xiaoyuwei Date: Thu, 10 Mar 2022 19:53:29 +0800 Subject: [PATCH 2/2] [HUDI-2999] review: add metadata table & non-dual-write solution (virtual log file) for resizing --- .../bucket_resizing_virtual_log_file.png | Bin 0 -> 42742 bytes rfc/rfc-42/rfc-42.md | 17 ++++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 rfc/rfc-42/bucket_resizing_virtual_log_file.png diff --git a/rfc/rfc-42/bucket_resizing_virtual_log_file.png b/rfc/rfc-42/bucket_resizing_virtual_log_file.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0efe76de01ac2f939afe43057d7755e899f60b GIT binary patch literal 42742 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