Créez une table de séries temporelles et configurez la durée de conservation (TTL) des données et des métadonnées, les identifiants de série temporelle, les clés primaires des champs de données, les magasins analytiques ainsi que les index Lastpoint à l'aide du SDK Tablestore pour Java.
Prérequis
Installez le SDK Tablestore pour Java et initialisez un client de séries temporelles.
Description
Appelez la méthode createTimeseriesTable pour créer une table de séries temporelles destinée au stockage des données et des métadonnées de séries temporelles. Le nom de la table de séries temporelles doit être unique parmi toutes les tables de données et les tables de séries temporelles de l'instance.
public CreateTimeseriesTableResponse createTimeseriesTable(CreateTimeseriesTableRequest request)
L'exemple suivant crée la table example_timeseries_table. Par défaut, la durée de conservation (TTL) des données de séries temporelles est définie sur -1, ce qui signifie que les données n'expirent jamais, et aucun magasin analytique n'est créé.
TimeseriesClient timeseriesClient = client.asTimeseriesClient();
String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
timeseriesClient.createTimeseriesTable(request);
Paramètres
L'objet CreateTimeseriesTableRequest contient les paramètres suivants.
|
Nom |
Type |
Description |
|
timeseriesTableMeta (obligatoire) |
|
Le schéma de la table de séries temporelles. |
|
analyticalStores (facultatif) |
|
Les magasins analytiques personnalisés. Valeur par défaut : une liste vide. Vous pouvez créer au maximum un magasin analytique lors de la création d'une table de séries temporelles. |
|
enableAnalyticalStore (facultatif) |
|
Indique s'il faut créer le magasin analytique par défaut. Valeur par défaut : |
|
lastpointIndexes (facultatif) |
|
Les index Lastpoint à créer conjointement avec la table de séries temporelles. Valeur par défaut : une liste vide. Vous pouvez créer au maximum un index Lastpoint lors de la création d'une table de séries temporelles. Une table de séries temporelles peut comporter au total 10 index Lastpoint et magasins analytiques. |
Schéma de la table de séries temporelles
Le paramètre timeseriesTableMeta est de type TimeseriesTableMeta et contient les paramètres suivants.
|
Nom |
Type |
Description |
|
timeseriesTableName (obligatoire) |
|
Le nom de la table de séries temporelles. Il doit être unique parmi toutes les tables de données et les tables de séries temporelles de l'instance. |
|
timeseriesTableOptions (facultatif) |
|
Les paramètres de durée de conservation (TTL) des données de séries temporelles. Les paramètres par défaut sont utilisés si ce paramètre n'est pas configuré. |
|
timeseriesMetaOptions (facultatif) |
|
Les paramètres des métadonnées de séries temporelles, y compris la durée de conservation des métadonnées et les paramètres de mise à jour des attributs. |
|
timeseriesKeys (facultatif) |
|
Les champs constituant un identifiant de série temporelle personnalisé. Vous pouvez spécifier jusqu'à six champs. Par défaut, un identifiant de série temporelle se compose du nom de la métrique, de la source de données et des tags. Pour plus d'informations, consultez la rubrique Personnaliser les identifiants de séries temporelles et les clés primaires des champs de données. |
|
fieldPrimaryKeys (facultatif) |
|
Les champs de données à utiliser comme clés primaires. Vous pouvez spécifier jusqu'à quatre champs pour stocker plusieurs lignes partageant le même identifiant de série temporelle et le même horodatage. Pour plus d'informations, consultez la rubrique Personnaliser les identifiants de séries temporelles et les clés primaires des champs de données. |
Rétention des données de séries temporelles
Le paramètre timeseriesTableMeta.timeseriesTableOptions est de type TimeseriesTableOptions et contient le paramètre suivant.
|
Nom |
Type |
Description |
|
timeToLive (facultatif) |
|
La durée de conservation (TTL) des données de séries temporelles, exprimée en secondes. Valeur par défaut : |
Métadonnées de séries temporelles
Le paramètre timeseriesTableMeta.timeseriesMetaOptions est de type TimeseriesMetaOptions et contient les paramètres suivants.
|
Nom |
Type |
Description |
|
metaTimeToLive (facultatif) |
|
La durée de conservation (TTL) des métadonnées de séries temporelles, exprimée en secondes. Définissez la valeur sur |
|
allowUpdateAttributes (facultatif) |
|
Indique si les colonnes d'attributs de métadonnées peuvent être mises à jour. Si la valeur de |
Clés primaires des champs de données
Chaque élément du tableau timeseriesTableMeta.fieldPrimaryKeys[] est de type PrimaryKeySchema et contient les paramètres suivants.
|
Nom |
Type |
Description |
|
name (obligatoire) |
|
Le nom du champ de données à utiliser comme clé primaire. |
|
type (obligatoire) |
|
Le type du champ de données. Valeurs valides : |
Magasin analytique
Chaque élément du tableau analyticalStores[] est de type TimeseriesAnalyticalStore et contient les paramètres suivants.
|
Nom |
Type |
Description |
|
analyticalStoreName (obligatoire) |
|
Le nom du magasin analytique. |
|
timeToLive (facultatif) |
|
La durée de conservation (TTL) du magasin analytique, exprimée en secondes. Valeur par défaut : |
|
syncOption (facultatif) |
|
Le mode de synchronisation des données. Valeur par défaut : |
Index Lastpoint
Chaque élément du tableau lastpointIndexes[] est de type CreateTimeseriesTableRequest.LastpointIndex et contient le paramètre suivant.
|
Nom |
Type |
Description |
|
indexName (obligatoire) |
|
Le nom de l'index Lastpoint. Pour plus d'informations, consultez la rubrique Index Lastpoint. |
Exemples
Configurer la durée de conservation des métadonnées
L'exemple suivant définit la durée de conservation des données de séries temporelles sur 7 jours, celle des métadonnées sur 14 jours et désactive les mises à jour des attributs de métadonnées.
String tableName = "example_timeseries_table";
TimeseriesTableOptions tableOptions = new TimeseriesTableOptions(604800);
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName, tableOptions);
TimeseriesMetaOptions metaOptions = new TimeseriesMetaOptions();
metaOptions.setMetaTimeToLive(1209600);
metaOptions.setAllowUpdateAttributes(false);
tableMeta.setTimeseriesMetaOptions(metaOptions);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
timeseriesClient.createTimeseriesTable(request);
Personnaliser les identifiants de séries temporelles et les clés primaires des champs de données
Les identifiants de séries temporelles personnalisés et les clés primaires des champs de données nécessitent le SDK Tablestore pour Java version 5.17.1 ou ultérieure. Nous vous recommandons d'utiliser la dernière version du SDK. Avant d'utiliser ces fonctionnalités, assurez-vous que la région de l'instance les prend en charge.
L'exemple suivant utilise pk1 et pk2 comme identifiants de série temporelle, et field1 et field2 comme clés primaires des champs de données.
String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
tableMeta.addTimeseriesKey("pk1");
tableMeta.addTimeseriesKey("pk2");
tableMeta.addFieldPrimaryKey("field1", PrimaryKeyType.INTEGER);
tableMeta.addFieldPrimaryKey("field2", PrimaryKeyType.STRING);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
timeseriesClient.createTimeseriesTable(request);
Créer un index Lastpoint
Les index Lastpoint nécessitent le SDK Tablestore pour Java version 5.17.1 ou ultérieure. Nous vous recommandons d'utiliser la dernière version du SDK. Pour utiliser cette fonctionnalité, créez une instance de modèle de séries temporelles dans une région prise en charge. Pour connaître les régions prises en charge, consultez la rubrique Index Lastpoint.
L'exemple suivant crée l'index example_lastpoint_index conjointement avec la table de séries temporelles.
String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
request.addLastpointIndex(
new CreateTimeseriesTableRequest.LastpointIndex("example_lastpoint_index"));
timeseriesClient.createTimeseriesTable(request);
Créer un magasin analytique
Un magasin analytique offre un stockage et une analyse économiques pour les données de séries temporelles. Pour utiliser cette fonctionnalité, créez une instance de modèle de séries temporelles dans une région prise en charge. Pour plus d'informations sur les régions prises en charge et les détails de la fonctionnalité, consultez la rubrique Magasin analytique.
Magasin analytique par défaut
Définissez le paramètre enableAnalyticalStore sur true pour créer le magasin analytique par défaut nommé default_analytical_store.
String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
request.setEnableAnalyticalStore(true);
timeseriesClient.createTimeseriesTable(request);
Magasin analytique personnalisé
L'exemple suivant crée le magasin example_analytical_store conjointement avec la table de séries temporelles. Les données du magasin analytique n'expirent jamais et la synchronisation complète est utilisée.
String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
TimeseriesAnalyticalStore analyticalStore =
new TimeseriesAnalyticalStore("example_analytical_store");
analyticalStore.setTimeToLive(-1);
analyticalStore.setSyncOption(AnalyticalStoreSyncType.SYNC_TYPE_FULL);
request.setAnalyticalStores(Collections.singletonList(analyticalStore));
timeseriesClient.createTimeseriesTable(request);
Références
Après avoir créé une table de séries temporelles, écrivez des données de séries temporelles dans la table.
Après avoir écrit les données, lisez les données de séries temporelles depuis la table.