Descripción general de las bases de datos relacionales modernas. Se utilizan varias soluciones arquitectónicas al implementar bases de datos multiusuario. breve descripción general de subd

Las bases de datos relacionales se utilizan en programación desde hace mucho tiempo. Hubo un tiempo en que ganaron popularidad debido a la simplicidad y conveniencia del modelo relacional de trabajo con datos.

Este artículo analiza las diferencias entre los sistemas de gestión de bases de datos relacionales (DBMS) más populares: SQLite, MySQL y PostgreSQL.

Sistemas de gestión de bases de datos

Las bases de datos son depósitos modelados lógicamente de diversa información (datos) de todo tipo. Cada base de datos SQL se basa en un modelo que proporciona una estructura para los datos que almacena. Los sistemas de gestión de bases de datos son aplicaciones (o bibliotecas) que gestionan bases de datos de diversas formas, tamaños y tipos.

Sistemas de gestión de bases de datos relacionales.

Los DBMS relacionales utilizan un modelo relacional para trabajar con datos. Este modelo almacena cualquier información en tablas en forma de registros relacionados con atributos.

Este tipo de DBMS requiere estructuras de tablas. Las columnas (atributos) de dicha tabla contienen varios tipos de datos. Cada registro de la base de datos se trata como una fila de una tabla, cuyos atributos se representan como columnas.

Relaciones y tipos de datos

Las relaciones pueden considerarse como conjuntos matemáticos que contienen una serie de atributos que representan colectivamente la base de datos y la información almacenada en ella.

Al agregar un registro a una tabla, debe distribuir todos sus componentes (atributos) por tipo de datos. Los diferentes DBMS relacionales utilizan diferentes tipos de datos y no siempre son intercambiables.

Estas restricciones (como, por ejemplo, con los tipos de datos) son típicas de los DBMS relacionales porque, de hecho, las relaciones entre datos se construyen sobre la base de restricciones.

Nota: Las bases de datos NoSQL no tienen restricciones tan estrictas porque no construyen tales relaciones entre los datos. Para obtener más información sobre NoSQL, lea.

Bases de datos relacionales populares

En este artículo veremos tres de los DBMS de código abierto más importantes y populares.

  • SQLite: potente sistema de gestión de bases de datos integrado.
  • MySQL: la base de datos más popular y utilizada.
  • PostgreSQL: un DBMS de objetos avanzado, de código abierto y compatible con SQL.

Nota: Las aplicaciones de código abierto casi siempre otorgan a los usuarios el derecho de usar y cambiar el código libremente. Al bifurcar el código, puedes crear una aplicación completamente nueva. Una bifurcación de MySQL, por ejemplo, es MariaDB.

SQLite

SQLite es una biblioteca de rendimiento que se puede integrar en aplicaciones. Una base de datos completa basada en archivos SQLite ofrece una amplia gama de herramientas para procesar todo tipo de datos e impone muchas menos restricciones que otras bases de datos relacionales.

Las aplicaciones que utilizan SQLite no se comunican mediante una interfaz (puertos, sockets), sino que envían solicitudes directas al archivo en el que se almacenan los datos (por ejemplo, una base de datos SQLite). Esto hace que la aplicación SQLite sea muy rápida y eficaz.

tipos de datos SQLite

  • NULO: valor vacío.
  • INTEGER: valor entero (dependiendo del tamaño, el valor se almacena en 1, 2, 3, 4, 6 u 8 bytes).
  • REAL: número de coma flotante, almacenado como IEEE de 8 bytes.
  • TEXTO: cadena de texto, almacenada en formato cifrado (UTF-8, UTF-16BE o UTF-16LE).
  • BLOB: dato binario, almacenado en la forma en que fue ingresado.

Beneficios de SQLite

  • Diseño simple basado en archivos: toda la base de datos consta de un solo archivo, lo que aumenta su portabilidad.
  • Estándares: A pesar de su sencillez, el sistema SQLite está basado en SQL. Algunas funciones se omiten (UNIÓN EXTERIOR DERECHA o PARA CADA DECLARACIÓN), pero se agregan otras en su lugar.
  • SQLite es ideal para desarrollo o pruebas. En estas etapas, casi siempre se necesita una solución simple pero escalable.

Desventajas de SQLite

  • Sin gestión de usuarios. Los DBMS más complejos admiten la gestión de usuarios (sus relaciones, privilegios, etc.). Un DBMS SQLite simple no proporciona dicha función.
  • No se puede mejorar el rendimiento. La biblioteca SQLite es fácil de configurar y usar. Sin embargo, está diseñado de tal manera que no permite obtener rendimiento adicional mediante un ajuste fino. Es decir, es técnicamente imposible hacer que SQLite sea más productivo.

¿Cuándo es el mejor momento para usar SQLite?

  • Aplicaciones integradas simples que requieren portabilidad, como aplicaciones locales para un solo usuario, aplicaciones móviles y juegos.
  • Reemplazo de disco. Normalmente, las aplicaciones que necesitan leer o escribir archivos en el disco pueden usar SQLite para obtener funciones adicionales.
  • Pruebas.

¿Cuándo es mejor no usar SQLite?

  • Aplicaciones multiusuario. Si una aplicación está construida de tal manera que una gran cantidad de clientes usan simultáneamente una base de datos, entonces es mejor implementar un DBMS relacional con todas las funciones (por ejemplo, MySQL) en dicha aplicación.
  • Aplicaciones que registran grandes cantidades de datos. La operación de escritura es una de las limitaciones de SQLite. Este DBMS permite sólo una operación de escritura a la vez, por lo que limita el rendimiento.

mysql

MySQL es el DBMS más popular. Esta es una aplicación abierta multifuncional que admite una gran cantidad de sitios. MySQL es bastante fácil de usar y puede almacenar grandes cantidades de datos.

Nota: Dada la popularidad de MySQL, se han desarrollado una gran cantidad de aplicaciones, herramientas y bibliotecas de terceros para este sistema.

MySQL no implementa el estándar SQL completo. A pesar de esto, MySQL ofrece muchas funciones a los usuarios: un servidor de base de datos independiente, interacción con aplicaciones y sitios web, etc.

Tipos de datos MySQL

  • TINYINT: un número entero en el rango de -128 a 127 (1 byte).
  • SMALLINT: número entero de -32768 a 32767 (2 bytes).
  • MEDIUMINT: número de -8388608 a 8388608 (3 bytes).
  • INT o INTEGER: un número en el rango -2147683648 a 2147683648 (4 bytes).
  • BIGINT: número de -2 63 a 2 63 -1 (8 bytes).
  • FLOAT: número de coma flotante (4 bytes).
  • DOBLE, DOBLE PRECISIÓN, REAL: número de coma flotante de doble precisión.
  • DECIMAL, NUMÉRICO: valores de mayor precisión.
  • FECHA: fecha.
  • DATETIME: fecha y hora.
  • MARCA DE TIEMPO: marca de tiempo.
  • HORA: hora en formato hh:mm:ss.
  • AÑO: año (almacenado como 4 dígitos por defecto, pero se pueden configurar 2).
  • CHAR: cadena de longitud fija.
  • VARCHAR: cadenas variables.
  • TINYBLOB, TINYTEXT: El tipo TEXT permite almacenar texto, y el tipo BLOB permite almacenar imágenes, sonido, documentos electrónicos, etc. La longitud máxima es de 225 caracteres.
  • BLOB, TEXTO: grandes cantidades de texto, máximo 65535 caracteres.
  • MEDIUMBLOB, MEDIUMTEXT: similar al anterior, pero hasta un máximo de 16777215 caracteres.
  • LONGBLOB, LONGTEXT: similar al anterior, pero hasta un máximo de 4294967295 caracteres.
  • ENUM: acepta solo uno de los valores del conjunto dado.
  • SET: Acepta cualquiera o todos los elementos de los valores de un conjunto determinado.

