Planifier votre service

Prenez le temps de planifier votre service Oracle NoSQL Database Cloud Service avant de le créer. Pensez aux questions présentées ici et décidez de ce que vous voulez faire avant de commencer.

Cet article contient les rubriques suivantes :

Aperçu du développeur

Obtenez un aperçu général de l'architecture du service et sélectionnez une trousse SDK/pilote qui répondra aux besoins de développement d'applications.

Tâches de développeur NDCS

Oracle NoSQL Database Cloud Service (NDCS) est un service entièrement haute disponibilité. Il est conçu pour les applications très exigeantes nécessitant des temps de réponse à faible latence, un modèle de données flexible et une mise à l'échelle élastique pour les charges de travail dynamiques. En tant que service entièrement géré, Oracle gère toutes les tâches administratives, telles que les mises à niveau logicielles, les correctifs de sécurité, les pannes matérielles et l'application de correctifs.
Une description de developer_overview.png suit

NoSQL Trousses SDK/inducteurs de base de données - Ces trousses SDK sont sous licence UPL et peuvent être utilisées sur NoSQL Cloud Service ou la base de données sur place. Ce sont des trousses SDK dotées de fonctions complètes et offrent un jeu étoffé de fonctionnalités. Ces pilotes peuvent également être utilisés dans des applications exécutées sur des grappes Oracle NoSQL exécutées dans d'autres fournisseurs en nuage.
  1. NoSQL Trousse SDK pour Java
  2. NoSQL JavaScript SDK
  3. CLÉ DE DONNÉES Python NoSQL
  4. NoSQL. CLÉ DE REMPLACEMENT NETTE
  5. NoSQL Trousse SDK Go
  6. NoSQL Trousse SDK pour Spring Data

Console OCI - Permet de créer rapidement des tables, de modifier des tables, de supprimer des tables, de charger des données, de créer rapidement des index, de supprimer des index, des interrogations de base, de modifier les capacités des tables et de voir les mesures.

Trousses SDK/inducteurs OCI - Oracle Cloud Infrastructure fournit un certain nombre de trousses SDK pour faciliter le développement de solutions personnalisées. Elles sont généralement sous licence UPL. Ces fonctionnalités offrent des fonctionnalités similaires à celles de la console OCI au moyen d'une interface de programmation.
  1. Restaurer l'API
  2. SDK pour Java
  3. Trousse SDK pour Python
  4. Trousse SDK pour Javascript
  5. Trousse SDK pour . NET
  6. Trousse SDK pour Go
  7. Trousse SDK pour Ruby

Limites du service Oracle NoSQL Database Cloud

Limites courantes applicables au service Oracle NoSQL Database Cloud.

Portée Description Valeur

Table

Taille de stockage totale maximale par client. L'espace total utilisé pour une ou plusieurs tables ne peut pas dépasser cette valeur.

5 To

Noms de table

Nombre maximal de caractères, caractères permis et caractère initial.

Les noms de table peuvent comporter 256 caractères au maximum. Tous les noms doivent commencer par une lettre (a–z, A–Z). Les caractères suivants peuvent être des lettres (a–z, A–Z), des chiffres (0–9) ou un trait de soulignement.

Table

Débit de lecture et d'écriture maximal lors du provisionnement d'une table.

40 000 unités de lecture et 20 000 unités d'écriture par table.

Table

Débit maximal de lecture et d'écriture lors de l'utilisation de la capacité sur demande pour provisionner des tables.

10 000 unités de lecture et 5 000 unités d'écriture par table.

Locataire

Nombre de tables avec capacité sur demande.

3

Table

Modifiez le mode de provisionnement de la table de Provisionné à Sur demande ou vice versa.

Ne peut être modifié qu'une fois par jour.

Région

Nombre maximal de tables.

30

Table

Nombre maximal de colonnes.

50

Table

Nombre maximal de mises à jour de schéma de table.

100

Table

Nombre maximum d'index.

