Articulo de referencia

Base de datos NoSQL de Oracle

Oracle NoSQL Database es una base de datos distribuida de clave-valor de tipo NoSQL de Oracle Corporation . [ 1 ] [ 2 ] [ 3 ] [ 4 ] Proporciona semántica transaccional para la m...

Oracle NoSQL Database es una base de datos distribuida de clave-valor de tipo NoSQL de Oracle Corporation . [ 1 ] [ 2 ] [ 3 ] [ 4 ] Proporciona semántica transaccional para la manipulación de datos, escalabilidad horizontal y administración y monitorización sencillas.

Oracle NoSQL Database Cloud Service es un servicio en la nube gestionado para aplicaciones que requieren baja latencia, modelos de datos flexibles y escalabilidad elástica para cargas de trabajo dinámicas.

Los desarrolladores se centran en el desarrollo de aplicaciones y los requisitos de almacenamiento de datos, en lugar de gestionar servidores back-end, expansión de almacenamiento, despliegues de clústeres, topología, instalación/actualizaciones/parches de software, copias de seguridad, sistemas operativos y disponibilidad. Las bases de datos NoSQL se adaptan a las cargas de trabajo dinámicas de las aplicaciones y a los requisitos de rendimiento.

Los usuarios crean tablas para almacenar los datos de sus aplicaciones y realizar operaciones de base de datos. Una tabla NoSQL es similar a una tabla relacional, con propiedades adicionales como unidades de escritura, unidades de lectura y capacidad de almacenamiento. Los usuarios configuran el rendimiento y la capacidad de almacenamiento de cada tabla según las cargas de trabajo previstas. Los recursos de la base de datos NoSQL se asignan y escalan en consecuencia para satisfacer los requisitos de carga de trabajo. La facturación se realiza por hora, según la capacidad contratada.

Las bases de datos NoSQL admiten un modelo tabular. Cada fila se identifica mediante una clave única y tiene un valor de longitud arbitraria, que la aplicación interpreta. La aplicación puede manipular (insertar, eliminar, actualizar, leer) una sola fila en una transacción. También puede realizar un escaneo iterativo y no transaccional de todas las filas de la base de datos.

Licencias

Oracle Corporation distribuye la base de datos NoSQL de Oracle en tres ediciones:

  • Oracle NoSQL Database Server Community Edition bajo licencia Apache, versión 2.0
  • Oracle NoSQL Enterprise Edition bajo la licencia comercial de Oracle
  • Oracle NoSQL Basic Edition

Oracle NoSQL Database se licencia mediante un modelo freemium : están disponibles versiones de código abierto de Oracle NoSQL Community Edition, pero los usuarios finales pueden adquirir funciones y soporte adicionales a través de Oracle Store. [ 5 ]

Los controladores de Oracle NoSQL Database, [ 6 ] con licencia conforme a la Licencia Apache 2.0 , se utilizan tanto con las ediciones comunitarias como empresariales. [ 7 ]

Características principales

Arquitectura

Oracle NoSQL Database se basa en el motor de almacenamiento de alta disponibilidad Oracle Berkeley DB Java Edition . Agrega servicios para proporcionar un almacén distribuido de clave/valor de alta disponibilidad, adecuado para aplicaciones de gran volumen y sensibles a la latencia. [ 8 ]

Fragmentación y replicación

Oracle NoSQL Database es un sistema cliente-servidor, fragmentado y sin recursos compartidos . Los datos de cada fragmento se replican en cada uno de los nodos que lo componen. La clave principal de un registro se cifra mediante hash para identificar el fragmento al que pertenece. Oracle NoSQL Database está diseñado para admitir el cambio dinámico del número de fragmentos en respuesta a la disponibilidad de hardware adicional. Si el número de fragmentos cambia, los pares clave-valor se redistribuyen dinámicamente entre el nuevo conjunto de fragmentos, sin necesidad de apagar y reiniciar el sistema. Un fragmento se compone de un único nodo maestro electivo para atender las solicitudes de lectura y escritura, y varias réplicas (normalmente dos o más) que pueden atender las solicitudes de lectura. Las réplicas se mantienen actualizadas mediante replicación en tiempo real. Cada cambio en el nodo maestro se guarda localmente en el disco y también se propaga a las réplicas.

Alta disponibilidad y tolerancia a fallos

