Planifique su servicio

Tómese un tiempo para planificar su servicio Oracle NoSQL Database Cloud Service antes del proceso de creación. Analice las cuestiones planteadas en esta sección y decida qué desea hacer antes de comenzar.

En este artículo se incluyen los siguientes temas:

Visión general de Developer

Obtenga una visión general de alto nivel de la arquitectura del servicio y seleccione un SDK/Driver que satisfaga las necesidades de desarrollo de su aplicación.

Tareas de desarrollador de NDCS

Oracle NoSQL Database Cloud Service (NDCS) es un servicio de alta disponibilidad. Está diseñado para aplicaciones de alta demanda que requieren tiempos de respuesta de latencia bajos, un modelo de datos flexible y una ampliación flexible para cargas de trabajo dinámicas. Como servicio totalmente gestionado, Oracle se encarga de todas las tareas administrativas, como actualizaciones de software, parches de seguridad, fallos de hardware y aplicación de parches.

A continuación se muestra la descripción de developer_overview.png

Descripción de la ilustración developer_overview.png

SDK/controladores de base de datos NoSQL: estos SDK están licenciados con una licencia universal permisiva (UPL) y se pueden utilizar en NoSQL Cloud Service o en la base de datos local. Estos son SDK completos y ofrecen un amplio conjunto de funcionalidades. Estos controladores también se pueden utilizar en aplicaciones que se ejecutan en clusters de Oracle NoSQL que se ejecutan en otros proveedores en la nube.

Puede consultar la siguiente tabla para obtener enlaces a los SDK, las guías de API y los ejemplos:

SDK (GitHub) Guía de API Ejemplos
SDK de Java de Oracle NoSQL Guía de la API del SDK de Java Ejemplos de Java
SDK de Python de Oracle NoSQL Guía de API de SDK de Python Ejemplos de Python
SDK de Oracle NoSQL Go Guía de API de SDK de Go Ejemplos de Go
SDK de Node.js de Oracle NoSQL Guía de la API del SDK de Node.js Ejemplos de Node.js
SDK de .NET de Oracle NoSQL Guía de API de SDK de .NET Ejemplos de .NET
SDK de Oracle NoSQL Rust Guía de API de SDK de Rust Ejemplos de oxidación
SDK de Oracle NoSQL Spring Guía de API de SDK de Spring Ejemplos de primavera

Consola de OCI: permite crear tablas rápidamente, modificar tablas, suprimir tablas, cargar datos, crear índices rápidamente, suprimir índices, consultas básicas, modificar capacidades de tablas y ver métricas.

SDK/controladores de OCI: Oracle Cloud Infrastructure proporciona una serie de kits de desarrollo de software (SDK) para facilitar el desarrollo de soluciones personalizadas. Normalmente están bajo licencia UPL.

  1. API de REST

  2. SDK para Java

  3. SDK para Python

  4. SDK para Javascript,

  5. SDK para .NET

  6. SDK para Go

  7. SDK para Ruby

  8. SDK para PL/SQL

Diferencia entre los SDK/controladores de NoSQL Database y los SDK/controladores de OCI:

Los SDK de OCI están basados en REST. Son fáciles de usar, pero tienen una funcionalidad limitada. Por otro lado, los SDK de NoSQL Database ofrecen un completo conjunto de funcionalidades. Se recomienda utilizar los SDK de base de datos NoSQL, ya que ofrecen las siguientes ventajas sobre los SDK de OCI.

Referencias:

límites de Oracle NoSQL Database Cloud Service

Oracle NoSQL Database Cloud Service tiene varios límites por defecto. Cada vez que cree una tabla de Oracle NoSQL Database Cloud Service, el sistema garantiza que las solicitudes se encuentren dentro del límite especificado. Algunos límites se imponen a nivel de mesa y otros a nivel de región.

Para obtener más información sobre los límites de servicio, su alcance y cómo aumentarlos al enviar una solicitud, consulte la sección sobre límites de servicio. Los límites actuales aplicables actualmente a Oracle NoSQL Database Cloud Service se indican a continuación.

