xushiyan commented on code in PR #10658:
URL: https://github.com/apache/hudi/pull/10658#discussion_r1503079397


##########
website/docs/indexing.md:
##########
@@ -27,27 +27,19 @@ could end up having to merge all the base files against all 
incoming updates/del
 Currently, Hudi supports the following index types. Default is SIMPLE on Spark 
engine, and INMEMORY on Flink and Java 
 engines.
 
-- **BLOOM:** Employs bloom filters built out of the record keys, optionally 
also pruning candidate files using 
-  record key ranges.Key uniqueness is enforced inside partitions.
-- **GLOBAL_BLOOM:** Employs bloom filters built out of the record keys, 
optionally also pruning candidate files using 
-  record key ranges. Key uniqueness is enforced across all partitions in the 
table.
-- **SIMPLE (default for Spark engines):** Default index type for spark engine. 
Performs a lean join of the incoming records against keys extracted from the 
table on 
-  storage. Key uniqueness is enforced inside partitions. 
+- **BLOOM:** Uses bloom filters generated from record keys, with the option to 
further narrow down candidate files based on the ranges of the record keys. 
This method ensures the uniqueness of keys within partitions.
+- **GLOBAL_BLOOM:** Utilizes bloom filters created from record keys, and may 
also refine the selection of candidate files by using the ranges of record 
keys. This ensures that keys are unique throughout all partitions in the table.
+- **SIMPLE (default for Spark engines):** This is the standard index type for 
the Spark engine. It executes an efficient join of incoming records with keys 
retrieved from the table stored on disk, ensuring that keys are unique within 
partitions. 
 - **GLOBAL_SIMPLE:** Performs a lean join of the incoming records against keys 
extracted from the table on
   storage. Key uniqueness is enforced across all partitions in the table.
-- **HBASE:** Manages the index mapping in an external Apache HBase table.
+- **HBASE:** Oversees the index mapping through an external table in Apache 
HBase.
 - **INMEMORY (default for Flink and Java):** Uses in-memory hashmap in Spark 
and Java engine and Flink in-memory state in Flink for indexing.
-- **BUCKET:** Employs bucket hashing to locates the file group containing the 
records. Particularly beneficial in 
-  large scale. Use `hoodie.index.bucket.engine` to choose bucket engine type, 
i.e., how buckets are generated;
-  - `SIMPLE(default)`: Uses a fixed number of buckets for file groups per 
partition which cannot shrink or expand. This works for both COW and 
-     MOR tables. Since the num of buckets cannot be changed and design of 
one-on-one mapping between buckets and file groups, 
-     this index might not suit well for highly skewed partitions. 
-  - `CONSISTENT_HASHING`: Supports dynamic number of buckets with bucket 
resizing to properly size each bucket. This 
-     solves potential data skew problem where partitions with high volume of 
data can be dynamically resized to have 
-     multiple buckets that are reasonably sized in contrast to the fixed 
number of buckets per partition in SIMPLE 
-     bucket engine type. This only works with MOR tables.
-- **RECORD_INDEX:** Index which saves the record key to location mappings in 
the HUDI Metadata Table. Record index is a 
-  global index, enforcing key uniqueness across all partitions in the table. 
Supports sharding to achieve very high scale.
+- **BUCKET:** Utilizes bucket hashing to identify the file group that houses 
the records, which proves to be particularly advantageous on a large scale. To 
select the type of bucket engine—that is, the method by which buckets are 
created—use the `hoodie.index.bucket.engine` configuration option.
+  - `SIMPLE(default)`: This index employs a fixed number of buckets for file 
groups within each partition, which do not have the capacity to decrease or 
increase in size. It is applicable to both COW and MOR tables. Due to the 
unchangeable number of buckets and the design principle of mapping each bucket 
to a single file group, this indexing method may not be ideal for partitions 
with significant data skew.
+  - `CONSISTENT_HASHING`: This index accommodates a dynamic number of buckets, 
with the capability for bucket resizing to ensure each bucket is sized 
appropriately. This addresses the issue of data skew in partitions with a high 
volume of data by allowing these partitions to be dynamically resized. As a 
result, partitions can have multiple reasonably sized buckets, unlike the fixed 
bucket count per partition seen in the SIMPLE bucket engine type. This feature 
is exclusively compatible with MOR tables.
+  
+- **RECORD_INDEX:** This index saves the record key to location mappings in 
the HUDI Metadata Table. It functions as a global index, ensuring that keys are 
unique across all partitions within the table. To accommodate very high scales, 
it utilizes sharding. The record index is specifically optimized to enable fast 
upserts. Additionally, when it comes to reading data, the index is crafted to 
allow for rapid point lookups, significantly speeding up data retrieval 
processes.

Review Comment:
   same here. it needs key to be unique to work



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to