Oracle NoSQL Database proporciona replicación de base de datos con un único maestro y múltiples réplicas . [ 9 ] Los datos transaccionales se entregan a todos los nodos réplica con políticas de durabilidad flexibles por transacción. En caso de que falle el nodo réplica maestro, un proceso de elección de conmutación por error automatizado basado en PAXOS y basado en consenso minimiza el tiempo de inactividad. Tan pronto como se repara el nodo fallido, se reincorpora al fragmento, se actualiza y queda disponible para procesar solicitudes de lectura. De esta manera, las aplicaciones de Oracle NoSQL Database pueden tolerar fallos de nodos dentro de un fragmento y también múltiples fallos de nodos en distintos fragmentos.

La correcta ubicación de los servidores maestros y réplicas en el hardware del servidor (racks y conmutadores de interconexión) por parte de Oracle NoSQL Database tiene como objetivo aumentar la disponibilidad en servidores estándar.

Balanceo de carga transparente

El controlador de base de datos NoSQL de Oracle [ 10 ] particiona los datos en tiempo real y los distribuye uniformemente entre los nodos de almacenamiento. Tiene en cuenta la topología de red y la latencia, y dirige las operaciones de lectura y escritura al nodo de almacenamiento más adecuado para optimizar la distribución de la carga y el rendimiento.

Administración y supervisión del sistema

Se puede acceder al servicio de administración de Oracle NoSQL Database desde una consola web o una interfaz de línea de comandos . Este servicio admite funcionalidades como la capacidad de configurar, iniciar, detener y supervisar un nodo de almacenamiento, sin necesidad de archivos de configuración, scripts de shell ni operaciones explícitas de base de datos. Permite que los agentes de Java Management Extensions (JMX) o Simple Network Management Protocol (SNMP) estén disponibles para la supervisión. Esto permite que los clientes de administración consulten información sobre el estado, las métricas de rendimiento y los parámetros operativos de un nodo de almacenamiento y sus servicios administrados . [ 11 ]

Configuración elástica

La "elasticidad" se refiere a la expansión dinámica en línea del clúster implementado. [ 12 ] Agregar nodos de almacenamiento aumenta la capacidad, el rendimiento y la confiabilidad. Oracle NoSQL Database incluye una función de planificación de topología, con la cual un administrador puede modificar la configuración de una base de datos NoSQL mientras la base de datos está en línea. El administrador puede:

  • Incrementar la distribución de datos: aumentando el número de fragmentos en el clúster, lo que incrementa el rendimiento de escritura.
  • Incrementar el factor de replicación: asignando nodos de replicación adicionales a cada fragmento, lo que aumenta el rendimiento de lectura y la disponibilidad del sistema.
  • Reequilibrar el almacén de datos: modificando la capacidad de los nodos de almacenamiento, el sistema puede reequilibrarse, reasignando los nodos de replicación a los nodos de almacenamiento [ 13 ] según corresponda.

Los administradores pueden mover nodos de replicación y/o particiones desde nodos sobreutilizados a nodos de almacenamiento subutilizados o viceversa.

Implementación multizona

Oracle NoSQL Database admite múltiples zonas para asignar de forma inteligente la replicación de procesos y datos, con el fin de mejorar la fiabilidad ante fallos de hardware, red y alimentación. Existen dos tipos de zonas: zonas primarias, que contienen nodos que pueden funcionar como maestros o réplicas y que normalmente se conectan mediante interconexiones rápidas; y zonas secundarias, que contienen nodos que solo pueden funcionar como réplicas. Las zonas secundarias se pueden utilizar para proporcionar acceso de lectura de baja latencia a datos en una ubicación remota o para descargar cargas de trabajo de solo lectura, como análisis, generación de informes e intercambio de datos, para una mejor gestión de la carga de trabajo.

formato de datos JSON

Oracle NoSQL Database admite la serialización de datos Avro [ 14 ] , que proporciona un formato de datos binarios compacto basado en esquemas. Los esquemas se definen mediante JSON . Oracle NoSQL Database admite la evolución de esquemas. Topología inteligente configurable Los administradores del sistema indican cuánta capacidad está disponible en un nodo de almacenamiento determinado, lo que permite que los nodos más capaces alojen varios nodos de replicación. Una vez que el sistema conoce la capacidad de los nodos de almacenamiento en una configuración, asigna automáticamente nodos de replicación de forma inteligente. Esto tiene como objetivo un mejor equilibrio de carga, un mejor uso de los recursos del sistema y minimizar el impacto del sistema en caso de fallo de un nodo de almacenamiento. La topología inteligente admite centros de datos , lo que garantiza que se asigne inicialmente un conjunto completo de réplicas a cada centro de datos.

