Interconnexion entre Java et Alibaba Cloud Table Storage : Comment réaliser un stockage et des requêtes de données à grande échelle ?
Avec le développement des applications Internet, le stockage et les requêtes de données à grande échelle deviennent de plus en plus importants. Afin de résoudre les problèmes de stockage et de requêtes efficaces de données massives, Alibaba Cloud a lancé le service de stockage de tables. Le stockage de tables est une base de données NoSQL distribuée présentant les caractéristiques d'une évolutivité élevée, d'une concurrence élevée et d'une faible latence. Cet article utilisera le langage Java comme exemple pour présenter comment connecter Java à Alibaba Cloud Table Storage afin d'obtenir un stockage et des requêtes de données à grande échelle.
Tout d'abord, nous devons créer un compte sur le site officiel d'Alibaba Cloud et acheter le service de stockage de tables. Dans la console Alibaba Cloud, entrez dans le module « Table Storage », cliquez sur le bouton « Créer une instance », sélectionnez les spécifications de l'instance, la région, le type de stockage et d'autres éléments de configuration dans la boîte de dialogue contextuelle, confirmez qu'ils sont corrects, et cliquez sur le bouton "Acheter" pour réussir à activer le service de stockage de table.
Après avoir activé avec succès le service de stockage de table, nous devons créer une table de données pour stocker les données. Dans le module de stockage de tables de la console Alibaba Cloud, sélectionnez l'instance correspondante et cliquez sur l'onglet « Gestion des tables de données » pour accéder à la page de gestion des tables de données. Cliquez sur le bouton "Nouvelle table de données", remplissez le nom de la table de données, la clé primaire et d'autres informations dans la boîte de dialogue contextuelle. Après avoir confirmé qu'elle est correcte, cliquez sur le bouton "OK" pour créer avec succès la table de données.
Afin d'exploiter Alibaba Cloud Table Storage en Java, nous devons introduire le SDK Java correspondant. Alibaba Cloud fournit une version Java du SDK de stockage de tables. Lors de l'utilisation, nous pouvons directement introduire le package SDK correspondant.
Dans le code Java, nous devons d'abord initialiser le client TableStoreClient. Lors de l'initialisation du client, nous devons transmettre l'AccessKey ID et l'AccessKey Secret du compte Alibaba Cloud, ainsi que le point de terminaison du service de stockage de tables. L'AccessKey ID et l'AccessKey Secret peuvent être obtenus dans le module « Access Control » de la console Alibaba Cloud, et le point de terminaison peut être trouvé sur la page de détails de l'instance du service Table Storage.
import com.aliyun.openservices.ots.*; import com.aliyun.openservices.ots.model.*; import com.aliyun.openservices.ots.client.*; import com.aliyun.openservices.ots.ut.*; import com.aliyun.openservices.ots.model.condition.*; OTSClient client = new OTSClient("<your-accesskey-id>", "<your-accesskey-secret>", "<your-endpoint>");
Dans le code Java, nous pouvons créer des tables de données via les classes TableMeta et TableOptions. TableMeta est utilisé pour spécifier le nom et la clé primaire de la table de données, et TableOptions est utilisé pour spécifier les options de la table de données, telles que le débit de lecture/écriture réservé, le délai d'expiration et le type de données.
String tableName = "myTable"; String primaryKey = "id"; TableMeta tableMeta = new TableMeta(tableName); tableMeta.addPrimaryKeyColumn(primaryKey, PrimaryKeyType.INTEGER); CapacityUnit capacityUnit = new CapacityUnit(0, 0); //设定预留读/写吞吐量 CreateTableRequest createTableRequest = new CreateTableRequest(); createTableRequest.setTableMeta(tableMeta); createTableRequest.setReservedThroughput(capacityUnit); try { client.createTable(createTableRequest); } catch (Exception e) { e.printStackTrace(); }
Dans le code Java, nous pouvons utiliser PutRowRequest pour insérer des données. Il convient de noter que lors de l'insertion de données, vous devez spécifier le nom de la table de données, la clé primaire, la valeur de l'attribut et d'autres informations.
PutRowRequest putRowRequest = new PutRowRequest(); putRowRequest.setTableName(tableName); PrimaryKey primaryKey = new PrimaryKey(); primaryKey.addPrimaryKeyColumn("id", PrimaryKeyValue.fromLong(1L)); putRowRequest.setPrimaryKey(primaryKey); RowPutChange rowPutChange = new RowPutChange(tableName); rowPutChange.setPrimaryKey(primaryKey); rowPutChange.addColumn("name", ColumnValue.fromString("John")); rowPutChange.addColumn("age", ColumnValue.fromLong(20L)); putRowRequest.setRowChange(rowPutChange); try { client.putRow(putRowRequest); } catch (Exception e) { e.printStackTrace(); }
Dans le code Java, nous pouvons utiliser GetRowRequest pour interroger des données. Il convient de noter que lors de l'interrogation de données, vous devez spécifier le nom de la table de données, la clé primaire et la colonne d'attribut à interroger.
GetRowRequest getRowRequest = new GetRowRequest(); getRowRequest.setTableName(tableName); PrimaryKey primaryKey = new PrimaryKey(); primaryKey.addPrimaryKeyColumn("id", PrimaryKeyValue.fromLong(1L)); getRowRequest.setPrimaryKey(primaryKey); List<String> columnsToGet = new ArrayList<>(); columnsToGet.add("name"); columnsToGet.add("age"); getRowRequest.setColumnsToGet(columnsToGet); try { GetRowResult getRowResult = client.getRow(getRowRequest); Row row = getRowResult.getRow(); if (row != null) { System.out.println("name: " + row.getColumns().get("name").asString()); System.out.println("age: " + row.getColumns().get("age").asLong()); } } catch (Exception e) { e.printStackTrace(); }
Grâce aux exemples de code ci-dessus, nous pouvons voir comment utiliser Java pour se connecter à Alibaba Cloud Table Storage afin d'obtenir des fonctions de stockage de données et de requête à grande échelle. Grâce à une conception et à une optimisation raisonnables des tables de données, associées à une configuration appropriée du débit de lecture et d'écriture, nous pouvons réaliser des opérations d'accès et de requête efficaces en présence de données massives.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!