5

Table

Nombre maximum de modifications des limites de débit et de stockage.

Oracle permet :

  • Nombre illimité d'augmentations de débit et de stockage par jour

  • Jusqu'à quatre réductions du débit ou du stockage par période de 24 heures.

Noms d'index Nombre maximal de caractères, caractères permis et caractère initial.

Les noms d'index peuvent comporter 64 caractères au maximum. Tous les noms doivent commencer par une lettre (a–z, A–Z). Les caractères suivants peuvent être des lettres (a–z, A–Z), des chiffres (0–9) ou un trait de soulignement.

Demande

Nombre maximal d'opérations individuelles par demande WriteMultiple.

50

Demande

Taille de données maximale pour une demande WriteMultiple.

25 Mo

Noms de champ Nombre maximal de caractères, caractères permis et caractère initial. Les noms de champ peuvent comporter 64 caractères au maximum. Tous les noms doivent commencer par une lettre (a–z, A–Z). Les caractères suivants peuvent être des lettres (a–z, A–Z), des chiffres (0–9) ou un trait de soulignement.

Champ

Taille maximale de la clé d'index.

64 octets

Champ

Taille maximale de la clé primaire.

64 octets

Rangée

Taille de rangée maximale.

512 Ko

Interrogation

Longueur maximale de la chaîne d'interrogation.

10 Ko

Région

Taux maximal pris en charge pour les opérations LDD.

4 par minute

Région

Valeurs maximales pour le débit et les ressources de stockage des données.

Par région, Oracle permet :

  • Un maximum de 100 000 unités de lecture

  • Un maximum de 40 000 unités d'écriture

Oracle permet une taille de stockage maximale de 5 To par client. La région peut avoir une seule table avec une taille de stockage de 5 To, auquel cas elle ne peut pas créer une autre table. Ou, si vous avez plusieurs tables, assurez-vous que les données de toutes ces tables ne dépassent pas la taille de stockage maximale de 5 To.

Estimation de la capacité

Voyez comment estimer les capacités de débit et de stockage pour votre service Oracle NoSQL Database Cloud.

Concepts de base pour le calcul

Avant d'apprendre à estimer le débit et le stockage pour le service, révisons les notions de débit et d'unité de stockage.

  • Unité d'écriture : Équivaut au débit de 1 kilo-octet (Ko) de données par seconde. Une opération d'écriture est tout appel d'API Oracle NoSQL Database Cloud qui entraîne l'insertion, la mise à jour ou la suppression d'un enregistrement. Une valeur limite d'écriture est associée à votre table NoSQL et précise le nombre d'unités d'écriture pouvant être utilisées à chaque seconde. Les mises à jour d'index consomment également des unités d'écriture.

    Par exemple, un enregistrement de moins de 1 Ko nécessite une unité d'écriture pour une opération d'écriture. Un enregistrement de 1,5 Ko nécessite deux unités d'écriture pour l'opération d'écriture.

  • Unité de lecture : Débit pour une opération de lecture avec cohérence à terme . Il peut atteindre 1 Ko de données par seconde. Une valeur limite de lecture est associée à votre table NoSQL et précise le nombre d'unités de lecture pouvant être utilisées à chaque seconde.

    Par exemple, un enregistrement de moins de 1 Ko nécessite une unité de lecture pour une opération de lecture avec cohérence à terme. Un enregistrement de 1,5 Ko nécessite deux unités de lecture pour une opération de lecture avec cohérence à terme et quatre unités de lecture pour une opération de lecture avec cohérence absolue.

  • Capacité de stockage : Une unité de stockage correspond à 1 gigaoctet (Go) de stockage de données.

  • Cohérence absolue : Les données retournées sont les données les plus récentes écrites dans la base de données.

  • Cohérence à terme : Les données retournées ne sont pas nécessairement les dernières données écrites dans la base de données. Si aucune nouvelle mise à jour n'est effectuée sur les données, les accès à ces données finissent par retourner la dernière valeur mise à jour.

