Base de datos distribuida

Ir a: navegación, búsqueda de

A base de datos distribuida es un base de datos en el cual dispositivos de almacenamiento No todos se unen a una unidad de procesamiento comunes tales como el CPU,[1] controlado por un distribuidos sistema de gestión de base de datos (junto a veces llamado un sistema de base de datos distribuida). Se puede almacenar en múltiples ordenadores, situado en la misma ubicación física; o puede ser dispersada sobre un red de ordenadores interconectados. A diferencia de los sistemas paralelos, en el cual los procesadores están fuertemente acoplados y constituyen un sistema de base de datos, un sistema de base de datos distribuida consiste en sitios combinados libremente que no comparten componentes físicos.

Los administradores del sistema pueden distribuir las colecciones de datos (por ejemplo en una base de datos) a través de múltiples ubicaciones físicas. Una base de datos distribuida puede residir en servidores de red en el Internet, en corporativo intranets o extranets, o en otra empresa redes. Porque almacenan datos en varias computadoras, bases de datos distribuidas pueden mejorar el rendimiento en para el usuario final lugares de trabajo al permitir que las transacciones que se procesarán en muchas máquinas, en vez de limitarse a uno.[2]

Dos los procesos aseguran de que la distribución siguen siendo las bases de datos actualizada y actual: replicación y duplicación.

  1. Replicación implica el uso de software especializado que busca cambios en la base de datos distributivo. Una vez que los cambios han sido identificados, el proceso de replicación hace que todas las bases de datos tienen el mismo aspecto. El proceso de replicación puede ser complejos y lentos dependiendo del tamaño y número de las bases de datos distribuidas. Este proceso también puede requerir mucho tiempo y el equipo de recursos.
  2. Duplicación, por el contrario, tiene menos complejidad. Básicamente identifica a una base de datos como una Maestro y luego duplicados que la base de datos. El proceso de duplicación se realiza normalmente en un tiempo predeterminado después de horas. Esto es para asegurar que cada ubicación distribuida tiene los mismos datos. En el proceso de duplicación, los usuarios pueden cambiar sólo la base de datos master. Esto asegura que los datos locales no se sobrescribirán.

Tanto la replicación y duplicación pueden guardar los datos actuales en todas las ubicaciones distributivas.[2]

Además de la replicación de bases de datos distribuidas y fragmentación, hay muchas otras bases distribuidas tecnologías de diseño. Por ejemplo, autonomía local, tecnologías de base de datos distribuida sincrónica y asincrónica. Aplicación de estas tecnologías pueden y dependen de las necesidades del negocio y la sensibilidad /confidencialidad de los datos almacenados en la base de datos, y por lo tanto el precio del negocio está dispuesto a gastar en asegurar seguridad de datos, consistencia y integridad.

Cuando se habla de acceso a bases de datos distribuidas, Microsoft favorece el término consulta distribuida, que define de manera específica de protocolo como "[a] ny SELECT, INSERT, UPDATE o DELETE, declaración que hace referencia a las tablas y conjuntos de filas de una o más fuentes de datos externas de OLE DB".[3] Oracle proporciona una visión más centrada en la lengua en que las consultas distribuidas y transacciones distribuidas forman parte de distribuida SQL.[4]

Hoy en día la distribución DBMS mercado está evolucionando dramáticamente, con nuevas empresas innovadoras y titulares apoyar el creciente usan de los datos no estructurados y NoSQL Motores DBMS, así como Bases de datos XML y NewSQL bases de datos. Estas bases de datos están apoyando cada vez más arquitectura de base de datos distribuida que proporciona alta disponibilidad y tolerancia a fallos a través de replicación y escala de capacidad. Algunos ejemplos son Cassandra,[5] Clusterpoint,[6] Druida (almacén de datos de código abierto),[7] FoundationDB,[8] NuoDB,[9] y Riak.[10]

Contenido

  • 1 Arquitectura
    • 1.1 DDBMS homogéneo
    • 1.2 DDBMS heterogéneos
  • 2 Consideraciones importantes
  • 3 Ventajas
  • 4 Desventajas
  • 5 Véase también
  • 6 Referencias

Arquitectura

Un usuario de base de datos tiene acceso a la base de datos distribuida a través de:

Aplicaciones locales
aplicaciones que no requieren datos de otros sitios.
Aplicaciones globales
aplicaciones que requieren datos de otros sitios.

A base de datos distribuido homogéneo tiene idéntico software y hardware la ejecución de todas las instancias de bases de datos y puede aparecer a través de una sola interfaz como si se tratara de una única base de datos. A base de datos distribuido heterogéneo pueden tener diferente hardware, sistemas operativos, sistemas de gestión de base de datos y ni siquiera los modelos de datos para bases de datos diferentes.

DDBMS homogéneo