Límite Ámbito Descripción Valor en un entorno no alojado Valor en un entorno alojado
Tamaño máximo de almacenamiento de tabla Tabla Tamaño total máximo de almacenamiento por arrendatario. El espacio total utilizado para una o más tablas no puede superar este valor. 5 TB 17.5TB
Nombres de tablas Tabla Número máximo de caracteres, caracteres permitidos y carácter inicial para los nombres de tabla. Los nombres de tablas pueden tener un máximo de 256 caracteres. Todos los nombres deben empezar por una letra (a-z, A-Z) Los caracteres posteriores pueden ser letras (a-z, A -Z), dígitos (0-9) o carácter de subrayado. Igual que un entorno no alojado
Capacidad aprovisionada: rendimiento máximo de lectura y escritura Tabla Rendimiento máximo de lectura y escritura al aprovisionar una tabla. 40 000 unidades de lectura y 20 000 unidades de escritura por tabla. Hasta 420 000 unidades de lectura y 280 000 unidades de escritura en total para todas las tablas del entorno alojado
Capacidad bajo demanda: rendimiento máximo de lectura y escritura Tabla Rendimiento máximo de lectura y escritura al utilizar la capacidad bajo demanda para aprovisionar tablas. 10.000 unidades de lectura y 5.000 unidades de escritura por tabla. No permitido/necesario en un entorno alojado
Capacidad bajo demanda - Número de tablas Región Número de tablas con capacidad bajo demanda. 3 No permitido/necesario en un entorno alojado
Cambiar el modo de aprovisionamiento Tabla Cambie el modo de aprovisionamiento de la tabla de Provisionado a On Demand o viceversa. Solo se puede cambiar una vez al día. No disponible
Número máximo de tablas Región El número máximo de tablas. 30 Se puede personalizar mediante la actualización de límites de servicio de solicitud
Número máximo de columnas. Tabla El número máximo de columnas. 50 Se puede personalizar mediante la actualización de límites de servicio de solicitud
Número máximo de actualizaciones de esquema de tabla Tabla Número Máximo de Actualizaciones de Esquema de Tabla. 100 Se puede personalizar mediante la actualización de límites de servicio de solicitud
Número máximo de índices Tabla El número máximo de índices. 5 Se puede personalizar mediante la actualización de límites de servicio de solicitud
Número máximo de cambios para los límites de rendimiento y almacenamiento Tabla El número máximo de cambios para el rendimiento y los límites de almacenamiento.

Oracle permite:

  • Número ilimitado de aumentos de rendimiento y almacenamiento por día

  • Hasta cuatro reducciones en el rendimiento o el almacenamiento por periodo de 24 horas.

Se puede personalizar mediante la actualización de límites de servicio de solicitud
Nombres de índice Índice El número máximo de caracteres, caracteres permitidos y carácter inicial. Los nombres de índice pueden tener un máximo de 64 caracteres. Todos los nombres deben empezar por una letra (a-z, A-Z) Los caracteres posteriores pueden ser letras (a-z, A -Z), dígitos (0-9) o carácter de subrayado. Se puede personalizar mediante la actualización de límites de servicio de solicitud
Número máximo de operaciones individuales por solicitud WriteMultiple Solicitud El número máximo de operaciones individuales por solicitud WriteMultiple. 50 Igual que un entorno no alojado. También se puede aumentar mediante la actualización de límites de servicio de solicitud
Tamaño máximo de datos para la solicitud WriteMultiple. Solicitud Tamaño de datos máximo para la solicitud WriteMultiple. 25 MB Igual que un entorno no alojado. También se puede aumentar mediante la actualización de límites de servicio de solicitud
Nombres de Columna Columna El número máximo de caracteres, caracteres permitidos y carácter inicial. Los nombres de campo pueden tener un máximo de 64 caracteres. Todos los nombres deben empezar por una letra (a-z, A-Z) Los caracteres posteriores pueden ser letras (a-z, A -Z), dígitos (0-9) o carácter de subrayado. Igual que un entorno no alojado.
Tamaño máximo de clave de índice secundaria Índice Tamaño máximo de clave de índice. 64 bytes Se puede personalizar mediante la actualización de límites de servicio de solicitud
Tamaño máximo de clave de índice principal Índice Tamaño máximo de clave primaria. 64 bytes Se puede personalizar mediante la actualización de límites de servicio de solicitud
Tamaño máximo de fila Fila Tamaño máximo de fila. 512 KB Se puede personalizar mediante la actualización de límites de servicio de solicitud
Longitud máxima de cadena de consulta. Consulta Longitud máxima de cadena de consulta. 10 KB Se puede personalizar mediante la actualización de límites de servicio de solicitud
Ratio máximo soportado de operaciones DDL. Región Ratio máximo soportado de operaciones DDL. 4 por minuto Se puede personalizar mediante la actualización de límites de servicio de solicitud
Valores máximos para los recursos de rendimiento y almacenamiento de datos. Región Valores máximos para los recursos de rendimiento y almacenamiento de datos.

