Servidor RDM: un DBMS cliente / servidor desarrollado por ingenieros de software para ingenieros de software

octubre 8

Logotipo de Raima sobre fondo gris

Hay muchos servidores de bases de datos disponibles en el mercado, desde sistemas de código abierto como MySQL y PostgreSQL hasta grandes sistemas orientados a empresas como MS SQL Server, IBM DB2 y Oracle. Con todas estas opciones, ¿por qué alguien optaría por utilizar el servidor RDM de Raima?

Servidores de base de datos tradicionales frente a servidor RDM

RDM Server no está diseñado para aplicaciones empresariales, en las que una amplia variedad de aplicaciones comparten el servidor de base de datos. Está diseñado para integrarse estrechamente con aplicaciones específicas que brindan soporte de administración de bases de datos de alto rendimiento para una base de datos o una familia de bases de datos interrelacionadas.

Con los servidores de bases de datos tradicionales, la aplicación se mantiene al alcance de la mano (o más) del servidor mismo. Esto protege al servidor de la base de datos de problemas de confiabilidad que pueden resultar de un código de aplicación erróneo. Pero existe un costo de rendimiento asociado con hacer eso, ya que todas las operaciones de la base de datos incurren en latencia de todas las llamadas a procedimientos remotos (RPC) entre el programa de aplicación del cliente y el servidor de la base de datos.

Y sí, como servidor de base de datos, RDM Server también debe admitir aplicaciones cliente a través de RPC. Pero RDM Server proporciona una amplia gama de compatibilidad con la programación de aplicaciones en el servidor que permite que la aplicación se convierta en una con el servidor. El beneficio de rendimiento que puede resultar de las aplicaciones que aprovechan estas características es significativo.

Las funciones de soporte de aplicaciones en el servidor proporcionadas en RDM Server incluyen las siguientes

  • Módulos de extensión de servidor basados en C que se pueden llamar desde una aplicación cliente a través de RPC. El diseño de partes importantes del procesamiento de la base de datos de su aplicación en módulos de extensión puede reducir en gran medida la cantidad de RPC necesarios.
  • Los procedimientos definidos por el usuario (UDP) basados en SQL y C son similares a los módulos de extensión, pero se llaman desde SQL.
  • Las funciones definidas por el usuario (UDF) basadas en SQL C le permiten ampliar las funciones escalares y agregadas que se pueden usar en una declaración SQL.
  • La tecnología de enlace de aplicaciones permite que RDM Server se vincule directamente a su aplicación, eliminando por completo la necesidad de RPC entre la aplicación y RDM Server.

Actuación

RDM Server también proporciona métodos de acceso a datos de alto rendimiento que incluyen índices Btree y hash. Además, RDM Server incluye la capacidad única de crear uniones predefinidas en tablas relacionadas a través de declaraciones de claves primarias y externas que proporcionan una recuperación de acceso directo y óptima de las filas unidas.

RDM Server también admite el acceso multiusuario de alto rendimiento y el rendimiento de las transacciones a través del bloqueo a nivel de fila, además de la capacidad de tener tablas en memoria para las tablas que necesitan el máximo rendimiento de acceso posible.

Todas las funciones de API del sistema operativo independientes de la plataforma de RDM Server están disponibles para que las utilicen los desarrolladores de aplicaciones. Estas API proporcionan llamadas que permiten desarrollar programas portátiles de subprocesos múltiples que pueden ejecutarse en cualquiera de los sistemas operativos compatibles con RDM Server.

Las capacidades de administración de bases de datos están diseñadas para integrarse como parte de su aplicación. Sus usuarios ni siquiera necesitan saber que hay un DBMS de terceros presente. Ciertamente, este no es el caso de la mayoría de los demás servidores de bases de datos SQL. Toda esta tecnología de base de datos se proporciona en un espacio reducido.

Servidor SQL y RDM

Las aplicaciones de RDM Server no dependen de SQL. Puede crear una aplicación de base de datos que use solo estándares SQL, una que solo use SQL para consultas o una que no use SQL en absoluto. El uso de llamadas a funciones de administración de bases de datos más básicas, aunque propietarias, directamente desde su programa de aplicación evita la sobrecarga asociada con la interpretación de declaraciones SQL, lo que produce el mayor rendimiento posible. Tienes una opción.

