- snapshot <snapshot name> <table name>
- Take a snapshot of the specified name with the specified name
- restore_snapshot <snapshot name>
- Restore specified snapshot on the original table
- clone_snapshot <snapshot name> <table name>
- Create a new table based on the snapshot content
- list_snapshots [filter]
- Show the list of snapshots taken
- delete_snapshot <snapshot name>
- Remove a specified snapshot
- rename_snapshot <snapshot name> <new snapshot name>
- Rename a snapshot to a new name
Given a "snapshot name" restore override the original table with the snapshot content.
Before restoring a new snapshot of the table is taken, just to avoid bad situations.
This allows a full and quick rollback to a previous snapshot.
Given a "snapshot name" a new table is created with the content of the specified snapshot.
This operation allows:
- To have an old version of the table in parallel with the current one.
- Look at snapshot side-by-side with the "current" before making the decision whether to roll back or not
- To Add/Remove data from this table without affecting the original one or the snapshot.
- To Restore only "individual items" (only some small range of data was lost from "current")
- MR job that scan the cloned table and update the data in the original one. (Partial restore of the data)
- Add snapshot type option on take snapshot command (global, timestamp)?