Por región, Oracle permite:

  • Un máximo de 100 000 unidades de lectura

  • Un máximo de 40 000 unidades de escritura

Oracle permite un tamaño de almacenamiento máximo de 5 TB por arrendatario. La región puede tener una sola tabla con el tamaño de almacenamiento de 5 TB, en cuyo caso la región no podrá crear otra tabla. O bien, puede tener varias tablas y asegurarse de que los datos de todas las tablas superen el tamaño de almacenamiento máximo de 5 TB.

420 000 unidades de escritura, 280 000 unidades de lectura y 17,5 TB de almacenamiento

Estimación de capacidad

Descubra cómo calcular el rendimiento y las capacidades de almacenamiento para Oracle NoSQL Database Cloud Service.

Aspectos básicos sobre el cálculo

Antes de obtener información acerca de cómo calcular el rendimiento y el almacenamiento del servicio, revisemos las definiciones de las unidades de almacenamiento y rendimiento.

Nota: Oracle NoSQL Database Cloud Service gestiona automáticamente las capacidades de lectura y escritura para satisfacer las necesidades de las cargas de trabajo dinámicas al utilizar la capacidad bajo demanda. Se recomienda validar que las necesidades de capacidad no superen los límites de capacidad bajo demanda. Consulte la sección sobre límites de Oracle NoSQL Database Cloud Service para obtener más información.

Factores que afectan a la unidad de capacidad

Antes de aprovisionar las unidades de capacidad, es importante tener en cuenta los siguientes factores que afectan a las capacidades de lectura, escritura y almacenamiento.

Ejemplo en el mundo real: cómo estimar la carga de trabajo de la aplicación