Beneficios de MySQL

  • Fácil de usar: MySQL es muy fácil de instalar y configurar. Las herramientas de terceros, incluidos los visualizadores (interfaces), simplifican enormemente el trabajo con datos.
  • Funcionalidad: MySQL admite una gran cantidad de funciones SQL.
  • Seguridad: MySQL proporciona muchas funciones avanzadas integradas para proteger sus datos.
  • Escalabilidad y rendimiento: MySQL puede manejar grandes cantidades de datos.

Desventajas de MySQL

  • Limitaciones: la estructura de MySQL impone algunas limitaciones que pueden impedir la ejecución de aplicaciones avanzadas.
  • Vulnerabilidades: el método de procesamiento de datos utilizado en MySQL hace que este DBMS sea ligeramente menos confiable en comparación con otros DBMS.
  • Desarrollo lento: aunque MySQL es un producto de código abierto, se está desarrollando muy lentamente. Sin embargo, cabe señalar que varias bases de datos completas se basan en MySQL (por ejemplo, MariaDB).

Cuando usar MySQL

  • Operaciones distribuidas: el servidor de base de datos MySQL independiente admite muchas operaciones y proporciona varias funciones adicionales.
  • Alta seguridad de datos: MySQL ofrece alta seguridad de datos.
  • Sitios web y aplicaciones web: a pesar de sus limitaciones, MySQL puede impulsar casi cualquier sitio web y aplicación web. Esta herramienta flexible y escalable es fácil de usar.
  • Soluciones personalizadas: MySQL se puede adaptar para cumplir con los requisitos exactos de un sitio o aplicación.

¿Cuándo es mejor no utilizar MySQL?

  • Conflictos con SQL: dado que MySQL aún no implementa completamente los estándares SQL, no es totalmente compatible con SQL. Por tanto, MySQL no siempre se puede integrar con otro DBMS.
  • Soporte de concurrencia débil: aunque MySQL realiza bien las operaciones de lectura, las operaciones simultáneas de lectura y escritura pueden causar problemas.
  • Falta de algunas funciones (por ejemplo, búsqueda de texto completo).

PostgreSQL

PostgreSQL es un DBMS avanzado, abierto y orientado a objetos. PostgreSQL implementa los estándares ANSI/ISO SQL.

A diferencia de otros DBMS, PostgreSQL admite características muy importantes de bases de datos relacionales y orientadas a objetos: transacciones ACID confiables (atomicidad, consistencia, aislamiento, durabilidad), etc.

Basado en tecnología confiable, el DBMS PostgreSQL puede procesar simultáneamente una gran cantidad de tareas. El soporte de coherencia se logra sin bloquear las lecturas gracias a MVCC.

Aunque el DBMS PostgreSQL no es tan popular como MySQL, también se han desarrollado una gran cantidad de herramientas y bibliotecas adicionales que simplifican el trabajo con datos y aumentan el rendimiento del DBMS.

Tipos de datos de PostgreSQL

  • bigint: entero de ocho bytes con signo.
  • bigserial: un entero de incremento automático de ocho bytes.
  • bit [(n)]: cadena de bits de longitud fija.
  • bit variable [(n)]: cadena de bits con longitud variable.
  • booleano: valor booleano (verdadero/falso).
  • caja: un cuadrilátero en un plano.
  • bytea: datos binarios.
  • carácter variable [(n)]: una cadena de caracteres de longitud variable.
  • carácter [(n)]: cadena de caracteres de longitud fija
  • cidr: dirección de red IPv4 o IPv6.
  • círculo: círculo en un plano.
  • fecha: fecha (año, mes, día).
  • doble precisión: número de coma flotante de doble precisión (8 bytes).
  • inet: dirección de host IPv4 o IPv6.
  • entero: entero de cuatro bytes con signo.
  • intervalo [(p)]: intervalo de tiempo.
  • recta: una recta infinita en un plano.
  • lseg: segmento de recta en un plano.
  • macaddr: dirección MAC (control de acceso a medios).
  • dinero: moneda.
  • numérico [(p, s)]: valor numérico exacto con la precisión seleccionada.
  • camino: camino geométrico en un plano.
  • punto: punto geométrico sobre un plano.
  • polígono: camino geométrico cerrado en un plano (polígono)
  • real: número de coma flotante de precisión simple (4 bytes).
  • Smallint: entero de dos bytes con signo.
  • serial: entero de cuatro bytes con incremento automático.
  • texto: una cadena de caracteres de longitud variable.
  • hora [(p)] : hora del día (sin zona horaria).
  • hora [(p)] con zona horaria: hora del día y zona horaria.
  • marca de tiempo [(p)] : marca de tiempo (fecha y hora) sin zona horaria.
  • marca de tiempo [(p)] con zona horaria: marca de tiempo con zona horaria.
  • tsquery: consulta de búsqueda de texto.
  • tsvector: Documento de búsqueda de texto.
  • txid_snapshot: una instantánea del ID de transacción a nivel de usuario.
  • uuid: identificador universalmente único.
  • xml: datos XML.

Beneficios de PostgreSQL

  • El sistema de gestión de bases de datos PostgreSQL es abierto, compatible con SQL y gratuito.
  • La comunidad activa de PostgreSQL lo ayudará a encontrar una solución a cualquier problema relacionado con DBMS, en cualquier momento del día.
  • Compatibilidad con herramientas de terceros: además de las funciones avanzadas integradas, PostgreSQL admite muchas herramientas abiertas de terceros para diseño, gestión de datos y más.
  • Escalabilidad y extensibilidad.
  • Orientación de objetos.

Desventajas de PostgreSQL

  • Rendimiento: en algunas situaciones, el rendimiento de PostgreSQL es inferior al de MySQL.
  • Baja popularidad.
  • Debido a las desventajas anteriores, no todos los proveedores de alojamiento admiten PostgreSQL.

Cuando usar PostgreSQL

  • Si la aplicación requiere integridad de los datos.
  • Para realizar tareas complejas de usuario.
  • Si en el futuro la aplicación necesita una base de datos paga más confiable, será más fácil cambiar de PostgreSQL.
  • Para admitir aplicaciones con estructuras complejas, PostgreSQL ofrece un conjunto especial de funciones.