RDM Server está diseñado por ingenieros de software para ingenieros de software. Existe una amplia gama de opciones de diseño de aplicaciones y bases de datos disponibles que le permitirán tener la aplicación de mayor rendimiento que pueda tener. Pero esto no lo pone fácil. Es necesario un trabajo arduo y una comprensión profunda de las herramientas disponibles para producir ese tipo de aplicación. Como tal, la organización de servicios profesionales de Raima está aquí para ayudarlo a aprovechar al máximo su uso de RDM Server ofreciéndole capacitación, consultas y experiencia en desarrollo de aplicaciones.

Resumen de las funciones relacionadas con el rendimiento del servidor RDM

  • Se admiten tres métodos de acceso a registros / filas:
    • rápido: índices btree,
    • más rápido: índices hash,
    • más rápido: acceso directo a través de claves primarias de rowid.
  • Capacidad para predefinir combinaciones de clave externa / primaria utilizando la declaración de combinación de creación
    • proporciona un rendimiento de procesamiento de unión de acceso directo óptimo.
  • Capacidad para especificar tablas o índices de alta accesibilidad para que estén en memoria.
  • Soporte de bloqueo a nivel de fila para acceso concurrente a bases de datos de múltiples usuarios.
  • Capacidad para ubicar módulos C de aplicaciones importantes en el servidor RDM para reducir los costos de rendimiento debido a las llamadas a procedimientos remotos cliente / servidor.
  • Capacidad para abrir una base de datos para uso exclusivo con transacciones deshabilitadas para brindar soporte de procesamiento por lotes de alta velocidad.
  • Control del desarrollador sobre una variedad de parámetros del sistema que pueden afectar el rendimiento, incluidos:
    • capacidad para ubicar archivos de base de datos en dispositivos físicos separados,
    • capacidad de especificar tamaños de página para tablas e índices individuales,
    • capacidad de controlar el tamaño de la caché de la base de datos del servidor RDM,
    • opciones que le permiten intercambiar confiabilidad por rendimiento.
  • Arquitectura de servidor de subprocesos múltiples que utiliza subprocesos separados para:
    • conexiones de usuario / cliente
    • comunicaciones de red
    • registro de transacciones
    • puntos de control de la base de datos
    • lecturas de archivo de base de datos

Otras características importantes del servidor RDM

  • La compatibilidad con DDL dinámico permite realizar cambios de esquema en una base de datos existente.
    • Las columnas de la tabla se pueden agregar o quitar.
    • Se pueden crear nuevas tablas.
    • Los índices se pueden agregar o quitar.
    • Compatible a través de funciones de API de tiempo de ejecución central o SQL
  • Soporte de respaldo de base de datos en línea caliente
    • Coloca el servidor en modo de copia de seguridad activa, lo que permite que los archivos de la base de datos se copien de forma segura en un medio de copia de seguridad. RDM Server no realiza la copia de seguridad en sí.
    • Proporciona llamadas a funciones API para:
      • iniciar y finalizar el modo de respaldo en caliente,
      • obtener una lista completa de los archivos de la base de datos que deben respaldarse,
      • para informar el progreso de la copia de seguridad incremental como un porcentaje del archivo;
        • permite que RDM Server finalice el modo de copia de seguridad para la parte del archivo de la que se ha realizado copia de seguridad, mejorando así de forma incremental el rendimiento del sistema mientras se realiza la copia de seguridad.
  • Controladores proporcionados para aplicaciones ODBC, JDBC y ADO.NET y herramientas de acceso a bases de datos de terceros.
    • ODBC es la API estándar (es decir, nativa) para uso de SQL en RDM Server
  • Procesador de comunicación de red multiprotocolo.
    • Soporte local (mismo equipo) a través del transporte de memoria compartida
    • Canalizaciones con nombre de MS Windows
    • TCP / IP
    • Sockets de dominio UNIX
    • Algunos o todos se pueden admitir al mismo tiempo en un solo servidor
  • Seguridad del usuario y de la base de datos
    • Seguridad de usuario de acceso selectivo a la base de datos proporcionada para usuarios que no son administradores (por ejemplo, utilizando SQL conceder y revocar)
    • Opciones proporcionadas para cifrar el contenido de la base de datos y / o las transmisiones de la red.
  • Replicación de base de datos
    • Replica datos de un servidor RDM a otro
      • Sincrónico: para fines de respaldo como una alternativa al respaldo en línea activo que proporciona una conmutación por error más rápida en caso de que falle el maestro.
      • Asincrónico: para permitir que una o más copias de la base de datos se repliquen en esclavos de solo lectura para el análisis de datos y el uso de informes.
    • Replica datos selectivos de RDM Server a otro DBMS de terceros

Get notified about new RDM updates

Be the first to know about new Raima Database Manager updates when they go live, use cases, industry trends and more.