Considere un ejemplo de aplicación de ecommerce para aprender a estimar las lecturas y escrituras por segundo. En este ejemplo, Oracle NoSQL Database Cloud Service se utiliza para almacenar la información del catálogo a productos de la aplicación.

  1. Identifique el modelo de datos (JSON o tabla fija), el tamaño de registro y el tamaño de clave para la aplicación.

    Supongamos que la aplicación de e-commerce sigue el Modelo de Datos JSON y el desarrollador ha creado una tabla simple con dos columnas. Un identificador de registro (clave primaria) y un documento JSON para los atributos y las funciones del producto. El documento JSON, que tiene menos de 1 KB (0,8 KB), es el siguiente:

    {
      "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" }
    }

    Suponga que la aplicación tiene 100 000 registros de ese tipo y que la clave primaria tiene aproximadamente 20 bytes de tamaño. Además, suponga que hay consultas que leen registros mediante un índice secundario. Por ejemplo, para buscar todos los registros que tengan un tamaño de pantalla de 13 pulgadas. Por lo tanto, se crea un índice en el campo screenSize.

    Podría resumirse así:

    Tablas Filas por tabla Columnas por tabla Tamaño de la clave en bytes Tamaño de valor en bytes (suma de todas las columnas) Índices Tamaño de clave de índice en bytes
    1 100000 2 20 1 KB 1 20
  2. Identifique la lista de operaciones (normalmente operaciones de creación, lectura, actualización y supresión, y lecturas de índice) en la tabla y la velocidad prevista de dichas operaciones (por segundo).

    Operación Número de operaciones (por segundo) Ejemplo
    Creación de registros 3 Para crear un producto.
    Leer registros mediante la clave primaria. 200 Para leer los detalles del producto mediante el ID de producto.
    Leer registros mediante el índice secundario. 1 Para recuperar todos los productos con un tamaño de pantalla de 13 pulgadas.
    Actualizar o agregar un atributo a un registro. 5

    Para actualizar la descripción del producto de una cámara

    o bien,

    Para agregar información sobre el peso de una cámara.

    Eliminar registro. 5 Para suprimir un producto existente.
  3. Determine el consumo de lectura y escritura en kB.

    Operación Suposiciones (si las hay) Fórmula Consumo de lectura (KB) Consumo de escritura (KB) Notas/explicación
    Creación de registros Suponga que los registros se crean sin realizar ninguna comprobación de condición (si la hubiera). Record size (rounded to next KB) + 1 KB(index) * (number of indexes) 0 1 kB + 1 kB (1 ) = 2 kB

    El tamaño de registro es de 1 KB (0,8 KB para la columna JSON y 20 bytes para la columna de clave) y hay un índice de tamaño de 1 KB.

    Una operación de creación incurre en un costo unitario de lectura si ejecuta los comandos put con algunas opciones. Puesto que debe garantizar que está leyendo la versión más reciente de la fila, se utilizan lecturas consistentes absolutas. En tales casos, se utiliza el multiplicador 2 en la fórmula de unidad de lectura. Estas son las diferentes opciones para determinar los costos unitarios de lectura:

    • Si se utiliza Option.IfAbsent u Option.IfPresent, leer consumo = 2
    • Si se utiliza setReturnRow, Consumo de lectura = 2 * Tamaño de registro
    • Si se utiliza Option.IfAbsent y setReturnRow, Consumo de Lectura = 2 * Tamaño de Registro

    Leer registros mediante la clave primaria.   Record size round up to KB Tamaño de registro = 1 KB 0 El tamaño de registro es 1 KB
    Leer registros mediante el índice secundario. Suponga que se devuelven 100 registros. record_size * number_of_records_matched

    11 KB * 100 = 100 KB

    100 KB + 10 KB = 110 KB

    0

    No hay ningún cargo para el índice secundario. El tamaño del registro es de 1 KB. Para 100 registros es de 100 KB.

    10 KB adicionales representan la sobrecarga variable que se puede producir según el número de lotes devueltos y el límite del tamaño definido para la consulta.

    La sobrecarga es el costo de la lectura de la última clave de un lote. Se trata de una variable que depende del tamaño de registro y maxReadKB. La sobrecarga es de hasta (numBatches - 1) * costo de lectura de clave (1 KB).

    Actualizar registros existentes Suponga que el registro actualizado tiene el mismo tamaño que el registro antiguo (1 kB). Read consumption = record_size * 2
    Write consumption = original_record_size + new_record_size + 1 KB (index) * (number of writes)
    1 KB * 2 1 KB + 1 KB + 1 KB (1) * (2) = 4 KB

    Cuando las filas se actualizan mediante una consulta (sentencia SQL), se consumen tanto las unidades de lectura como las de escritura. En función de la actualización, puede que necesite leer la clave primaria, la clave secundaria o incluso el propio registro. Se necesitan lecturas consistentes absolutas para garantizar que estamos leyendo el registro más reciente. Las lecturas de consistencia absoluta duplican el coste de la lectura de consistencia final. Esa es la razón por la que se multiplica por 2 en la fórmula.

    Consumo de lectura: ningún cargo por el índice y el tamaño del registro es de 1 KB. Si se ejecuta con la opción setReturnRow, consumos de lectura = 2 * tamaño de registro

    Consumo de escritura: el tamaño de registro original y nuevo es de 1 KB y 1 KB para un índice.

    Eliminar registro   Read consumption = 1 KB (index) * 2
    Write consumption = record_size + 1KB (index) * (number_of_indexes)
    1 KB (1) *2 = 2 KB 1 KB + 1 KB(1) * (1) = 2 KB

    Una eliminación genera costes unitarios tanto de lectura como de escritura. Dado que tiene que garantizar que está mirando la versión más actual de la fila, se utilizan lecturas absolutamente coherentes, esa es la razón para utilizar el multiplicador 2 en la fórmula de unidad de lectura.

    Si se ejecuta con la opción setReturnRow, Consumo de lectura = 2 * Tamaño de registro. De lo contrario, Consumo de lectura= 1 KB para un índice

    Consumo de escritura: el tamaño del registro es de 1 KB y 1 KB para el índice. El número de índice es 1.

    Con los pasos 2 y 3, determine las unidades de lectura y escritura para la carga de trabajo de la aplicación.

    Operations Velocidad de las operaciones Lecturas por Segundo Escrituras por Segundo
    Crear registros 3 0 6
    Leer registros mediante la clave primaria 300 300 0
    Leer registros mediante el índice secundario 10 1100 0
    Actualizar un registro existente 5 10 20
    Eliminar registro 1 2 2

    Total de unidades de lectura: 1412

    Total de unidades de escritura:28

    Por lo tanto, se estima que la aplicación de comercio electrónico tiene una carga de trabajo de 1412 lecturas por segundo y 28 escrituras por segundo. Descargue el estimador de capacidad

Nota: Los cálculos anteriores suponen solicitudes que finalmente son coherentes. Para una solicitud de lectura absolutamente coherente, la operación consume el doble. Por lo tanto, las unidades de capacidad de lectura serían 4844 unidades de lectura.

