Lindorm utiliza o Capacity cloud storage como meio de armazenamento para dados frios. Após ativar o recurso de cold storage, configure as tabelas ou famílias de colunas no banco de dados. Este tópico descreve como configurar o cold storage.
Informações básicas
O recurso de cold storage é compatível apenas com engines do Lindorm versão 2.1.8 ou posterior. O Lindorm permite configurar atributos de armazenamento no nível da tabela. Defina o tipo de armazenamento de uma tabela inteira ou de uma família de colunas específica como cold storage. Quando uma tabela ou família de colunas é configurada como cold storage, os dados são armazenados no Capacity cloud storage e não consomem o espaço de armazenamento padrão da instância.
Para obter informações sobre o desempenho do Capacity cloud storage, consulte Introduction to Capacity-Oriented Cloud Storage.
Configure o cold storage
Configure uma tabela ou família de colunas no banco de dados como cold storage de uma das seguintes formas:
-
Configure o cold storage usando o HBase Shell. Antes de começar, baixe e configure o shell. Para mais informações, consulte Connect to LindormTable with Lindorm Shell.
-
Ao criar uma tabela, execute a seguinte instrução para configurar o cold storage.
create 'coldTable', {NAME => 'f', STORAGE_POLICY => 'COLD'} -
Se a tabela já foi criada, configure o cold storage em uma família de colunas modificando as propriedades dessa família.
ImportanteSe a família de colunas já contiver dados, eles serão movidos para o cold storage somente após a conclusão de uma major compaction.
alter 'coldTable', {NAME=>'f', STORAGE_POLICY => 'COLD'} -
Para redefinir a tabela para o hot storage, execute a seguinte instrução.
alter 'coldTable', {NAME=>'f', STORAGE_POLICY => 'DEFAULT'}
-
-
Configure o cold storage usando a API Java do HBase. Antes de começar, instale e configure o SDK. Para mais detalhes, consulte Use ApsaraDB for HBase API for Java to develop applications.
-
Ao criar uma tabela, execute o código abaixo para configurar o cold storage.
Admin admin = connection.getAdmin(); HTableDescriptor descriptor = new HTableDescriptor(TableName.valueOf("coldTable")); HColumnDescriptor cf = new HColumnDescriptor("f"); cf.setValue("STORAGE_POLICY", AliHBaseConstants.STORAGETYPE_COLD); descriptor.addFamily(cf); admin.createTable(descriptor); -
Se a tabela já existe, configure o cold storage em uma família de colunas modificando as propriedades dessa família.
ImportanteSe a família de colunas já contiver dados, eles serão movidos para o cold storage somente após a conclusão de uma major compaction.
Admin admin = connection.getAdmin(); TableName tableName = TableName.valueOf("coldTable"); HTableDescriptor descriptor = admin.getTableDescriptor(tableName); HColumnDescriptor cf = descriptor.getFamily("f".getBytes()); // Set the storage type of the table to cold storage. cf.setValue("STORAGE_POLICY", AliHBaseConstants.STORAGETYPE_COLD); admin.modifyTable(tableName, descriptor); -
Para redefinir a tabela para o hot storage, execute o código abaixo.
Admin admin = connection.getAdmin(); TableName tableName = TableName.valueOf("coldTable"); HTableDescriptor descriptor = admin.getTableDescriptor(tableName); HColumnDescriptor cf = descriptor.getFamily("f".getBytes()); // Set the storage type of the table to the default storage. The default storage is hot storage. cf.setValue("STORAGE_POLICY", AliHBaseConstants.STORAGETYPE_DEFAULT); admin.modifyTable(tableName, descriptor);
-