DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
| Characteristic | INSERT | UPSERT | UPSERT USING LOAD | LOAD |
|---|---|---|---|---|
| Transaction | Yes | Yes | No, uses HBase WAL for recovery | No, uses snapshot for recovery |
| Method of operation | Uses 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 constraint | Enforced | Not 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. |
| Index | Can 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 size | Suitable 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 size | 1 row | 1 row | 1 row | Suitable for greater than 1 million * n rows |
| Speed | Slowest | Faster than INSERT | Faster than UPSERT | Fastest |
...