¿Cuándo es mejor no utilizar PostgreSQL?

  • Si la aplicación necesita operaciones de lectura rápida.
  • Si su aplicación no necesita integridad absoluta de los datos, ACID o una estructura compleja, PostgreSQL puede ser una solución demasiado compleja.
  • La replicación de datos es más complicada que en MySQL, por lo que es mejor no utilizar PostgreSQL en clústeres.
Etiquetas:

Cualquier organización moderna maneja una gran cantidad de datos que ingresan los usuarios de diversas aplicaciones corporativas y luego los empleados los utilizan para obtener información general, imprimir documentos y analizar ciertos aspectos de las actividades de la empresa. A menudo, la competitividad de una empresa y la eficiencia de sus actividades dependen directamente de la relevancia y disponibilidad de estos datos tanto para los empleados de la empresa como para sus clientes y socios comerciales, por lo que la tarea de almacenar datos corporativos es ahora más relevante que nunca.
Los datos corporativos de la mayoría de las empresas suelen almacenarse en bases de datos administradas por DBMS basados ​​en servidores. Estos son los que se discutirán en este artículo.

¿Cuáles son los tipos de sistemas de gestión de bases de datos?

Esta categoría de software, como los sistemas de gestión de bases de datos, existe desde hace décadas; la tarea de almacenar datos surgió casi simultáneamente con la aparición de los primeros medios de almacenamiento, y los principios en los que se basa el trabajo de la mayoría de los DBMS modernos se formularon en el siglo XIX. Años 60 del siglo pasado. Esta categoría de productos existe para prácticamente todas las plataformas, desde ordenadores portátiles y teléfonos móviles hasta mainframes y superordenadores, y se utiliza en absolutamente todos los sistemas de gestión empresarial y otras aplicaciones empresariales, así como en muchas otras aplicaciones.

Los sistemas de gestión de bases de datos se pueden clasificar de varias maneras: por el principio de organización de los datos (relacional, jerárquico, en red...), por el método de acceso (monousuario y multiusuario), por arquitectura (escritorio y servidor), por funcionalidad y por capacidades relacionadas con la escalabilidad.

Actualmente, los DBMS relacionales con arquitectura cliente-servidor son los más utilizados, aunque ocasionalmente todavía se pueden encontrar aplicaciones que utilizan DBMS de escritorio. Las bases de datos administradas por DBMS de escritorio suelen ser un archivo o un conjunto de archivos, y los DBMS en sí son un conjunto de bibliotecas que pueden utilizar las aplicaciones que las utilizan para realizar cambios en esos archivos. A veces, los DBMS de escritorio también están equipados con un shell para crear tablas y otros objetos e incluso para desarrollar aplicaciones simples, por ejemplo, en el caso de Microsoft Access, el más popular en la actualidad, es el shell, y no la biblioteca, es decir. un producto comercial.

Sin embargo, las aplicaciones corporativas para empresas grandes e incluso medianas suelen utilizar DBMS de servidor debido a su mayor confiabilidad y escalabilidad. En el caso más simple, un sistema de información basado en una arquitectura cliente-servidor consta de dos componentes principales: un servidor de base de datos que administra datos y ejecuta solicitudes de aplicaciones cliente, y las propias aplicaciones cliente, que proporcionan la interfaz de usuario y envían solicitudes al cliente. servidor. Es el servidor de la base de datos el que puede manipular los archivos en los que se almacenan los datos, ejecutar consultas de los usuarios, mantener la integridad referencial de los datos, proporcionar acceso a ellos, realizar copias de seguridad de los datos y registrar las operaciones asociadas con los cambios en los mismos. En casos más complejos, entre el cliente y el servidor puede ubicarse una aplicación de middleware, cuyas funciones son muy diversas, desde restringir el acceso a los datos hasta implementar una lógica empresarial bastante compleja.

Requisitos para DBMS modernos

Los DBMS modernos tienen los siguientes requisitos:

  • escalabilidad ausencia de una disminución significativa en la velocidad de ejecución de las consultas de los usuarios con un aumento proporcional en la cantidad de consultas y recursos de hardware utilizados por un DBMS determinado (como la cantidad de RAM, la cantidad de procesadores y servidores);
  • capacidad de disponibilidad para cumplir siempre una solicitud;
  • confiabilidad probabilidad mínima de fallas, disponibilidad de herramientas de recuperación de datos después de fallas, herramientas de respaldo y duplicación de datos (recientemente, los fabricantes de DBMS a menudo ofrecen herramientas que permiten realizar tales operaciones sin interrumpir el trabajo de los usuarios);
  • manejabilidad facilidad de administración, disponibilidad de herramientas de configuración automática (un conjunto moderno típico de herramientas de administración incluye herramientas para crear bases de datos y sus objetos, herramientas para describir reglas para la replicación de datos entre diferentes servidores, utilidades para administrar usuarios, grupos y sus derechos, herramientas para monitoreo de eventos, herramientas para ver consultas de planes de ejecución, utilidades de migración desde otros DBMS);
  • disponibilidad de medios para proteger los datos contra pérdidas y acceso no autorizado;
  • soporte para el acceso a datos mediante servicios web;
  • soporte para mecanismos de acceso a datos estándar (como ODBC, JDBC, OLE DB, ADO .NET), lo que le permite crear aplicaciones DBMS utilizando varias herramientas de desarrollo.

El hecho de que un DBMS no cumpla cualquiera de estos requisitos lleva al hecho de que incluso un DBMS que sea bueno en otras propiedades del consumidor tenga un ámbito de aplicación muy limitado. Por lo tanto, un DBMS con poca escalabilidad, que se utilizó con éxito con una pequeña cantidad de datos procesados, resulta inadecuado si la cantidad de datos aumenta. La falta de las utilidades administrativas necesarias también conduce a menudo a la negativa a utilizar algunos DBMS. Una escalabilidad y disponibilidad deficientes implican costos adicionales de tiempo de los empleados, tiempo de inactividad y la pérdida de clientes que están desesperados por esperar una respuesta a una pregunta hecha por teléfono o a una solicitud ingresada en un sitio web. La falta de soporte para el código del servidor lleva al hecho de que el DBMS, que se utiliza con éxito en un sitio web corporativo, no se puede utilizar para crear otras aplicaciones corporativas internas. La falta de soporte para los mecanismos estándar de acceso a datos puede llevar automáticamente al hecho de que quienes utilizan herramientas de desarrollo centradas en estos mecanismos se nieguen a utilizar este DBMS.

Es por eso que los líderes del mercado de DBMS corporativos se esfuerzan por producir productos que cumplan con todos los requisitos anteriores. Además, por regla general, estos productos existen para varias plataformas y, a menudo, en diferentes ediciones (incluidas las gratuitas), diseñadas para resolver diferentes problemas.

DBMS de los principales fabricantes