En una base de datos distribuida homogénea todos los sitios tienen idéntico software y son conscientes de los otros y acuerdan cooperar en la tramitación de las peticiones del usuario. Cada sitio entrega parte de su autonomía en materia de derecho a cambiar de esquema o software. Un DDBMS homogéneo aparece al usuario como un solo sistema. El sistema homogéneo es mucho más fácil de diseñar y gestionar. Las siguientes condiciones deben cumplirse para la base de datos homogénea:

  • El sistema operativo utilizado, en cada ubicación debe ser igual o compatible.[¿Según quién?][otra explicación necesitado]
  • Las estructuras de datos utilizadas en cada ubicación deben ser igual o compatible.
  • La aplicación de base de datos (o DBMS) utilizado en cada ubicación debe ser igual o compatible.

DDBMS heterogéneos

Vea también: Sistema de base de datos heterogéneos

En una base de datos distribuido heterogéneo, diferentes sitios pueden utilizar software y diferentes esquemas. Diferencia de horario es un problema importante para el procesamiento de la consulta y procesamiento de transacciones. Sitios no sean conscientes de los otros y pueden proporcionar sólo pocas instalaciones para la cooperación en procesamiento de transacciones. En sistemas heterogéneos, distintos nodos pueden tener diferente hardware y software y estructuras de datos en varios nodos o lugares también son incompatibles. Pueden utilizarse diferentes ordenadores y sistemas operativos, aplicaciones de base de datos o modelos de datos en cada una de las ubicaciones. Por ejemplo, una ubicación puede tener la última tecnología de gestión de base de datos relacional, mientras que otro lugar puede almacenar datos utilizando archivos convencionales o una versión antigua del sistema de gestión de base de datos. Del mismo modo, un lugar puede tener el sistema operativo Windows NT, mientras que otro puede tener UNIX. Sistemas heterogéneos se utilizan generalmente cuando los sitios individuales utilizan su propio hardware y software. En el sistema heterogéneo, las traducciones están obligadas a permitir la comunicación entre diferentes sitios (o DBMS). En este sistema, los usuarios deben podemos hacer peticiones en un lenguaje de base de datos en sus sitios locales. El lenguaje de base de datos SQL se utiliza generalmente para este propósito. Si el hardware es diferente, a continuación, la traducción es sencilla, en qué computadora códigos y longitud de palabra ha cambiado. El sistema heterogéneo a menudo no es técnicamente o económicamente viable. En este sistema, un usuario en un lugar puede ser capaz de leer pero no actualiza los datos en otra ubicación.

Consideraciones importantes

Debe tenerse cuidado con una base de datos distribuida para garantizar lo siguiente:

  • La distribución es transparente, los usuarios deben ser capaces de interactuar con el sistema como si fuera un sistema lógico. Esto se aplica al rendimiento del sistema y los métodos de acceso entre otras cosas.
  • Transacciones son transparentes — cada transacción debe mantener integridad de la base de datos a través de múltiples bases de datos. Las transacciones deben también dividirse en subtransacciones, cada transacción sub que afecta a un sistema de base de datos.

Existen dos enfoques principales para almacenar una relación r en un sistema de base de datos distribuida:

A) Replicación
B) fragmentación /Partición

A) replicación de: En la replicación, el sistema mantiene varias réplicas idénticas de la misma relación r en diferentes sitios.

  • Datos están más disponibles en este esquema.
  • Paralelismo se incrementa cuando leyó la petición se sirve.
  • Aumenta la sobrecarga en las operaciones de actualización como cada sitio que contiene la réplica debía ser actualizado con el fin de mantener la coherencia.
  • Replicación multi-datacenter proporciona una diversidad geográfica, como en Clusterpoint[11] o Riak.[12]

B) fragmentación: La relación r es fragmentada en varias relaciones r1, r2, r3....rn de tal manera que la relación real podría ser reconstruida a partir de los fragmentos y luego los fragmentos están dispersos en diferentes lugares. Básicamente existen dos esquemas de fragmentación:

  • Fragmentación horizontal - divide la relación asignando cada tupla de r a uno o más fragmentos.
  • La fragmentación vertical - divide la relación descomponiendo el esquema R de relación r.

Ventajas

  • Gestión de datos distribuidos con diferentes niveles de transparencia como la transparencia de red, fragmentación transparencia, transparencia de replicación, etc..
  • Aumentar la confiabilidad y disponibilidad
  • Expansión más fácil
  • Refleja la estructura organizacional — fragmentos potencialmente almacenadas dentro de los departamentos que se relacionan con la base de datos
  • Autonomía local o sitio autonomía — un departamento puede controlar los datos sobre ellos (como son los familiarizados con ella)
  • Protección de datos valiosos — si alguna vez hubo un evento catastrófico como un fuego, todos los datos no sería en un solo lugar, sino distribuidos en varias ubicaciones
  • Rendimiento mejorado — datos está situados cerca del sitio de mayor demanda, y los propios sistemas de bases de datos son paralela, permitiendo la carga en las bases de datos a equilibrarse entre servidores. (Una alta carga de un módulo de la base de datos no afectará a otros módulos de la base de datos en una base de datos distribuida)
  • Economía — pueden costar menos para crear una red de computadoras más pequeñas con el poder de una sola computadora grande
  • Modularidad — sistemas pueden ser modificados, añadidos y removidos de la base de datos distribuida sin afectar a otros módulos (sistemas)
  • Transacciones confiables - debido a la replicación de la base de datos
  • Independencia de hardware, sistema operativo, red, fragmentación, DBMS, replicación y ubicación
  • Funcionamiento continuo, incluso si algunos nodos desconectarse (dependiendo del diseño)
  • Procesamiento de consultas distribuidas puede mejorar el rendimiento
  • Solo sitio falla no afecta el rendimiento del sistema.
  • Para los sistemas que soportan las transacciones distribuidas completa, disfrutan de las operaciones de la ÁCIDO propiedades:
    • A-atomicidad, la transacción lleva a cabo en su totalidad o en absoluto
    • C-consistencia, mapas DB consistente un estado a otro
    • Aislamiento, cada transacción ve una consistente DB
    • D-durabilidad, los resultados de una transacción deben sobrevivir fallas en el sistema