Actualización continua en línea

Oracle NoSQL Database proporciona funcionalidades para realizar una actualización progresiva, lo que permite a un administrador del sistema actualizar los nodos del clúster mientras la base de datos permanece disponible. [ 15 ]

Tolerancia a fallos

Oracle NoSQL Database se puede configurar para ser C/P o A/P en CAP . [ 16 ] En particular, si las escrituras se configuran para realizarse de forma síncrona en todas las réplicas, es C/P en CAP, es decir, un fallo de partición o nodo provoca que el sistema no esté disponible para escrituras. Si la replicación se realiza de forma asíncrona y las lecturas se configuran para ser atendidas desde cualquier réplica, es A/P en CAP, es decir, el sistema siempre está disponible, pero no hay garantía de consistencia.

Características de la base de datos

Modelo de datos de tabla

La versión 3.0 introdujo la estructura de datos tabular , que simplifica el modelado de datos de la aplicación al aprovechar los conceptos de diseño de esquema existentes. El modelo de tabla se superpone a la estructura distribuida de clave-valor, heredando todas sus ventajas y simplificando el diseño de la aplicación al permitir una integración perfecta con aplicaciones SQL conocidas.

Índice secundario

La indexación basada únicamente en clave primaria limita el número de rutas de acceso de baja latencia. En ocasiones, las aplicaciones necesitan rutas que no se basen en clave primaria para satisfacer requisitos específicos. OND admite índices secundarios en cualquier campo de valor. [ 17 ]

Soporte para objetos grandes

Las API basadas en flujos de Oracle NoSQL Database EE permiten leer y escribir objetos grandes (LOB), como archivos de audio y vídeo, sin necesidad de cargar el archivo completo en memoria. Esto tiene como objetivo reducir la latencia de las operaciones en cargas de trabajo mixtas con objetos de tamaños variables. [ 18 ]

Transacción compatible con ACID

Oracle NoSQL Database proporciona transacciones compatibles con ACID para operaciones completas de creación, lectura, actualización y eliminación (CRUD) , con garantías de transacción ajustables de durabilidad y consistencia. Una secuencia de operaciones puede funcionar como una única unidad atómica siempre que todos los registros afectados compartan la misma ruta de clave principal. [ 19 ]

Integración

Oracle NoSQL Database incluye soporte para Java , C , Python , C# y API REST . Esto permite al desarrollador de la aplicación realizar operaciones CRUD. Estas bibliotecas incluyen soporte para Avro, de modo que los desarrolladores pueden serializar y deserializar registros clave-valor indistintamente entre aplicaciones C y Java. [ 20 ]

Servicios RESTful de Oracle

Oracle NoSQL Database admite Oracle REST Data Services (ORDS). [ 21 ] Esto permite a los clientes crear una aplicación basada en REST que puede acceder a datos tanto en Oracle Database como en OND.

GeoJSON

Admite consultas espaciales en datos GeoJSON compatibles con RFC7946 . Se admiten funciones espaciales e indexación para datos GeoJSON.

Apache Hadoop

Las clases KVAvroInputFormat y KVInputFormat [ 22 ] están disponibles para leer datos de OND de forma nativa en trabajos Hadoop MapReduce. Un uso de esta clase es leer registros de bases de datos NoSQL en Oracle Loader para Hadoop. [ 23 ]

Integración con Oracle

Oracle Big Data SQL y Hive

Oracle Big Data SQL es una capa de acceso SQL común para datos almacenados en Hadoop , HDFS, Hive y OND. Esto permite a los clientes consultar datos NoSQL de Oracle desde Hive o Oracle Database . Los usuarios pueden ejecutar trabajos MapReduce sobre datos almacenados en OND configurados para un acceso seguro. La última versión también admite tipos de datos tanto primitivos como complejos.

Base de datos Oracle

Oracle NoSQL Database EE admite tablas externas, lo que permite obtener datos NoSQL de Oracle desde la base de datos Oracle mediante sentencias SQL como Select, Select Count(*), etc. Una vez que los datos NoSQL se exponen a través de tablas externas, se puede acceder a ellos mediante controladores JDBC estándar o visualizarlos mediante herramientas de inteligencia empresarial.