Según una serie de informes analíticos (ver, por ejemplo: Strange K. Magic Quadrant for Data Warehouse DBMS // Gartner Research Note M-22-2154. 2004), los líderes del mercado de DBMS en este momento son IBM, que tiene Desde hace mucho tiempo están representadas con éxito en el mercado ruso Oracle, Microsoft, Sybase y Teradata, así como la relativamente joven empresa Netezza, prácticamente desconocida en el mercado nacional. A continuación, veremos brevemente las características de los productos de estas empresas.

Base de datos universal DB2 (IBM)

La familia de DBMS de servidor de IBM, conocida como DB2 Universal Database (DB2 UDB), apareció por primera vez en 1996 y estaba destinada a las plataformas UNIX, OS/2 y Microsoft Windows NT. La última versión de este producto, DB2 UDB 8.2, se ejecuta en los sistemas operativos AIX, AIX, Linux, HP-UX, Sun y Windows.

Las características de este DBMS son medios desarrollados de autorreparación y ejecución automática de operaciones relacionadas con el soporte de bases de datos (como la creación de copias de seguridad y la desfragmentación de datos). Entre los mecanismos de acceso a datos, DB2 UDB admite ODBC, JDBC, ADO/OLE DB, ADO .NET. Este DBMS le permite crear código de servidor en lenguajes compatibles con CLR, como C# y Visual Basic .NET.

DB2 Universal Database admite la creación de almacenes de datos y, además de herramientas para transferir datos al almacén, contiene herramientas de administración de almacenes de datos en el lado del cliente que le permiten administrar todos los procesos asociados con la creación y el mantenimiento de almacenes de datos, incluida la creación de un almacén. esquema, definiendo fuentes de datos de origen para él, creando cronogramas para actualizar los datos en el almacenamiento, verificando y corrigiendo datos incorrectos.

Otras características técnicas clave de DB2 Universal Database incluyen soporte para datos relacionales y complejos a través de extensiones de objetos, la capacidad de ejecutarse en plataformas multiprocesador, soporte para clústeres, arquitectura de memoria de 64 bits, paralelización de consultas, disponibilidad de herramientas para administración distribuida y procesamiento de datos. soporte para transacciones de ejecución distribuida. Algunas de estas tecnologías fueron tomadas del DBMS Informix Dynamic Server, adquirido por IBM junto con Informix hace varios años.

Oráculo 10g (Oráculo)

Oracle, presentado en 1979, fue el primer DBMS relacional comercial que admitió el lenguaje SQL, ahora estándar de la industria. Las primeras versiones de este DBMS se crearon para mainframes, pero en 1985 aparecieron versiones de Oracle, diseñadas para su uso en una arquitectura cliente-servidor. Fue el primer DBMS que utilizó las capacidades de computación paralela proporcionadas por algunas plataformas de servidores.

Actualmente, la última versión es Oracle 10g. Este DBMS cumple con los requisitos más estrictos de calidad de servicio, tiene capacidades de agrupación en clústeres (el módulo Oracle Real Application Clusters está diseñado para esto) y características de seguridad desarrolladas.

Oracle 10g DBMS proporciona herramientas para el procesamiento de consultas en paralelo, herramientas OLAP integradas, herramientas para extracción, transformación y carga rápida de datos, servicios de portal, herramientas de análisis empresarial, distribución de informes y análisis de actividad del usuario, herramientas de análisis de rendimiento de DBMS y proporciona soporte para clústeres. .

De los mecanismos de acceso a datos, Oracle 10g admite ODBC, JDBC y ADO/OLE DB, además, para este DBMS existe un proveedor .NET y el correspondiente conjunto de clases de Microsoft. La parte del cliente de Oracle también contiene un conjunto de objetos COM para el acceso a datos (Objetos de Oracle para OLE). Tenga en cuenta que muchas otras empresas producen controladores ODBC y proveedores OLE DB para acceder a Oracle. Este DBMS cuenta con el respaldo de todos los principales fabricantes de herramientas de desarrollo, generadores de informes y herramientas de procesamiento de datos analíticos.

Tanto en Occidente como en Rusia, a menudo se utilizan soluciones corporativas listas para usar de Oracle Corporation, unidas bajo el nombre general de Oracle Applications, como Oracle Financials, Oracle Human Resources, Oracle Market Management, Oracle Project Systems, etc., de hecho. , ventas y soporte son Estas aplicaciones constituyen la mayor parte del negocio de la empresa.

SQL Server 2000 y SQL Server 2005 (Microsoft)

La primera versión de Microsoft SQL Server, un producto conjunto entre Microsoft y Sybase, lanzado en 1988, fue desarrollado para la plataforma OS/2. Las versiones posteriores de este servidor de base de datos se diseñaron para la plataforma Windows y con el tiempo se integraron estrechamente con este sistema operativo. No se han publicado versiones de este servidor ni se publicarán para otras plataformas.

La versión más utilizada de este DBMS, Microsoft SQL Server 2000, se caracteriza por una mayor escalabilidad y rendimiento. Le permite utilizar varios servidores que se ejecutan simultáneamente en una computadora, admite la creación de clústeres, computación paralela en sistemas multiprocesador y consultas distribuidas. Las herramientas de administración de Microsoft SQL Server 2000 se consideran una de las más simples y convenientes. Además de las herramientas para resolver tareas de administración estándar, como crear bases de datos y sus objetos, administrar privilegios de usuarios y grupos, copias de seguridad y recuperación, replicación de datos, incluyen utilidades para el intercambio de datos con otros DBMS y almacenes de datos. Este producto incluye un servidor OLAP; fue con su aparición como parte de SQL Server que comenzó la inclusión de herramientas OLAP en DBMS de otros fabricantes y su movimiento de la categoría de productos costosos y de élite a la categoría de productos ampliamente utilizados incluso en empresas pequeñas. empresas.

En cuanto a los mecanismos de acceso a datos, este producto soporta ODBC, OLE DB/ADO, ADO .NET. También hay un controlador JDBC producido por Microsoft. Es imposible no destacar las excelentes herramientas de integración de este DBMS con Microsoft Office, hasta las herramientas para manipular datos OLAP desde estas aplicaciones.

La próxima versión de este DBMS, SQL Server 2005, que se espera sea lanzada este año, admitirá el intercambio de mensajes asincrónicos entre varios procesos del servidor, contendrá servicios para notificar a los clientes sobre eventos en la base de datos, permitirá la creación de clústeres tolerantes a fallas y la duplicación de bases de datos y la replicación con bases de datos administradas por DBMS de otros fabricantes, realizan operaciones como cambiar la cantidad de procesadores y el tamaño de la memoria sin detener el servidor.

Otra de las principales novedades tecnológicas de la esperada versión de SQL Server es la integración con Microsoft .NET Framework 2.0 a nivel de Common Language Runtime en el propio DBMS, lo que permitirá crear código de servidor en cualquier lenguaje de programación compatible con CLR, por ejemplo. Por ejemplo, C# o Visual Basic. También observamos la importante expansión de las capacidades analíticas de este DBMS, por ejemplo, la aparición de nuevos algoritmos de minería de datos.

SQL Server 2005 estará disponible en versiones de 64 y 32 bits, y será compatible con los procesadores Intel Itanium y AMD Opteron. Y para resolver problemas relativamente simples utilizando bases de datos pequeñas, se lanzará una versión gratuita de Microsoft SQL Server 2005 Express Edition.

Adaptive Server Enterprise y Adaptive Server IQ (Sybase)

Los productos de servidor de Sybase derivan de una versión anterior de Microsoft SQL Server, una colaboración entre Microsoft y Sybase. Desde 1994, Microsoft y Sybase han desarrollado sus productos de servidor de forma independiente, y los esfuerzos de Sybase en esta dirección han dado como resultado Adaptive Server Enterprise (ASE), cuya última versión, 12.5.2, está disponible para Windows NT/2000 y algunas versiones. UNIX y Linux.

Adaptive Server Enterprise ahora admite lectura anticipada asíncrona, lo que mejora la velocidad de consultas complejas; creación de clusters; disponibilidad de una versión de 64 bits; procesamiento distribuido de consultas, incluidas bases de datos de otros fabricantes; procedimientos almacenados extendidos que permiten un fácil acceso a funciones escritas en lenguajes distintos de SQL; procesamiento paralelo de solicitudes en sistemas multiprocesador; operación paralela de servicios públicos de administración; Configuración dinámica del servidor y respaldo de datos con compresión. Cabe destacar especialmente los servicios de datos en tiempo real de Sybase, diseñados para organizar la transmisión de mensajes en tiempo real cuando ocurre cualquier evento en las bases de datos, incluidas las administradas por DBMS de otros fabricantes.

Entre los mecanismos universales de acceso a datos, ASE admite ODBC, JDBC, OLE DB/ADO. Tenga en cuenta que las herramientas de diseño y desarrollo de datos propias de Sybase se utilizan a menudo junto con ASE.

Para crear almacenes de datos multidimensionales, Sybase tiene otro producto de servidor, Adaptive Server IQ, que le permite crear almacenes basados ​​​​en datos de DBMS producidos no solo por Sybase, sino también por otros fabricantes. La alta velocidad de ejecución de consultas en este producto se debe a la forma no estándar de almacenar datos. Tenga en cuenta también que hay una serie de productos bajo el nombre general Sybase Industry Warehouse Studio, centrados en atender áreas temáticas específicas.

Base de datos Teradata V2R6.0 (Teradata)

En los últimos años, los DBMS de Teradata se han considerado los productos líderes entre los DBMS diseñados para la creación de almacenes de datos. La última versión de este DBMS, Teradata Database V2R6.0, está disponible para Microsoft Windows, OS/2 y varias versiones de UNIX y Linux.

La diferencia entre este DBMS y otros productos es un mecanismo especial para el procesamiento de consultas en paralelo, que implica dividir una tarea en varias subtareas separadas y su ejecución en paralelo. Además, incluso operaciones como ordenar o agrupar datos se pueden dividir en varias tareas y realizar en paralelo, esto se logra mediante un método especial de almacenamiento de datos, en el que partes de la base de datos también se dividen en subtareas; Las propias subtareas se pueden distribuir entre los procesadores disponibles, de los cuales puede haber más de uno. Gracias al mecanismo de resolución de problemas en paralelo, Teradata Database V2R6.0 es altamente escalable.

Para crear aplicaciones cliente que utilicen Teradata Database, existe un controlador ODBC, una API de cliente documentada compatible con IBM DB2 y varias otras interfaces de programación. Las herramientas de administración para este DBMS incluyen herramientas de respaldo y recuperación, visualización y edición de datos, monitoreo de rendimiento y carga, así como una utilidad de administración para administrar todas estas tareas, disponible para varias versiones de Windows.

Servidor de rendimiento Netezza serie 8000 (Netezza)

Netezza Performance Server es una solución de hardware y software, que es un servidor con un sistema de almacenamiento de datos y un sistema operativo Linux preinstalado, así como un DBMS de código abierto basado en Postgress. Netezza afirma que esta solución es tan poderosa como las soluciones basadas en Teradata a un costo significativamente menor. Entre las características de esta solución de hardware y software se encuentran la compatibilidad con el procesamiento de datos en paralelo, la separación de tareas mediante la división de partes de la base de datos entre subtareas y la alta escalabilidad.

Entre las interfaces de software, esta solución admite mecanismos universales de acceso a datos ODBC y JDBC.

***

En conclusión, observamos que las capacidades de los DBMS modernos de los principales fabricantes reflejan las necesidades modernas de las aplicaciones corporativas. Estos incluyen la capacidad de formar clústeres, admitir el procesamiento de datos paralelo en sistemas multiprocesador, proporcionar interfaces de programación para las herramientas de desarrollo de aplicaciones más populares y crear aplicaciones analíticas. Las características importantes de los DBMS modernos de los principales fabricantes son también la facilidad de administración y la capacidad de realizar una serie de operaciones para respaldar la base de datos sin interrumpir el trabajo, niveles bastante altos de confiabilidad y disponibilidad, así como la disponibilidad de varias ediciones para resolver problemas de varias escalas.

Y la base de datos Azure SQL.

Según los expertos, los ingresos de Microsoft por las ventas de OPDBMS están creciendo más rápido que el mercado. La empresa recibió las calificaciones más altas de los clientes por su experiencia general, satisfacción del cliente, relación calidad-precio, experiencia en negociaciones, integración e implementación de proyectos, servicio y soporte.

Microsoft ha aumentado su ventaja competitiva con el lanzamiento de herramientas gratuitas Developer Edition de SQL Server y Database Migration Service para migrar bases de datos SQL Server y Oracle al entorno de Azure SQL Database.

A pesar de estas fortalezas de SQL Server, muchos clientes empresariales todavía no consideran que el sistema de base de datos sea adecuado para aplicaciones de misión crítica, y varios clientes de Microsoft no están satisfechos con el esquema de licencia de la corporación para este producto. A Microsoft le resulta cada vez más difícil retener y atraer clientes a medida que sus rivales Google y Amazon ofrecen precios más atractivos por sus productos.

Las ventajas de Oracle para los analistas de mercado incluyen la estrategia correcta para actualizar la cartera de productos en la nube, soporte para la compatibilidad con soluciones antiguas (tres cuartas partes de los clientes de Oracle han estado trabajando con Oracle Database durante más de 10 años) y altos niveles de satisfacción del producto. .

Los expertos consideraron que las desventajas de Oracle son la complejidad de las licencias y los problemas asociados con la atención al cliente y el lanzamiento de actualizaciones. Para facilitar la instalación de parches, el proveedor comenzó a publicarlos una vez por trimestre.

Para atraer clientes a sus servicios en la nube, Oracle ha aumentado la cantidad de licencias de procesador necesarias para ejecutar el software de la empresa en infraestructuras de nube de la competencia. Este enfoque ha duplicado efectivamente el costo de utilizar los productos de Oracle. Además, la empresa ha limitado el funcionamiento de algunas funciones para Oracle Cloud y los sistemas de ingeniería locales.

Hablando de IBM, los analistas de Gartner señalaron la rica funcionalidad (incluidas capacidades híbridas y de nube) que tienen los productos OPDBMS de la compañía, así como el uso activo de soluciones populares (Hadoop, Kafka, Parquet, Spark, etc.) y respaldo y recuperación. datos hacia/desde Swift y AWS S3. La presencia global de IBM también juega a su favor.

Sin embargo, según el estudio, los ingresos de IBM y su participación en el mercado de bases de datos operativas han estado disminuyendo durante varios años. Varios clientes encuestados por Gartner mencionaron desafíos con los precios y las licencias.

Además, como señalan los expertos, la base de datos DB2 es inferior a la mayoría de los competidores en términos de velocidad de procesamiento de transacciones, carga (ingesta) de datos y su distribución automática. IBM ha hecho un gran trabajo simplificando la marca en el mercado (en particular, cambiando el nombre de DB2 a Db2), pero los clientes parecen haber pasado por alto los cambios o haber sido indiferentes a ellos.

El equilibrio de poder en el mercado de DBMS puede cambiar drásticamente - IDG

La encuesta encontró que la gran mayoría de los líderes de TI están tratando de reducir importantes costos de administración de bases de datos y muchos no limitan su búsqueda a soluciones tradicionales. Como resultado, como señaló el innovador desarrollador de software empresarial TmaxSoft, el equilibrio de poder en el mercado de bases de datos corporativas pronto puede cambiar dramáticamente debido a que los proveedores ofrecen un enfoque fundamentalmente diferente a las tecnologías, precios y licencias de bases de datos.

La empresa tiene una trayectoria de 30 años en el mercado suministrando almacenes de datos en combinación con hardware preparado y software de bases de datos analíticos especializados. Teradata tiene más de mil organizaciones de clientes en todo el mundo.

Los productos de Teradata incluyen soluciones de minería de datos, soluciones departamentales centradas en el descubrimiento de datos y soluciones empresariales. Su cartera incluye soluciones en la nube y productos de big data. Aster Data ha agregado nuevas capacidades a la línea de productos Teradata (como MapReduce, datos no estructurados y análisis gráfico).

En 2010, Sybase fue adquirida por SAP. El cuadrante de Gartner cubre el DBMS SAP Sybase IQ, que se convirtió en el primer DBMS de columnas. También es el principal almacenamiento de datos del DBMS SAP/Sybase. Sybase tiene miles de clientes de Sybase IQ en todo el mundo.

Oracle ofrece una amplia gama de productos que brindan a los clientes la opción de diseñar su almacenamiento, utilizar una configuración certificada o comprar un dispositivo listo para almacenamiento y carga de trabajo. Además de los sistemas de gestión de bases de datos y las configuraciones certificadas, Oracle ofrece tres productos de marca Exadata: Oracle Exadata X2-2 para almacenes de datos y cargas de trabajo mixtas, Oracle Exadata X2-8 para soluciones en la nube y Oracle Exadata Storage Expansion Rack X2-2 para expansión del almacenamiento. . Oracle reporta más de 300 mil clientes en todo el mundo.

IBM ofrece soluciones DBMS independientes y dispositivos de almacenamiento de datos. Actualmente en el mercado se encuentran la familia IBM Smart Analytics System (ISAS) y la marca Netezza. Software de almacenamiento de datos de IBM: InfoSphere Warehouse está disponible para Unix, Linux, Windows y z/OS. IBM tiene miles de clientes de bases de datos en todo el mundo y más de 500 clientes de dispositivos (combinación de Netezza e ISAS).

Greenplum es parte de la división de productos de datos de EMC, que desarrolla almacenes de datos DBMS de arquitectura paralela masiva (MPP) que se ejecutan en Linux y Unix. El producto se vende como dispositivo o como DBMS independiente. La empresa tiene más de 400 clientes en todo el mundo.

Microsoft continúa vendiendo sus soluciones SQL Server 2008 DBMS (Versión 2) Business Data Warehouse y Fast Track Data Warehouse para proporcionar almacenamiento de datos a clientes que no requieren una arquitectura de base de datos masivamente paralela. Microsoft lanzó su propio dispositivo de almacenamiento de datos con arquitectura masivamente paralela, SQL Server 2008 R2 Parallel Data Warehouse (Microsoft) en noviembre de 2010.

Los únicos contendientes en este cuadrante incluyeron 1010data.

1010data se fundó hace 11 años como proveedor de un servicio de almacenamiento de datos gestionado con un DBMS integrado y una solución de inteligencia empresarial () para el sector financiero. Recientemente, sus soluciones también se han aplicado al sector minorista/de bienes de consumo envasados ​​(CPG). 1010data puede alojar sus soluciones utilizando un modelo de software como servicio (SaaS) o respaldar una solución administrada en el sitio de un cliente. 1010data tiene alrededor de 200 clientes.

El sector con visión de futuro está representado por Vertica

Revisión del DBMS moderno

La necesidad generalizada de procesamiento automatizado de datos de los medios de comunicación ha planteado la necesidad de lenguajes de procesamiento de datos especializados. Estas funciones suelen estar incluidas en los sistemas de gestión de bases de datos. Los paquetes DBMS permiten administrar datos directamente en modo interactivo y también permiten a los programadores desarrollar software más avanzado para procesarlos: aplicaciones de software.

En la versión más completa, los paquetes DBMS deberían tener los siguientes componentes:

1. Entorno de usuario, que permite gestionar directamente la base de datos.

2. Lenguaje algorítmico para la programación de sistemas de procesamiento de datos aplicados.

3. Un compilador para darle al programa completo una forma comercial lista para usar, en forma de archivo exe.

4. Programas: utilidades para la programación rápida de operaciones de rutina, como FORM, MENÚ.

El DBMS es un shell de usuario centrado en la gestión inmediata de las solicitudes de los usuarios. Sin embargo, para el usuario doméstico esto tiene menos importancia debido a la dificultad de dominar la interfaz en inglés. La presencia de un lenguaje de programación en el DBMS le permite crear sistemas de procesamiento de datos complejos para tareas específicas. El grupo de DBMS relacionales está ampliamente representado en el mercado del software. Se trata, por ejemplo, de sistemas como Paradox, Clipper.

La característica principal de un DBMS es la presencia de procedimientos para ingresar y almacenar no solo los datos en sí, sino también descripciones de su estructura. Los archivos provistos de una descripción de los datos almacenados en ellos y controlados por un DBMS comenzaron a denominarse bancos de datos y luego “bases de datos” (DB).

Las bases de datos (BD) son una colección de datos, estructurados de cierta manera sobre un tema específico, utilizados en diversos sectores de la economía, la industria, los negocios y la ciencia. La velocidad de acceso a la información necesaria y la eficiencia de su obtención determinan en última instancia la realización exitosa de los negocios y reducen los costos de las partidas de ingresos relevantes. Se han desarrollado métodos que facilitan el trabajo con grandes cantidades de datos: creación de bases de datos, búsqueda, edición, extracción de diversas muestras, además de realizar análisis de datos y elaboración de cálculos que contienen documentos finales y datos en forma de tablas, gráficos. y gráficos.

Estos métodos se implementan utilizando un conjunto de herramientas de software que permiten trabajar con la base de datos: un sistema de gestión de bases de datos (DBMS).

Existen muchos productos de software que le permiten crear y trabajar con bases de datos, por ejemplo, Access, Clipper, Excel y otros. Entre la amplia variedad de programas, el más popular es el DBMS FoxPro, que por sus características cumple con los más altos requisitos para este tipo de sistemas, tanto en nivel y volumen, como en términos de velocidad de procesamiento de información.

Actualmente, se han desarrollado y se utilizan ampliamente las versiones 3.0 y 5.0 de Visual FoxPro para Windows. Sin embargo, trabajar con estos paquetes para no programadores es una tarea bastante difícil. Por tanto, para crear una base de datos para usuarios con poca experiencia en programación, las versiones 2.5 y 2.6 para Windows y 2.0 para DOS tienen mucho éxito.

Estructura de la base de datos:

Una base de datos es un conjunto de información homogénea y, por regla general, ordenada según algún criterio. La base de datos se puede presentar tanto en papel como en formato informático.

Un ejemplo típico de una base de datos "en papel" es el catálogo de una biblioteca: un conjunto de tarjetas de papel que contienen información sobre libros. La información de esta base de datos es homogénea (contiene información únicamente sobre libros) y ordenada (las fichas están ordenadas alfabéticamente por apellidos de los autores). Otros ejemplos de bases de datos en papel son los directorios telefónicos y los horarios de trenes.

Una base de datos informática es un archivo (o una colección de archivos relacionados) que contiene información, a menudo denominado archivo de datos. Un archivo de datos consta de registros, cada uno de los cuales contiene información sobre una instancia. Los registros se componen de campos. Cada campo contiene información sobre una característica de la instancia. Tenga en cuenta que cada registro consta de los mismos campos. Es posible que algunos campos no estén completos, pero aún están presentes en el registro. Sobre el papel conviene representar una base de datos en forma de tabla. La información de las bases de datos informáticas generalmente se muestra en la pantalla en forma de tablas. Por lo tanto, en lugar de la frase "archivo de datos", a menudo se utiliza la frase "tabla de datos" o simplemente "tabla".

Entorno de desarrollo Borland C++ Builder.

Para crear una estación de trabajo autónoma, puede elegir el software de lenguaje C++ Builder, que es uno de los DBMS más conocidos. Existen muchas herramientas para la automatización de la programación en el mercado del software. Pero en términos de potencia y facilidad de uso, sólo Borland Delphi y Microsoft Visual Basic pueden competir con el entorno Builder.

"C++ Builder" es un potente sistema de programación visual orientado a objetos que le permite trabajar tanto con bases de datos remotas locales simples como con bases de datos distribuidas de varios niveles. Él mismo y los productos de software suministrados con él le permiten resolver la siguiente gama de problemas:

1. Cree rápidamente interfaces de ventana de aspecto profesional para aplicaciones, incluso para programadores novatos.

2. Crear aplicaciones de cualquier complejidad y propósito, ya sean aplicaciones de oficina, contabilidad, ingeniería o recuperación de información.

3. Cree una interfaz conveniente para cualquier programa creado previamente.

4. Cree sus propios componentes DLL, que luego podrán usarse en otros lenguajes de programación.

5. Crear sistemas para trabajar con bases de datos locales y remotas de cualquier tipo.

6. Cree bases de datos de varios tipos utilizando el kit de herramientas C++ Builder (DataBaseDesktop).

7. Formatee e imprima informes complejos desde la aplicación, incluidas tablas, gráficos y una variedad de símbolos.

8. Conéctese desde su aplicación a productos de Microsoft como Word, Excel, etc.

9. Crea un sistema de ayuda, tanto para tus aplicaciones como para otras.

Borland C++Builder 6 es un programa diseñado para la gestión de datos: catalogación, mantenimiento, procesamiento de información y mucho más. Aunque puede realizar muchas operaciones de bases de datos a través del sistema de menús y la interfaz, dominar las amplias capacidades de Borland C++Builder 6 requiere cierto conocimiento del lenguaje de programación subyacente.

Las aplicaciones en el entorno Borland C++ Builder 6 se crean en forma de estructuras especiales: proyectos que el usuario ve como una colección de varios archivos. Ningún programa puede existir fuera de la estructura del proyecto. Las actividades de gestión de proyectos se llevan a cabo mediante un paquete de software especial: Project Manager.

Justificación de la elección de los medios técnicos.

Requisitos mínimos del sistema:

2. Microsoft Windows 98, Windows Millennium (Me), Windows 2000 y versiones posteriores de los sistemas operativos Microsoft Windows.

3. La cantidad de RAM debe ser de al menos 128 Mb (se recomiendan 256 Mb).

4. 115 Mb de espacio libre en disco duro.

5. Resolución de monitor VGA o superior.

6. Ratón, teclado.

7. Espacio en disco duro necesario para completar la instalación: 675 Mb (edición Enterprise); 580 Mb (Profesional); 480Mb (Personal)

Base de datos (BD)– una colección de datos con nombre que refleja el estado de los objetos y sus relaciones en el área temática considerada.

Los sistemas de gestión de bases de datos (DBMS) se han desarrollado para manipular bases de datos. Sistema de gestión de bases de datos (DBMS)- un conjunto de herramientas de lenguaje y software diseñadas para crear, mantener y compartir una base de datos por muchos usuarios.

El uso de un DBMS proporciona:

    minimizar la redundancia de datos: en casos extremos, cualquier dato se puede almacenar en una sola copia;

    compartir datos entre muchos usuarios;

    independencia de los datos de los programas;

    eficiencia del acceso a los datos, como el cumplimiento de los requisitos de puntualidad, confiabilidad, etc.;

    facilidad para trabajar con la base de datos, etc.

Normalmente el DBMS es responsable de lo siguiente: funciones:

    descripción de datos;

    manipulación de datos;

    establecimiento de una base de datos;

    ejecución de solicitudes;

    emitir informes;

    servicio (mantenimiento de integridad, funciones de ayuda, restauración de bases de datos).

Por la naturaleza de su ubicación, las bases de datos pueden estar centralizadas o distribuidas.

Una base de datos centralizada es una base de datos ubicada en un único servidor.

Revisión de subbases de datos de los principales fabricantes.

Dado que el DBMS no funciona solo, sino sobre una plataforma de software y hardware específica, el coste de esta plataforma juega un papel importante para el cliente. Por lo tanto, no es sorprendente que las grandes empresas prefieran DBMS para Unix, y las medianas y pequeñas, para Windows y Linux. Para satisfacer todas las solicitudes, los proveedores ofrecen DBMS para todas las plataformas. En el mercado mundial, la demanda de DBMS para Linux está creciendo más rápidamente. Sin embargo, en términos de volumen de ventas, los sistemas Unix de Oracle están a la cabeza, DBMS para Windows ocupa el segundo lugar y Linux el tercero, pero la brecha entre las dos últimas plataformas disminuye cada año.

Los líderes en el mercado de bases de datos en este momento son IBM, Oracle, Microsoft y Sybase.

SGBD

Empresas

SGBD

Breve descripción

Productos extranjeros

Base de datos universal DB2

DBMS multimedia, compatible con Web, funciona con las principales versiones de Unix, Linux y Windows en plataformas de hardware zSeries, iSeries, VSE y VM.

DBMS para sistemas a escala empresarial y de grupos de trabajo garantiza el trabajo con bases de datos muy grandes en condiciones de escasez de recursos.

DBMS relacional para la gestión de datos a escala empresarial, admite tecnologías XML e Internet, tiene una herramienta incorporada de análisis y extracción de datos integrada con Microsoft Office y se ejecuta en la plataforma Windows.

DBMS para procesamiento de transacciones a gran escala (OLTP), almacenes de datos de alta intensidad y aplicaciones de Internet que consumen muchos recursos.

Compatible con las principales versiones de Unix, Windows y Linux. La última versión es compatible con la computación Grid.

Servidor adaptable Sybase Enterprise (ASE)

Servidor adaptable Sybase en cualquier lugar (ASA)

DBMS de escala empresarial para el procesamiento centralizado de información crítica, se ejecuta en plataformas Unix y Linux.

DBMS relacional compacto y completo para grupos de trabajo, informática móvil e integrada.

Productos nacionales

El DBMS relacional, que cuenta con un certificado de la Comisión Técnica Estatal del Presidente de la Federación de Rusia para el cumplimiento de la protección de la información de clase 2 contra el acceso no autorizado, es compatible con las principales versiones de Unix, Linux, QNX, VAX/VMS, OpenVMS, DOS, Windows, NetWare, OS/2.

SGBD de código abierto

DBMS relacional compacto y rápido para pequeñas y medianas empresas, compatible con Linux, Mac OS X, Unix y Windows.

Comunidad PostgreSQL

Sin embargo, algunas tareas son tan exigentes desde el punto de vista computacional que ni siquiera las supercomputadoras modernas más potentes pueden realizarlas. Un factor importante es el costo del equipo (si necesita crear un nuevo supersistema) o el costo del tiempo de computadora (si usa una supercomputadora). En el primer caso, el coste es de cientos, en el segundo, de decenas... millones de dólares (euros, etc.).

La salida a esta situación es utilizar bases de datos distribuidas.

Bases de datos distribuidas(RDB): un conjunto de bases de datos interconectadas lógicamente distribuidas en una red informática.

Sistema de gestión de bases de datos distribuidas - es un sistema de software que proporciona gestión de bases de datos distribuidas y transparencia de su distribución a los usuarios.

Un RDB consta de un conjunto de nodos conectados por una red de comunicación en la que: a) cada nodo es en sí mismo un DBMS completo;