Estimación del costo mensual

Descubra cómo calcular el costo mensual de su suscripción de Oracle Cloud.

Cuando esté listo para tramitir el pedido del servicio de Oracle Cloud, Oracle le proporciona un estimador de costos para conocer su uso mensual y los costos antes de confirmar un modelo o un importe de suscripción.

El estimador de costos calcula automáticamente el costo mensual según las unidades de lectura, las unidades de escritura y el almacenamiento indicados. No obstante, para comprender cómo calcular las unidades de lectura y escritura para su aplicación, siga estos pasos:

  1. Paso 1: Navegue hasta el tema Estimación de capacidad. Calcule la carga de trabajo de la aplicación con el ejemplo y las fórmulas que se describen en este tema.

    Descargue y utilice el estimador de la capacidad de Oracle Technology Network para estimar las unidad de escritura, las unidad de lectura y la capacidad de almacenamiento para su aplicación según los criterios del trabajo de la aplicación y la carga de trabajo del servidor de la aplicación.

  2. Paso 2: Acceda al estimador de costos en el sitio web de Oracle Cloud. Seleccione la casilla de control Gestión de datos. Desplácese hasta Oracle NoSQL Database Cloud y seleccione Agregar para agregar una entrada para Oracle NoSQL Database Cloud en Opciones de configuración. Amplíe NoSQL Database para buscar las diferentes opciones de configuración y utilización. Valores de entrada para los parámetros de utilización y configuración para estimar el costo del uso de Oracle NoSQL Database Cloud Service desde las suscripciones de Oracle Cloud Pay-As-You-Go y Monthly Flex.

  3. Paso 3: Acceda al estimador de costos en el sitio web de Oracle Cloud. En la lista desplegable, seleccione Data Management (Gestión de datos). Verá varias opciones en Data Management. Desplácese hasta Oracle NoSQL Database Cloud. Haga clic en Agregar para agregar una entrada para Oracle NoSQL Database Cloud en Opciones de configuración.

  4. Paso 4: amplíe Base de datos - NoSQL para buscar las diferentes opciones de utilización y configuración. En Configuración, tiene dos opciones. Puede empezar con una opción "Siempre gratis" (disponible solo en la región Phoenix), o bien puede aprovisionar la instancia con la configuración deseada.

    • Paso 4a: si desea una opción Siempre gratis, en Configuración amplíe Oracle NoSQL Database Cloud - Lectura, Oracle NoSQL Database Cloud Service - Almacenamiento y Oracle NoSQL Database Cloud Service - Escritura y cambie la capacidad de lectura, almacenamiento y escritura como 0. A continuación, la estimación de costo total se muestra como 0 y puede continuar con la opción Siempre gratis.
  5. Paso 5: también puede hacerlo introduciendo los valores de configuración en Database-NoSQL si desea aprovisionar una capacidad de lectura, escritura y almacenamiento superior a la que está disponible en Always Free.

    • Paso 5a: en Uso, no modifique los valores por defecto, ya que Oracle NoSQL Database Cloud Service no utiliza ninguno de estos valores.

    • Paso 5b: en Configuración, agregue el número de unidades de lectura, unidades de escritura y capacidad de almacenamiento que estimó en el paso anterior. El costo se calcula en función de los valores de entrada y se muestra en la página.

Nota: Si utiliza la función de escala automática, se generará una factura de venta al final del mes para el consumo real de unidades de lectura y escritura en tiempo real. Por lo tanto, es posible que desee recopilar sus propios logs de auditoría en la aplicación para verificar la facturación de fin de mes. Se recomienda registrar las unidades de lectura y escritura consumidas que devuelve el servicio NoSQL Database Cloud con cada llamada de API. Puede utilizar estos datos para correlacionarlos con los datos de facturación al final del mes del sistema de medición y facturación de Oracle Cloud.

Para obtener más información sobre los diferentes modelos de precios disponibles, consulte Precios de NoSQL Database Cloud Service.

Costo/facturación para tablas activas globales

El costo/facturación de una tabla activa global tiene dos componentes. El primer componente es el modelo de precios que se sigue para las tablas únicas, que tiene en cuenta las unidades de lectura al mes, las unidades de escritura al mes y la capacidad de almacenamiento en gigabytes (GB) al mes. El segundo componente es para las escrituras replicadas de cada réplica de tabla regional para la tabla Global Active. Las escrituras replicadas entrantes se cargan en función de las escrituras consumidas.