Otros productos de Oracle

Oracle Event Processing (OEP) proporciona acceso de lectura a Oracle NoSQL Database a través del cartucho NoSQL Database. Una vez configurado el cartucho, se pueden usar consultas CQL. Oracle Semantic Graph incluye un adaptador Jena para Oracle NoSQL Database [ 24 ] para almacenar grandes volúmenes de datos RDF (como tripletes/cuádruples). Este adaptador permite un acceso rápido a los datos de grafos almacenados en OND mediante consultas SPARQL . La integración con Oracle Coherence permite usar OND como caché para las aplicaciones de Oracle Coherence , lo que permite que las aplicaciones accedan directamente a los datos almacenados en caché desde OND.

Seguridad empresarial

Oracle NoSQL Database EE admite la autenticación de usuarios basada en contraseñas independiente del sistema operativo y a nivel de clúster, así como la integración con Oracle Wallet, y permite una mayor protección [ 25 ] contra el acceso no autorizado a datos confidenciales. Además, el cifrado SSL ( Secure Sockets Layer ) a nivel de sesión y las restricciones de puertos de red mejoran la protección contra intrusiones en la red.

Actuación

El equipo de Oracle NoSQL Database ha trabajado con varios socios clave de Oracle, incluidos Intel y Cisco , [ 26 ] realizando pruebas de rendimiento de Yahoo! Cloud Serving Benchmarks (YCSB) en diversas configuraciones de hardware y publicando sus resultados. Por ejemplo, en 2012 Oracle informó que Oracle NoSQL Database superó el millón de operaciones mixtas de YCSB por segundo. [ 27 ]

Véase también

Referencias

  1. "Descripción técnica de la base de datos NoSQL de Oracle " . www.oracle.com
  2. "Pruebas de rendimiento de la base de datos NoSQL de Oracle" .
  3. Wayner, Peter (16 de noviembre de 2011). "Primer vistazo: Oracle NoSQL Database" .
  4. Wolfe, Alexander. "¿Conoces NoSQL?" . Forbes .
  5. "Tienda Oracle" . shop.oracle.com .
  6. "Descargas de bases de datos NoSQL de Oracle" . www.oracle.com .
  7. "Base de datos NoSQL Oracle 12c Release 2 (12.2.4.5)" . docs.oracle.com .
  8. ""Documento técnico sobre la base de datos NoSQL de Oracle"" (PDF) .
  9. "Capítulo 1. Introducción a la base de datos NoSQL de Oracle" . docs.oracle.com .
  10. Conductores inteligentes
  11. "Administración de bases de datos NoSQL de Oracle" . www.oracle.com . Consultado el 15 de abril de 2019 .
  12. "Expansión elástica" . www.oracle.com .
  13. "Nodos de almacenamiento" .
  14. "Capítulo 8. Enlaces Avro" . docs.oracle.com .
  15. "Actualización continua" . www.oracle.com .
  16. Abadi, Daniel (4 de octubre de 2011). "Reflexiones sobre DBMS: Descripción general de la base de datos NoSQL de Oracle" .
  17. "Oracle NoSQL Database 3.0 admite el modelo de datos de tabla y la indexación secundaria" . InfoQ .
  18. "Soporte para objetos grandes" . www.oracle.com
  19. "Transacciones de bases de datos NoSQL de Oracle" . www.oracle.com .
  20. "API de base de datos NoSQL de Oracle" . www.oracle.com
  21. Comparar: "Descripción general (API de complementos de Oracle REST Data Services)" . download.oracle.com . Oracle Corporation . Consultado el 30/11/2015 . Este documento describe cómo desarrollar e implementar complementos que se integran con el entorno de ejecución de Oracle REST Data Services (ORDS).
  22. "API de base de datos NoSQL de Oracle" . docs.oracle.com .
  23. "Uso de Oracle NoSQL Database con Hadoop " . www.oracle.com
  24. "Descargas de tecnologías semánticas de Oracle" . www.oracle.com
  25. "Oracle NoSQL Database 3.0 mejora la seguridad y el rendimiento" . www.dbta.com . 2 de abril de 2014.
  26. "Centro de datos de Cisco" (PDF) . Cisco .
  27. "La base de datos NoSQL de Oracle supera el millón de operaciones YCSB mixtas por segundo" Archivado el 20 de mayo de 2015 en Wayback Machine.