b) los nodos interactúan entre sí de tal manera que un usuario de cualquiera de ellos puede acceder a cualquier dato de la red como si estuviera en su propio nodo.

El principio fundamental de la creación de bases de datos distribuidas (“Regla 0”): para el usuario, un sistema distribuido debe tener el mismo aspecto que un sistema no distribuido.

El principio fundamental implica ciertos objetivos adicionales. Sólo hay doce de esos objetivos:

1. Autonomía local. Los datos locales deben estar bajo propiedad y control local, incluidas las funciones de seguridad, integridad y representación en memoria.

2. No se debe asignar ningún servicio específico a ningún nodo central dedicado. Cumplimiento de esta regla, es decir. El principio de descentralización de las funciones RDBMS le permite evitar cuellos de botella.

3. Continuidad de operación. El sistema no debería detenerse si es necesario agregar un nuevo nodo o eliminar algunos datos en un entorno distribuido, cambiar la definición de metadatos o incluso (lo cual es bastante difícil) migrar a una nueva versión del DBMS en un nodo separado.

4. Ubicación independiente. Los usuarios y las aplicaciones no están obligados a saber dónde se encuentran físicamente los datos.

5. Fragmentación independiente. Las herramientas RaDBMS deben mantener y procesar fragmentos (también llamados particiones) de datos de tal manera que los usuarios o las aplicaciones no sepan nada al respecto. Además, RaDBMS debe poder omitir fragmentos que no están relacionados con ellos al procesar consultas (por ejemplo, RaDBMS debe ser lo suficientemente inteligente como para determinar si este o aquel fragmento se puede excluir al procesar una consulta debido al hecho de que la consulta no contiene enlaces a las columnas almacenadas en este fragmento).