El método Merge Replication es popularmente utilizado para consolidar los datos entre bases de datos.[citación necesitada]

Desventajas

  • Complejidad — DBA puede tener que hacer un trabajo extra para asegurarse de que la naturaleza distribuida del sistema es transparente. También se puede hacer trabajo extra para mantener múltiples sistemas dispares, en lugar de uno grande. También se puede hacer trabajo de diseño de bases de datos adicionales para tener en cuenta la naturaleza desconectada de la base de datos — por ejemplo, se une a ser prohibitivo cuando se realiza a través de múltiples sistemas.
  • Economía — aumento de la complejidad y una infraestructura más amplia significa costos extra laborales
  • Seguridad — fragmentos de base de datos remota deben estar asegurados, y ellos no están centralizados para que los sitios remotos deben fijarse también. La infraestructura también debe ser asegurada (por ejemplo, mediante la encriptación de los enlaces de red entre sitios remotos).
  • Difícil de mantener integridad — pero en una base de datos distribuida, aplicar integridad en una red puede requerir mucho de los recursos de la red para ser factible
  • Inexperiencia — bases de datos distribuidas son difíciles de trabajar con, y en un ámbito tan joven no hay mucha experiencia disponible en la práctica "como Dios manda"
  • Falta de normas — no existen herramientas o metodologías para ayudar a los usuarios convertir un DBMS centralizado en un DBMS distribuido[citación necesitada]
  • Base de datos de diseño más complejo — además de los desafíos de diseño de bases de datos tradicionales, el diseño de una base de datos distribuida tiene que considerar la fragmentación de los datos, asignación de fragmentos de replicación de datos y sitios específico
  • Se requiere software adicional
  • Sistema operativo debe apoyar entorno distribuido
  • Control de concurrencia plantea una cuestión importante. Se puede resolver por bloqueo y Timestamping.
  • Acceso distribuido de datos
  • Análisis de datos distribuidos

Véase también

  • Base de datos centralizada
  • Cuadrícula de datos
  • Almacén de datos distribuidos
  • Caché distribuido
  • Protocolo de enrutamiento
  • Ruta protocol1

Referencias

  1. ^ Este artículo incorporamaterial de dominio público desde el Administración de servicios generales documento "Federal estándar 1037C".
  2. ^ a b O ' Brien, J. & CET, G.M.(2008) sistemas de información gerencial (pp. 185-189). Nueva York, NY: McGraw-Hill Irwin
  3. ^ "Glosario de TechNet". Microsoft. 2013-07-16. consulta distribuida [:] Declaración cualquier SELECT, INSERT, UPDATE o DELETE que hace referencia a las tablas y conjuntos de filas de una o más fuentes de datos externas de OLE DB.
  4. ^ Ashdown, lanza; Kyte, Tom (septiembre de 2011). "Conceptos de bases de datos oracle 11g Release 2 (11.2)". Oracle Corporation. 17 / 07 / 2013. SQL distribuido síncrono accesos y actualiza datos distribuidos entre múltiples bases de datos. [...] Distribuida SQL incluye consultas distribuidas y las transacciones distribuidas.
  5. ^ "Sistema de gestion de base de datos Apache Cassandra". Apache.org.
  6. ^ "Base de datos distribuida Clusterpoint XML". Clusterpoint.
  7. ^ "Druida distribuido almacén de datos y bases de datos". La comunidad de druida.
  8. ^ "FoundationDB base de datos". FoundationDB.
  9. ^ Clark, Jack. "NuoDB sorbe europeo efectivo para la expansión de la base de datos" El registro. 26 de febrero de 2014
  10. ^ "Base de datos distribuida de Riak Basho". Basho.
  11. ^ "Clusterpoint base de datos distribuida replicación multi-datacenter de almacenamiento". Clusterpoint.
  12. ^ "Replicación de Riak base de datos multi-datacenter". Basho.
  • M. T. Özsu y P. Valduriez, Principios de bases de datos distribuidas (3ª edición) (2011), springer, ISBN 978-1-4419-8833-1
  • Elmasri y Navathe, Fundamentos de sistemas de base de datos (tercera edición), Addison-Wesley Longman, ISBN 0-201-54263-3
  • Guía del administrador de base de datos Oracle 10g (Versión 1), https://docs.Oracle.com/CD/B14117_01/Server.101/b10739/ds_concepts.htm

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Distributed_database&oldid=636430176"