Note

Oracle NoSQL Database Cloud Service gère automatiquement les capacités de lecture et d'écriture afin de répondre aux besoins des charges de travail dynamiques lors de l'utilisation de la capacité sur demande. Il est recommandé de valider que les besoins en capacité ne dépassent pas les limites de capacité sur demande. Pour plus de détails, voir Limites du service Oracle NoSQL Database Cloud Service.

Facteurs ayant une incidence sur l'unité de capacité

Avant de provisionner les unités de capacité, il est important de tenir compte des facteurs suivants qui ont une incidence sur les capacités de lecture, d'écriture et de stockage.

  • Taille d'enregistrement : Lorsque la taille d'enregistrement augmente, le nombre d'unités de capacité consommées pour écrire ou lire des données augmente également.

  • Cohérence des données : Les lectures avec cohérence absolue consomment deux fois plus que les lectures avec cohérence à terme.

  • Index secondaires : Dans une table, lorsqu'un enregistrement existant est modifié (ajouté, mis à jour ou supprimé), la mise à jour des index secondaires consomme des unités d'écriture. Le coût total du débit provisionné pour une opération d'écriture est la somme des unités d'écriture consommées en écrivant dans la table et en mettant à jour les index secondaires locaux.

  • Choix de modélisation des données : Avec JSON sans schéma, chaque document se décrit lui-même, ce qui ajoute des métadonnées à la taille globale de l'enregistrement. Avec les tables à schéma fixe, la surcharge pour chaque enregistrement est exactement de 1 octet.

  • Modèle d'interrogation : Le coût d'une opération d'interrogation dépend du nombre de rangées extraites, du nombre de prédicats, de la taille des données sources, des projections et de la présence d'index. Les interrogations les moins coûteuses fournissent une clé de partition ou une clé d'index (avec un index associé) pour permettre au système de tirer parti des index principaux et secondaires. Vous pouvez essayer différentes interrogations pour une application et examiner le débit consommé afin d'ajuster les opérations.

Exemple réel : Comment estimer la charge de travail d'une application

