Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

CharacteristicINSERTUPSERTUPSERT USING LOADLOAD
TransactionYesYesNo, uses HBase WAL for recoveryNo, uses snapshot for recovery
Method of operationUses the standard HBase write path through its CheckAndPut call. Rows are held in transaction coprocessor memory until the transaction is committed.Uses the standard HBase write path through its Put call. Rows are held in transaction coprocessor memory until the transaction is committed.Uses the standard HBase write path through its Put call.Uses the HBase bulk load write path and creates HFiles directly, bypassing HBase RegionServers for most of its operation.
Uniqueness constraintEnforcedNot enforced. New row with the same key value overwrites previous row.Not enforced. New row with same key value overwrites the previous row.Enforced only within the set of rows in a single statement. Not enforced with rows already in the table.
IndexCan be used on a table with an index.Can be used on a table with an index.When used on a table with an index, it reverts to UPSERT.Can be used on a table with an index. Index is offline during the LOAD.
Maximum sizeSuitable for less than 10,000 * n rows, where n is the number of nodes in each invocation.Suitable for less than 10,000 * n rows, where n is the number of nodes in each invocation.Suitable for less than 5 million *n rows, where n is the number of nodes in each invocation.Suitable for less than 2 billion *n rows, where n is the number of nodes in each invocation.
Minimum size1 row1 row1 rowSuitable for greater than 1 million * n rows
SpeedSlowestFaster than INSERTFaster than UPSERTFastest

...