Articulo de referencia

TimesTen

Oracle TimesTen In-Memory Database es un sistema de gestión de bases de datos relacionales en memoria con persistencia y alta disponibilidad. Diseñado e implementado originalmen...

Oracle TimesTen In-Memory Database es un sistema de gestión de bases de datos relacionales en memoria con persistencia y alta disponibilidad. Diseñado e implementado originalmente en los laboratorios de Hewlett-Packard en Palo Alto, California , TimesTen se convirtió en una empresa independiente en 1996 y fue adquirido por Oracle Corporation en 2005. [ 1 ]

Las bases de datos TimesTen son persistentes y ofrecen alta disponibilidad. Al ser una base de datos en memoria, proporciona una latencia muy baja y un alto rendimiento. Ofrece API e interfaces estándar para bases de datos relacionales, como los lenguajes SQL y PL/SQL . Las aplicaciones acceden a TimesTen mediante API estándar como ODBC y JDBC .

TimesTen puede utilizarse como base de datos independiente y también se usa frecuentemente como caché delante de otra base de datos relacional, como Oracle Database . [ 2 ] Se utiliza con frecuencia en aplicaciones OLTP de muy alto volumen , como la facturación de telecomunicaciones prepago y las operaciones financieras. También se utiliza para aplicaciones con uso intensivo de lectura, como sitios web muy grandes y servicios basados ​​en la ubicación.

TimesTen se puede configurar como un sistema en clúster sin recursos compartidos (TimesTen Scaleout), compatible con bases de datos mucho mayores que la RAM disponible en una sola máquina, y que ofrece un rendimiento escalable y alta disponibilidad. También se puede configurar con pares de bases de datos replicadas activas/en espera (TimesTen Classic), que proporcionan alta disponibilidad y un tiempo de respuesta de microsegundos.

TimesTen funciona en Linux , Solaris y AIX y también admite aplicaciones cliente que se ejecutan en Windows y macOS . [ 3 ]

Tecnología

TimesTen es una base de datos en memoria que ofrece un acceso a datos muy rápido. Garantiza que todos los datos residan en la memoria física (RAM) durante la ejecución. Esto permite simplificar sus algoritmos internos de búsqueda y gestión de datos, lo que se traduce en tiempos de respuesta muy bajos incluso en hardware estándar. TimesTen puede utilizar la RAM disponible en su máquina host, hasta terabytes; además, admite bases de datos escalables de TimesTen de tamaño mucho mayor que la RAM de una sola máquina.

Conceptos de bases de datos

TimesTen es compatible con los conceptos estándar de las bases de datos relacionales. Las tablas constan de filas, y las filas de columnas con tipos de datos específicos. Los datos se manipulan mediante SQL. Las transacciones permiten manipular los datos con los niveles adecuados de atomicidad y aislamiento. TimesTen cumple con todas las propiedades ACID estándar propias de las bases de datos relacionales.

En general, los tipos de datos compatibles con TimesTen son un subconjunto de los compatibles con Oracle Database, incluidos NUMBER, VARCHAR y LOB; también se admiten tipos de datos específicos de TimesTen, como los enteros binarios.

Las aplicaciones acceden a las bases de datos de TimesTen mediante API relacionales estándar como ODBC , JDBC , OCI y ODPI-C. Esto permite desarrollar aplicaciones en diversos lenguajes y entornos de programación. Las aplicaciones utilizan estas API para acceder y manipular datos mediante SQL estándar. También es posible implementar y ejecutar procedimientos almacenados con PL/SQL.

Persistencia

Aunque se trata de una base de datos en memoria, las bases de datos de TimesTen son persistentes y ofrecen alta disponibilidad . Durante la ejecución, todos los datos de TimesTen se encuentran en la RAM; sin embargo, TimesTen utiliza almacenamiento no volátil para la persistencia y la recuperación de la base de datos. TimesTen almacena instantáneas de la base de datos, denominadas archivos de punto de control, en un sistema de archivos local. Además, todas las modificaciones realizadas a la base de datos se registran en archivos de registro de transacciones. La combinación de archivos de punto de control y archivos de registro de transacciones permite a TimesTen recuperar la base de datos en caso de fallo del sistema.

Además, las bases de datos de TimesTen se pueden replicar en varias máquinas para garantizar una alta disponibilidad y la recuperación ante desastres.

Métodos de conexión

Las aplicaciones pueden conectarse a las bases de datos de TimesTen mediante la configuración tradicional cliente/servidor, utilizando TCP/IP como protocolo de transporte subyacente, o en modo directo. El modo directo permite que las aplicaciones que se ejecutan en la misma máquina que la base de datos eviten la sobrecarga de la pila de red y el cambio de contexto . En tiempo de ejecución, los datos de una base de datos de TimesTen se almacenan en memoria compartida ; esto permite que los procesos de la aplicación se conecten directamente a la memoria de la base de datos y accedan a ella sin la sobrecarga de la comunicación entre procesos (IPC) ni del cambio de contexto. Las mismas API y funcionalidades están disponibles en ambos modos.

Almacenamiento en caché

Debido a que las bases de datos de TimesTen son persistentes y pueden proporcionar alta disponibilidad, pueden utilizarse como la única base de datos en muchas soluciones.