Prenez un exemple d'application de commerce électronique pour apprendre à estimer les lectures et les écritures par seconde. Dans cet exemple, le service Oracle NoSQL Database Cloud est utilisé pour stocker les informations du catalogue de produits de l'application.

  1. Identifiez le modèle de données (JSON ou table fixe), la taille de l'enregistrement et la taille de la clé pour l'application.

    Supposons que l'application de commerce électronique suit le modèle de données JSON et que le développeur a créé une table simple contenant deux colonnes : Un Identificateur d'enregistrement (clé primaire) et document JSON pour les caractéristiques et les attributs du produit. Le document JSON, qui est de moins de 1 Ko (0,8 Ko), est le suivant :

    {
      "additionalFeatures": "Front Facing 1.3MP Camera",
      "os": "Macintosh OS X 10.7", 
      "battery": {      
        "type": "Lithium Ion (Li-Ion) (7000 mAH)",
        "standbytime" : "24 hours" },
      "camera": {    
        "features": ["Flash","Video"],
        "primary": "5.0 megapixels" },
      "connectivity": {
        "bluetooth": "Bluetooth 2.1",
        "cell": "T-mobile HSPA+ @ 2100/1900/AWS/850 MHz",
        "gps": true,
        "infrared": false,
        "wifi": "802.11 b/g" },
      "description": "Apple iBook is the best in class computer
        		for your professional and personal work.",
      "display": {
        "screenResolution": "WVGA (1280 x 968)",
        "screenSize": "13.0 inches" },
      "hardware": {
        "accelerometer": true,
        "audioJack": "3.5mm",
        "cpu": "Intel i7 2.5 GHz",
        "fmRadio": false,
        "physicalKeyboard": false,
        "usb": "USB 3.0" },
      "id": "appleproduct_1",
      "images": ["img/apple-laptop.jpg"],
      "name": "Myshop.com : Apple iBook",
      "sizeAndWeight": {
        "dimensions": [
          "300 mm (w)",
          "300 mm (h)",
          "12.4 mm (d)" ],
        "weight": "1250.0 grams" },
      "storage": {
        "hdd": "750GB",
        "ram": "8GB" }
    }

    Supposons que l'application compte 100 000 enregistrements de ce type et que la taille de la clé primaire soit d'environ 20 octets. Supposons en outre que des interrogations liront les enregistrements au moyen d'un index secondaire. Par exemple, pour rechercher tous les enregistrements ayant une taille d'écran de 13 pouces. Un index est alors créé sur le champ screenSize.

    Les informations sont résumées de la manière suivante :

    Tables Rangées par table Colonnes par table Taille de la clé en octets Taille de la valeur en octets (somme de toutes les colonnes) Index Taille de la clé d'index en octets

    1

    100 000

    2

    20

    1 KO

    1

    20

  2. Déterminez la liste des opérations (en général, les opérations de création, lecture, mise à jour et suppression, et les lectures d'index) effectuées sur la table et à quel rythme (par seconde) elles sont attendues.

    Opération Nombre d'opérations (par seconde) Exemple

    Créer des enregistrements.

    3

    Pour créer un produit.

    Lire des enregistrements en utilisant la clé primaire.

    200

    Pour lire les détails du produit en utilisant l'ID produit.

    Lire des enregistrements en utilisant l'index secondaire.

    1

    Pour extraire tous les produits ayant une taille d'écran de 13 pouces.

    Mettre à jour ou ajouter un attribut à un enregistrement.

    5

    Pour mettre à jour la description de produit d'une caméra

    ou

    Pour ajouter des informations à propos du poids d'une caméra.

    Supprimer un enregistrement.

    5

    Pour supprimer un produit existant.

  3. Déterminer la consommation en lecture et écriture en Ko.

    Opération Hypothèses (éventuellement) Formule Consommation de lecture (Ko) Consommation d'écriture (Ko) Notes/Explication
    Créer des enregistrements. Supposons que les enregistrements soient créés sans vérifications de conditions (éventuelles). Taille d'enregistrement (arrondie au Ko suivant) + 1 Ko(index) * (nombre d'index) 0 1 Ko + 1 Ko (1 ) = 2 Ko

    La taille de l'enregistrement est de 1 Ko (0,8 Ko pour la colonne JSON et 20 octets pour la colonne de clé) et il existe un index de taille 1 Ko.

    Une opération de création entraîne un coût unitaire en lecture si vous exécutez les commandes put avec certaines options. Comme vous devez vous assurer de lire la version la plus récente de la ligne, les lectures cohérentes absolues sont utilisées. Dans ce cas, vous utilisez le multiplicateur 2 dans la formule d'unité de lecture. Voici les différentes options pour déterminer les coûts unitaires de lecture :
    • Si Option.IfAbsent ou Option.IfPresent est utilisé, alors Lire la consommation = 2
    • Si setReturnRow est utilisé, alors Lire la consommation = 2 * Taille de l'enregistrement
    • Si Option.IfAbsent et setReturnRow sont utilisés, alors Lire la consommation = 2 * Taille d'enregistrement
    Lire des enregistrements en utilisant la clé primaire.   Record size round up to KB Taille d'enregistrement = 1 Ko 0 La taille d'enregistrement est de 1 Ko
    Lire des enregistrements en utilisant l'index secondaire. Supposons que 100 enregistrements soient retournés. record_size * number_of_records_matched

    11 Ko * 100 = 100 Ko

    100 KB + 10 KB = 110 KB

    0

    Aucuns frais ne s'appliquent pour l'index secondaire. La taille de l'enregistrement est de 1 Ko. Pour 100 enregistrements, elle est de 100 Ko.

    D'autres comptes de 10 Ko sont responsables de la surcharge variable, selon le nombre de lots retournés et la limite de taille définie pour l'interrogation.

    Les frais généraux représentent le coût de lecture de la dernière clé d'un lot. Il s'agit d'une variable qui dépend de maxReadKB et de la taille de l'enregistrement. Les frais généraux s'élèvent à (numBatches - 1) * coût de lecture de clé (1 Ko).

    Mettre à jour des enregistrements existants Supposons que la taille de l'enregistrement mis à jour soit identique à celle de l'ancien enregistrement (1 Ko). Read consumption = record_size * 2

    Consommation d'unités d'écriture = original_record_size + new_record_size + 1 Ko (index) * (nombre d'écritures)

    1 KO * 2 1 KB + 1 KB + 1KB(1) *(2) = 4 KB

    Lorsque des lignes sont mises à jour à l'aide d'une interrogation (instruction SQL), les unités de lecture et d'écriture sont consommées. Selon la mise à jour, il peut être nécessaire de lire la clé primaire, la clé secondaire ou même l'enregistrement lui-même. Des lectures cohérentes absolues sont nécessaires pour garantir que nous lisons le dernier enregistrement. Les lectures à cohérence absolue représentent le double du coût des lectures à cohérence éventuelle. C'est la raison de la multiplication par 2 dans la formule.

    Consommation de lecture : Aucuns frais pour l'index et la taille de l'enregistrement n'est de 1 Ko. Si vous exécutez avec l'option setReturnRow, lisez la consommation = 2 * Taille de l'enregistrement

    Consommation d'écriture : La taille initiale et la nouvelle taille d'enregistrement sont de 1 Ko et de 1 Ko pour un index.

    Supprimer un enregistrement   Consommation d'unités de lecture = 1 Ko (index) * 2

    Consommation d'unités d'écriture = record_size + 1Ko (index) * (number_of_indexes)

    1 KO (1) *2 = 2 KO 1 KO + 1 KO(1) * (1) = 2 KO

    Une suppression entraîne à la fois des coûts d'unité de lecture et d'écriture. Comme vous devez vous assurer de consulter la version la plus récente de la ligne, les lectures cohérentes absolues sont utilisées, c'est-à-dire la raison d'utiliser le multiplicateur 2 dans la formule d'unité de lecture.

    En cas d'exécution à l'aide de l'option setReturnRow, Consommation de lecture = 2 * Taille de l'enregistrement. Sinon, Lire la consommation = 1 Ko pour un index

    Consommation d'écriture : La taille de l'enregistrement est de 1 Ko et de 1 Ko pour l'index. Le nombre d'index est 1.

    À partir des étapes 2 et 3, déterminons les unités de lecture et d'écriture pour notre charge de travail d'application.

    Opérations Taux d'opérations Lectures par seconde Écritures par seconde

    Créer des enregistrements

    3

    0

    6

    Lire des enregistrements en utilisant la clé primaire

    300

    300

    0

    Lire des enregistrements en utilisant l'index secondaire

    10

    1100

    0

    Mettre à jour un enregistrement existant

    5

    10

    20

    Supprimer un enregistrement

    1

    2

    2

    Nombre total d'unités de lecture : 1412

    Nombre total d'unités d'écriture :28

    Par conséquent, l'application de commerce électronique devrait avoir une charge de travail estimative de 1412 lectures par seconde et de 28 écritures par seconde. Téléchargez l'évaluateur de capacité depuis Oracle Technology Network pour entrer ces valeurs, ainsi que le débit et le stockage estimatifs de votre application.

Note

Les calculs précédents supposent des demandes de lecture avec cohérence à terme. Pour une demande de lecture à cohérence absolue, l'opération consomme le double d'unités de capacité. Par conséquent, les unités de capacité de lecture seraient de 4 844.

Estimation du coût mensuel

Voyez comment estimer le coût mensuel de votre abonnement Oracle Cloud.

Lorsque vous êtes prêt à commander votre service Oracle Cloud, Oracle vous fournit un évaluateur de coût qui vous permet de déterminer votre utilisation et vos coûts mensuels avant de vous engager pour un modèle d'abonnement ou un montant.

L'évaluateur de coût calcule automatiquement votre coût mensuel du nombre d'unités de lecture, d'unités d'écriture et de stockage que vous entrez. Pour comprendre comment calculer les unités de lecture et d'écriture pour votre application, procédez comme suit :

  1. Étape 1 : Naviguez jusqu'à la rubrique Estimation de la capacité. Estimez la charge de travail de votre application en utilisant l'exemple et les formules présentés sous cette rubrique.

    Étape 2 : Téléchargez et utilisez l'évaluateur de capacité sur Oracle Technology Network pour estimer les unités d'écriture, les unités de lecture et la capacité de stockage de votre application en fonction de la charge de travail de l'application et des critères relatifs aux opérations de base de données.

  2. Étape 2 : Accédez à l'évaluateur de coût sur le site Web Oracle Cloud. Cochez la case Data Management (Gestion des données). Faites défiler l'écran jusqu'à Oracle NoSQL Database Cloud, puis cliquez sur Add (Ajouter) pour ajouter une entrée pour Oracle NoSQL Database Cloud dans les options de configuration. Développez NoSQL Database pour rechercher les différentes options d'utilisation et de configuration. Entrez des valeurs pour les paramètres d'utilisation et de configuration afin d'estimer le coût d'utilisation du service Oracle NoSQL Database Cloud à partir de vos abonnements Oracle Cloud de type Facturation à l'usage et Tarif mensuel flexible.

  3. Étape 3 : Accédez à l'évaluateur de coût sur le site Web Oracle Cloud. Dans la liste déroulante, sélectionnez Data Management. Les différentes options s'affichent sous Data Management. Naviguez jusqu'à Oracle NoSQL Database Cloud pour localiser. Cliquez sur Ajouter pour ajouter une entrée pour Oracle NoSQL Database Cloud dans les options de configuration.

  4. Étape 4 : Développer la base de données - NoSQL pour rechercher les différentes options d'utilisation et de configuration. Vous disposez de deux options sous Configuration. Vous pouvez démarrer avec l'option "Toujours gratuit" ou provisionner l'instance avec la configuration souhaitée.
    • Étape 4a : Si vous voulez une option Toujours gratuit, sous Configuration, développez Oracle NoSQL Database Cloud - Lecture, Oracle NoSQL Database Cloud Service - Stockage et Oracle NoSQL Database Cloud Service - Écrivez et modifiez la capacité de lecture, stockage et écriture à 0. L'estimation du coût total est alors affichée 0 et vous pouvez passer à l'option Toujours gratuit.
  5. Étape 5 : Vous pouvez également entrer des valeurs de configuration sous Database-NoSQL pour provisionner une capacité de lecture, d'écriture et de stockage supérieure à celle disponible dans Toujours gratuit.
    • Étape 5a : Sous Utilisation, ne modifiez pas les valeurs par défaut car Oracle NoSQL Database Cloud Service n'utilise aucune de ces valeurs.
    • Étape 5b : Sous Configuration, ajoutez le nombre d'unités de lecture, d'unités d'écriture et de capacité de stockage estimés à l'étape précédente. Le coût est estimé en fonction de vos valeurs d'entrée et affiché dans la page.
Note

Si vous utilisez la fonction d'ajustement automatique, une facture sera générée en fin de mois pour la consommation réelle des unités de lecture et d'écriture en temps réel. Vous pouvez donc collecter vos propres journaux de vérification dans l'application pour vérifier la facturation de fin du mois. Il est recommandé d'enregistrer les unités de lecture et d'écriture consommées retournées par le service NoSQL Database CLoud avec chaque appel d'API. Vous pouvez utiliser ces données pour établir une corrélation avec les données de facturation de fin de mois à partir du système de mesure et de facturation Oracle Cloud.