6. Independencia de la replicación. Los mismos principios de independencia y transparencia se aplican al mecanismo de replicación, que se analiza a continuación.

7. Procesamiento distribuido de solicitudes. El procesamiento de solicitudes debe realizarse de manera distribuida. En la siguiente sección, veremos algunos principios arquitectónicos para implementar RaDBMS y varios modelos dentro de los cuales es posible el procesamiento distribuido de consultas.

8. Gestión de transacciones distribuidas. Los mecanismos de gestión de transacciones y control de concurrencia deben extenderse a las bases de datos distribuidas. Este problema incluye identificar y resolver puntos muertos, interrupciones de tiempo de espera, confirmar y revertir transacciones distribuidas y una serie de otros problemas.

9. Independencia del equipo. El mismo software RaDBMS debe ejecutarse en diferentes plataformas de hardware y funcionar en el sistema como un socio igualitario. Como se mencionó anteriormente, esto es extremadamente difícil de lograr en la práctica porque muchos proveedores admiten múltiples plataformas. Esta limitación se supera utilizando el modelo de entorno multiproducto.

10. Independencia de los sistemas operativos. Este problema está muy relacionado con el anterior, y también se soluciona de forma similar.

11. Independencia de la red. Los nodos se pueden conectar entre sí utilizando una amplia variedad de medios de comunicación y redes. El modelo multinivel inherente a muchos sistemas de información modernos (por ejemplo, el modelo OSI de siete capas, el modelo TCP/IP, los niveles SNA y DECnet) proporciona una solución a este problema no sólo en el entorno RaDB, sino también para sistemas de información en general.

