Space quotas
Space quotas, also known as filesystem space quotas, limit the amount of stored data. It can be applied at a table or namespace level where table-level quotas take priority over namespace-level quotas.
Space quotas are special in that they can trigger different policies when storage goes above thresholds. The following list describes the policies, and they are listed in order of least strict to most strict:
- NO_INSERTS
-
Prohibits new data from being ingested (for example, data from Put, Increment, and Append operations are not ingested).
- NO_WRITES
-
Performs the same function as NO_INSERTS but Delete operations are also prohibited.
- NO_WRITES_COMPACTIONS
-
Performs the same function as NO_INSERTS but compactions are also prohibited.
- DISABLE
-
Diables tables.
Examples of Adding Space Quotas
Add quota with the condition that Insert operations are rejected when table t1 reaches 1 GB of data:
hbase> set_quota TYPE => SPACE, TABLE => 't1', LIMIT => '1G', POLICY => NO_INSERTS
Add quota with the condition that table t2 is disabled when 50 GB of data is exceeded:
hbase> set_quota TYPE => SPACE, TABLE => 't2', LIMIT => '50G', POLICY => DISABLE
Add quota with the condition that Insert and Delete operations cannot be applied to namespace ns1 when it reaches 50 terabytes of data:
hbase> set_quota TYPE => SPACE, NAMESPACE => 'ns1', LIMIT => '50T', POLICY => NO_WRITES
Listing Space Quotas
See "Examples of Listing Throttle Quotas Commands" above for the supported syntax.
Examples of Updating and Deleting Space Quotas
A quota can be removed by setting LIMIT
to
NONE.
hbase> set_quota TYPE => SPACE, TABLE => 't1', LIMIT => NONE
hbase> set_quota TYPE => SPACE, NAMESPACE => 'ns1', LIMIT => NONE