Sin embargo, las bases de datos TimesTen se suelen utilizar junto con otras bases de datos, como Oracle Database, donde una base de datos TimesTen actúa como caché para un subconjunto de datos en la base de datos tradicional (que puede ser más grande).

TimesTen permite almacenar en caché datos de una base de datos Oracle . Para ello, se definen uno o más objetos SQL denominados grupos de caché . Un grupo de caché es un conjunto de una o más tablas de base de datos relacionadas que permite subconjuntos de sus filas y/o columnas. Cada tabla de un grupo de caché debe tener una clave primaria definida o un índice único declarado en un conjunto de columnas que no admiten valores nulos, y deben estar relacionadas en una jerarquía padre-hijo mediante restricciones de clave primaria y clave externa . Se pueden usar predicados SQL para controlar qué datos se almacenarán en caché.

Una vez definido un grupo de caché, este se puede cargar, lo que permite almacenar en caché los datos de Oracle Database en TimesTen. Las aplicaciones pueden leer y escribir en los grupos de caché, y todas las modificaciones de datos se sincronizarán con las tablas correspondientes de Oracle Database.

También se pueden utilizar otras soluciones, como Oracle Golden Gate, para sincronizar datos entre TimesTen y otras bases de datos, lo que permite que TimesTen funcione como una caché muy rápida delante de otras bases de datos.

Modos de despliegue

TimesTen se puede configurar de dos maneras: TimesTen Classic y TimesTen Scaleout.

TimesTen Classic

TimesTen Classic implementa bases de datos en memoria que se ejecutan en una sola máquina, pero que pueden replicarse en otras máquinas para garantizar una alta disponibilidad. Las bases de datos de TimesTen Classic ofrecen una latencia extremadamente baja, ya que las consultas no requieren E/S de red y todos los datos son locales.

El mecanismo de replicación TimesTen Classic permite un sistema de alta disponibilidad mediante el envío de actualizaciones de bases de datos entre dos o más hosts. Normalmente, se utiliza un par de bases de datos activas y en espera para lograr la máxima disponibilidad. [ 4 ] Además de las bases de datos activas y en espera, se pueden configurar varias bases de datos de suscriptores para que funcionen como copias de recuperación ante desastres o granjas de solo lectura.

Escalabilidad de TimesTen

TimesTen Scaleout permite que una única base de datos TimesTen se distribuya en múltiples máquinas. Se utiliza una arquitectura sin recursos compartidos para distribuir los datos entre varias instancias de TimesTen que se ejecutan en múltiples máquinas. Todas las máquinas pueden consultar y modificar todos los datos de la base de datos, y se admiten todas las propiedades ACID de la base de datos . Se mantienen múltiples copias de los datos para garantizar una alta disponibilidad. Las bases de datos proporcionadas por TimesTen Scaleout pueden ser más grandes que la cantidad de RAM disponible en una sola máquina, y el rendimiento de la base de datos es escalable a medida que se agregan más máquinas.

Usos típicos

  • Facturación de telecomunicaciones y procesamiento de llamadas
  • Negociación de valores en el sector de servicios financieros
  • Servicios de bases de datos escalables en sitios web muy grandes
  • Servicios basados ​​en la ubicación

Historia

TimesTen fue fundada en los laboratorios de HP por Marie-Anne Neimat, [ 5 ] Sherry Listgarten, Kurt Shoens y Kevin Wilkerson, bajo el nombre de "Smallbase". En HP, Jean-René Bouvier decidió integrar Smallbase en HP OpenCall , que hizo el primer uso comercial del producto en 1995. En 1996, el producto se escindió en una empresa emergente independiente financiada por capital de riesgo con sede en Mountain View, California, bajo el liderazgo del CEO Jim Groff. El producto se popularizó para equipos de telecomunicaciones, ya que se requerían tiempos de respuesta en milisegundos o incluso microsegundos para aplicaciones como la conmutación de paquetes . La empresa tenía 90 empleados y era rentable cuando fue adquirida por Oracle Corporation en 2005. [ 6 ] Después de la adquisición, se agregaron muchas características de la base de datos de Oracle a TimesTen, como soporte para PL/SQL e integración con Oracle SQL Developer y Oracle Enterprise Manager . TimesTen Scaleout se agregó en 2018.

Referencias

  1. "Oracle adquiere el software de base de datos TimesTen" . Computerworld.
  2. "Descripción general de la caché de la base de datos de nivel de aplicación de Oracle TimesTen" . Oracle .
  3. "Plataformas compatibles con TimesTen (de las preguntas frecuentes de TimesTen)" .
  4. "Guía de replicación de bases de datos en memoria TimesTen" . Oracle Corporation. Archivado del original el 5 de noviembre de 2021. Consultado el 5 de noviembre de 2021 .
  5. ^ "Ganadora del Fast 50 2004: Marie-Anne Niemat" . Empresa Rápida . Diciembre de 2003.
  6. "Oracle adquiere TimesTen para su base de datos en tiempo real" . The Unix Guardian . Archivado del original el 26 de enero de 2012.
  • Sitio web de productos de TimesTen
  • Documentación de TimesTen
  • Blog de TimesTen
  • Muestras de TimesTen
Obtenido de " https://en.wikipedia.org/w/index.php?title=TimesTen&oldid=1361105772 "