12. Independencia del SGBD. Los DBMS locales deben poder participar en el funcionamiento de RaDBMS.

Está claro que, si bien sería muy deseable tener sistemas que cumplieran las 12 reglas, no es realista esperar que estos requisitos se implementen incluso en un solo producto, incluso en los próximos años.

Los cuatro pasos necesarios para avanzar hacia la gestión de bases de datos distribuidas se describen a continuación para proporcionar las siguientes capacidades:

1. Solicitud remota. Se conecta a un host remoto y lee o modifica datos en ese host. El resultado se envía al nodo de origen, tras lo cual se completa la transacción. Casi todos los DBMS comerciales ahora admiten consultas remotas y han estado brindando esta capacidad durante algún tiempo.

2. Unidad de trabajo remota. Esto significa que un grupo de solicitudes se puede ejecutar como una unidad atómica (transacción) en un nodo remoto. Una aplicación generalmente puede acceder y modificar datos de muchos nodos, pero cada transacción afecta los datos de un solo nodo.

3. Unidad de trabajo distribuida en este caso, cada solicitud se aplica a un solo nodo, pero las solicitudes que componen una unidad de trabajo distribuida (transacción) se pueden ejecutar conjuntamente en varios nodos. Todo el grupo de solicitudes se repara o revierte como uno solo.

4. Solicitud distribuida. Este paso le permite ejecutar consultas que abarcan varias bases de datos en diferentes nodos. Varias de estas consultas distribuidas se pueden agrupar como una transacción.




Arriba