Hace 30 años, las bases de datos relacionales se anuncia-
ban como una gran innovación. En lugar de las bases de
datos monolíticas heredadas, cada una con su esquema de
datos exclusivo, los datos se podían almacenar en formato
tabular y cualquiera que supiese SQL podía acceder a ellos.
Las bases de datos relacionales tuvieron mucho éxito y el
lenguaje SQL se convirtió en un estándar común para ac-
ceder a las bases de datos. Sin embargo, como suele ser
habitual con las viejas tecnologías, las bases de datos re-
lacionales tienen limitaciones que reducen su aplicabilidad
al mundo actual, principalmente en los ámbitos de rendi-
miento/escalabilidad, facilidad de uso y adaptación con
las tecnologías de desarrollo de hoy en día.
El uso y complejidad de las aplicaciones informáticas se han disparado y los sistemas actuales necesitan cada vez más requisitos de proceso, superando las capacidades de la tecnología relacional. Muchas de las aplicaciones clave que requerían gran rendimiento y escalabilidad nunca realizaron la transición hacia las bases de datos relacionales y hoy, incluso las aplicaciones más sencillas, están comenzando a aproximarse a los límites de la tecnología relacional tradicional.
La “diferencia de impedancia” entre las bases de datos relacionales y las tecnologías de desarrollo actuales se han convertido en un problema grave, complicando el desarrollo y aumentando las posibilidades de fallo. Aunque la sencillez de las estructuras tabulares admite un lenguaje de consulta (SQL) elegante, es difícil descomponer las estructuras de datos del mundo real en simples filas y columnas. El resultado es un enorme número de tablas cuyas relaciones son difíciles de recordar y utilizar; las filas y columnas son sencillas, pero no así la necesidad omnipresente de programar left outerjoins, procedimientos almacenados y triggers.
Las aplicaciones actuales de proceso de transacciones tienen unos requisitos que superan las posibilidades de la tecnología relacional: deben abarcar grandes redes, dar servicio a miles de clientes y seguir proporcionando un rendimiento excelente, compatibilidad con la Web y operaciones sencillas con bajo coste. ¡Y tienen que desarrollarse rápidamente!
Presentamos Caché
InterSystems Caché® es una nueva generación de tecnología de bases de datos de alto rendimiento. Combina una base de datos de objetos, SQL de alto rendimiento y un potente acceso a datos multidimensionales; todos ellos pueden acceder simultáneamente a los mismos datos. Los datos sólo se describen una vez en un único diccionario de datos integrado que está disponible instantáneamente utilizando todos los métodos de acceso. Caché proporciona unos niveles de rendimiento, escalabilidad, programación rápida y facilidad de uso que la tecnología relacional no puede alcanzar.
Caché incorpora varios lenguajes de scripts: Caché ObjectScript, un lenguaje de programación potente, aunque fácil de aprender, orientado a objetos; Caché Basic, un superconjunto del lenguaje de programación Basic, ampliamente extendido, que incluye extensiones de acceso potente a los datos y de tecnología de objetos; y Caché MV Basic, una variante de Basic utilizada por aplicaciones MultiValue (a las que a veces se hace referencia como aplicaciones Pick). Otros lenguajes, como Java, C# y C++ tienen soporte mediante llamada directa o mediante otras interfaces, que incluyen ODBC, JDBC, .NET y una interfaz de objetos proporcionada por Caché que permite el acceso a la base de datos Caché y a otras características de Caché como propiedades y métodos.
Caché también va más allá de las bases de datos tradicionales con la incorporación de un entorno productivo para el desarrollo de sofisticadas aplicaciones basadas en navegador (Web). La tecnología Caché Server Pages (CSP) permite desarrollar y ejecutar rápidamente páginas Web generadas dinámicamente. Miles de usuarios Web simultáneos pueden acceder a las aplicaciones de bases de datos, incluso con hardware de bajo coste.
En el caso de las aplicaciones no basadas en navegador tipo Internet, la interfaz de usuario suele programarse en alguna de las tecnologías cliente de interfaz de usuario conocidas, como VB, Delphi, Java o C++. Los mejores resultados (programación más rápida, mayor rendimiento y menor mantenimiento) suelen obtenerse realizando el resto del desarrollo dentro de Caché. Sin embargo, Caché también proporciona niveles muy altos de interoperatividad con otras tecnologías y soporta todas las herramientas de desarrollo utilizadas más frecuentemente, disponiendo de esta forma de un amplio rango de metodologías de desarrollo.
Guía Tecnológica Caché