Tecnología de base de datos de nivel 3 del examen nacional de rango informático (13)

Capítulo 13_Arquitectura de bases de datos a gran escala

análisis de prueba

◆Generalmente, en el examen aparecerán preguntas de opción múltiple.
◆Los puntos de conocimiento de las pruebas comunes incluyen:
1. Dominar el objetivo de la base de datos distribuida y la estrategia de distribución de datos
2. Dominar la estructura del esquema de referencia y el nivel de transparencia de distribución de la base de datos distribuida
3. Dominar la estructura del sistema de base de datos paralela y el algoritmo paralelo
4. Familiarizado con el sistema de base de datos en la nube Estructura y base de datos XML.

13.1 Base de datos distribuida

1. Descripción general del sistema de base de datos distribuida
1. Sistema de base de datos distribuida: un sistema de base de datos que está físicamente disperso y lógicamente centralizado. Los datos del sistema se distribuyen en computadoras en diferentes ubicaciones físicas y estos sitios están conectados por una red de comunicación. Cada sitio tiene la capacidad de manejarse de forma independiente, pero también puede trabajar en conjunto con otros sitios.
2. Base de datos distribuida: Conjunto lógico de bases de datos en cada sitio del sistema de base de datos distribuida.

2. Objetivos de la base de datos distribuida y estrategia de distribución de datos
1. Objetivos de la base de datos distribuida
En 1987, CJDate propuso 12 objetivos que las bases de datos distribuidas debían alcanzar. Como se muestra en la siguiente figura:
Destino de base de datos distribuida
2. Estrategia de distribución de datos
Estrategia de distribución de datos
(1)
Descripción de la fragmentación de datos: fragmentar una determinada relación es dividir la relación en varios fragmentos. Estos fragmentos contienen suficiente información para reconstruir la relación. Hay 4 métodos básicos:
01. Fragmentación horizontal: desde la perspectiva de las filas (tuplas) de la relación, se divide en diferentes fragmentos según determinadas condiciones, cada fila de la relación debe pertenecer al menos a un fragmento, para que la relación pueda reconstruirse cuando sea necesario.
02. Re-fragmentación: Desde la perspectiva de las columnas (atributos) en la relación, se divide en diferentes fragmentos según ciertas condiciones. Cada fragmento debe contener el atributo de clave principal de la relación, para que la relación pueda restaurarse a través del Método de conexión.
03. Exportar fragmentación: es exportar fragmentación horizontal. La fragmentación no se basa en las condiciones de este atributo de relación, sino en las condiciones de otros atributos de relación.
04. Fragmentación híbrida: se refiere a la combinación de los tres métodos anteriores.
(2) Distribución de datos
Descripción: Es una característica de una base de datos distribuida. Hay varias formas de resolver la distribución de datos:
01. Centralizada: todos los fragmentos de datos están organizados en un sitio. Esta estrategia es fácil de controlar, pero los datos están demasiado centralizados. La carga es demasiado pesada, es fácil formar un cuello de botella y la confiabilidad es pobre.
02. Segmentación: Existe una y sólo una copia de todos los datos globales. Se dividen en varias partes y cada parte se asigna a un campo específico. Esta estrategia es flexible para el control de datos locales, pero tiene baja eficiencia de acceso para datos globales.
03. Replicación completa: hay varias copias de datos globales y cada sitio tiene una copia de datos completa. Esta estrategia tiene alta confiabilidad y respuesta rápida, pero tiene una gran redundancia de datos y un mantenimiento de sincronización complicado.
04. Híbrido: los datos globales se dividen en varios subconjuntos de datos y cada subconjunto está organizado en uno o más lugares diferentes. Pero no todos los datos se guardan para cada sitio. Este es un método de distribución entre replicación dividida y completa. Esta estrategia es más flexible: puede maximizar sus fortalezas y evitar sus debilidades según diferentes situaciones para lograr una mayor eficiencia.

3. Arquitectura del sistema de base de datos distribuida
1. El diagrama estructural de un modo de referencia de base de datos distribuida es el siguiente:
Diagrama esquemático de una estructura de modo de referencia de una base de datos distribuida.
El contenido específico del sistema de base de datos distribuida:
01. Modo externo global: es la vista del usuario de la aplicación global. Es decir, tablas, vistas, etc. que no están distribuidas lógicamente como las ven los usuarios finales.
02. Modo de concepto global: describe la estructura lógica y las características de todos los datos.
03. Modo de fragmentación: describe cada fragmento de datos y la imagen de la relación global con el fragmento, y es una vista de división lógica de los datos globales en un sistema de base de datos distribuida.
04. Modo de asignación: describe la imagen de cada fragmento en el sitio de almacenamiento físico.
05. Modo de concepto local: describe la estructura lógica y las características de los fragmentos físicos almacenados en la relación global en el sitio.
06. Modo interno local: describe el almacenamiento físico de los datos involucrados en el modo conceptual local en el sitio local.

2. Transparencia de distribución
Hay varios niveles de transparencia de distribución:
01. Transparencia de ubicación significa que la ubicación de asignación de fragmentos de datos es transparente para los usuarios. Cuando los usuarios escriben programas, solo necesitan considerar los datos La distribución de películas en cada lugar.
02. Transparencia de fragmentación El nivel más alto de transparencia. Ubicado entre el modo de concepto global y el modo de fragmento. La transparencia de la fragmentación es simplemente que
la fragmentación de datos es completamente transparente y los usuarios no necesitan pensar en ello. Al escribir programas, solo necesitan operar en todas las relaciones.
03. La transparencia del modelo de datos local se da entre el modelo de distribución y el modelo de concepto local. Al editar, el usuario debe comprender la situación de fragmentación de datos global, así como la situación de replicación de cada fragmento y la asignación de ubicación de los fragmentos y sus réplicas.
3. Sistema de gestión de bases de datos distribuidas
La estructura del sistema de gestión de bases de datos distribuidas es la siguiente:
Estructura del sistema de gestión de bases de datos distribuidas
4. Tecnologías relacionadas de la base de datos distribuida
1. Consulta distribuida
En el sistema de base de datos centralizado, el costo de la consulta se compone principalmente del costo de la CPU y el costo de E/S. medida, en un sistema de base de datos distribuida. Los datos se distribuyen en muchos sitios diferentes y la generación de comunicación para transferir datos entre sitios también debe considerarse en el procesamiento de consultas. La optimización de consultas directas distribuidas considera principalmente las siguientes estrategias:
Estrategia de optimización de consultas distribuidas
2. Gestión de transacciones distribuidas
La gestión de transacciones distribuidas incluye principalmente control de recuperación y control de concurrencia. La finalización de una transacción global en un sistema de base de datos distribuida requiere la participación de múltiples sitios. Para mantener la atomicidad de la transacción, todos los lugares que participan en la ejecución de la transacción están comprometidos o revocados.
01. Control de recuperación
A. La estrategia más típica para el control de recuperación de sistemas de bases de datos distribuidas se basa en un protocolo de confirmación de dos fases, que divide la gestión de transacciones del sitio en coordinadores y participantes.
B. El coordinador pregunta a todos los participantes si la transacción se puede confirmar en la primera etapa y el participante responde: en la segunda etapa, el coordinador decide si se puede confirmar la transacción de acuerdo con la respuesta del participante.
C. Tanto el coordinador como los participantes mantienen una información de registro en la memoria estable. Cuando ocurre una falla, la información de registro se puede usar para restaurar las operaciones.
D. Desventajas: el protocolo de dos fases puede provocar un bloqueo cuando falla el coordinador, y el envío del protocolo de tres fases puede evitar problemas de bloqueo.
02. Control de concurrencia
El control de concurrencia en la mayoría de los sistemas distribuidos se basa principalmente en protocolos de bloqueo. Se pueden usar todo tipo de protocolos de bloqueo en el sistema de base de datos centralizado en el sistema distribuido, lo que debe cambiarse es la forma en que el administrador de bloqueo maneja los datos replicados.

13.2 Bases de datos paralelas

1. Descripción general de los datos paralelos
1. Las cuestiones clave en el desarrollo de sistemas de bases de datos: mejorar la tasa de rendimiento de los sistemas de bases de datos y el tiempo de respuesta de las transacciones, y el desarrollo de aplicaciones de bases de datos plantea mayores requisitos para el rendimiento y la disponibilidad de las bases de datos. .
2. Bajo el impulso de los requisitos de software y hardware, se introducen bases de datos paralelas y se utiliza el procesamiento paralelo de múltiples procesadores para aumentar la velocidad. Las computadoras paralelas baratas construidas con múltiples procesadores tienen mejor rendimiento que las computadoras tradicionales a gran escala.
2. Estructura del sistema de base de datos paralela
1. La base de datos paralela tiene una variedad de arquitecturas, que se pueden dividir principalmente en los siguientes cuatro tipos:
(1) Estructura de memoria compartida
(2) Estructura de disco compartido
(3) Sin estructura compartida
(4) Estructura jerárquica
2. Estructura de memoria compartida
Descripción: Todos los procesadores comparten una memoria principal común a través de Internet, como se muestra en la figura (P significa procesador, M significa memoria, D significa disco):
estructura de memoria compartida

Esta arquitectura paralela se diferencia de un sistema independiente sólo en que se utilizan varios procesadores en lugar de un solo procesador. Ejecute transacciones en paralelo, transfiera mensajes y datos a través de la memoria compartida y acceda a uno o más discos.
Ventajas: Solución simple y más económica
Desventajas: Si hay demasiados procesadores, es fácil causar conflictos en el acceso a la memoria. Por lo tanto, el número de procesadores debe limitarse a 32 o 64, lo que limita en cierta medida la expansión de capacidades paralelas.
3. Estructura de disco compartido
Descripción: Todos los procesadores tienen memoria principal independiente y comparten discos a través de Internet, como se muestra en la figura (P significa procesador, M significa memoria y D significa disco).
disco compartido
Ventajas: en comparación con la estructura de memoria compartida, la estructura de disco compartido tiene mayores ventajas: cada procesador tiene memoria independiente y el acceso a la memoria ya no causará conflictos. Hasta cierto punto, supera el problema del fallo del sistema cuando falla la memoria y mejora la disponibilidad del sistema.
Desventajas: Esta estructura realiza el intercambio de información y datos entre procesadores a través de Internet, lo que generará ciertos costos de comunicación.
4. Sin estructura compartida
Descripción: Cada procesador tiene memoria principal y disco independientes y no comparte ningún recurso.
sin estructura compartida
Ventajas: esta estructura se considera la mejor estructura paralela para admitir sistemas de bases de datos paralelos y reduce la probabilidad de competencia por recursos al minimizar los recursos compartidos. Es extremadamente escalable. Es más adecuado para aplicaciones como OLTP, como cajeros bancarios y venta de billetes de aviación civil.
Desventajas: el costo de la comunicación y el costo del acceso al disco frío no local son altos.
5. Descripción de la estructura jerárquica
: esta estructura combina las características de memoria compartida, disco compartido y estructura sin compartir. Desde una perspectiva global, se puede dividir en dos capas. La capa superior es una estructura sin compartir compuesta por varios nodos. Y la capa inferior es memoria compartida o estructura de disco compartido. Como se muestra en la siguiente figura:
Jerarquía
Ventajas: esta estructura es muy flexible y se puede configurar en sistemas con diferentes estructuras según las diferentes necesidades de los usuarios
Desventajas: las ventajas y desventajas de las tres estructuras anteriores están integradas.
3. Partición de datos y computación paralela.
1. Una división de datos razonable puede minimizar el tiempo de procesamiento de consultas y maximizar el rendimiento del procesamiento paralelo.
Método de partición de datos
(1) División de datos unidimensionales
Partición de datos unidimensional_1
Partición de datos unidimensional_2
(2) División de datos multidimensionales
Método de división de datos multidimensionales:
A.Método de división multidimensional
MAGIC B.CMD Método de división multidimensional
C.RERD Método de división multidimensional Método
de división: divida el atributo de la relación R en atributo de división principal y propiedades de partición auxiliar. Sólo hay un atributo de división principal, que se establece en A. Primero, divida según su rango y luego construya una relación auxiliar RB con tres atributos para cada atributo de subdivisión B. Las
tuplas en RB corresponden a las tuplas en R. Entre ellos, TID es la identificación de tupla del registro y ProdD es el nodo de almacenamiento real. Divida el RB en cada nodo según el atributo Bi.
2. Algoritmo paralelo
(1) Ordenar y unir son operaciones costosas en el sistema de base de datos. La siguiente es una introducción a los algoritmos paralelos de estas dos operaciones:
Introducción a los algoritmos paralelos

(2)
Descripción de clasificación en paralelo: si la relación se asigna a cada disco de acuerdo con el método de división de rango y el atributo de clasificación es un atributo de partición, entonces los datos en cada partición se pueden concatenar para obtener una relación ordenada. Si la relación se divide de otras maneras, se pueden utilizar los siguientes métodos para ordenar:
Método de clasificación paralela:
01. Vuelva a dividir el rango según el atributo de clasificación, luego ordene cada división por separado y finalmente combine los resultados directamente.
02. Adopte el algoritmo de combinación y clasificación externa paralela, es decir, cada procesador primero clasifica los datos locales y luego el sistema fusiona los datos ordenados en cada procesador para obtener la relación ordenada final.
(3) Conexión paralela
Descripción: La conexión paralela se divide en conexión de partición y conexión de fragmentación-replicación. El contenido específico es el siguiente:
Unión de partición: para la unión de equivalencia y la unión natural, las dos relaciones de entrada se pueden dividir en múltiples procesadores y luego se realizan uniones locales en cada procesador.
Conexiones replicadas por fragmentos: las conexiones fragmentadas no se aplican a las conexiones electrónicas normales. Las conexiones replicadas por fragmentos se pueden resolver con diferentes atributos de conexión y las tuplas también pueden coincidir.
(4) Otras operaciones relacionales
01. Selección: se puede ejecutar en paralelo en todos los procesadores mediante la operación de selección.
02. Eliminar la duplicación: se puede integrar en el resumen del proceso de clasificación, combinado con algoritmos paralelos para lograr la paralelización y eliminar la duplicación.
03. Proyección: La proyección sin deduplicación se puede realizar en paralelo cuando se lee la tupla del disco, si desea eliminar filas duplicadas, puede utilizar el método de deduplicación mencionado anteriormente para eliminar la duplicación y realizar la proyección al mismo tiempo.
04. Agregación: el cálculo paralelo de funciones de agregación puede adoptar el método de "dividir primero y luego combinar". Para las funciones de agregación SUMA, MIN y MAX, cada nodo primero calcula parte de los resultados en paralelo y luego calcula cada parte. de los resultados una vez usando la misma función de agregación Eso es todo.

13.3 Arquitectura de base de datos de computación en la nube

1. Descripción general de la computación en la nube
1. Descripción: La computación en la nube es el desarrollo de la computación distribuida, la computación paralela y la computación en red, o la realización comercial de estos conceptos informáticos.
2. Concepto: la computación en la nube es un modelo de computación empresarial que proporciona a los usuarios de la computación en la nube potentes recursos de potencia informática, almacenamiento y ancho de banda al concentrar todos los recursos informáticos y adoptar tecnología de virtualización de hardware, y distribuye las tareas informáticas en un grupo de recursos compuesto por una gran cantidad. de las computadoras, diversos sistemas de aplicaciones pueden obtener potencia informática, espacio de almacenamiento y servicios de información según sea necesario. Obtenga la misma o mayor potencia informática que los grandes servidores tradicionales. La computación en la nube incluye las siguientes instalaciones de hardware y software:
(1) Software como servicio (SaaS): los servicios de aplicaciones en Internet siempre se han denominado software como servicio (Saas) y es un modelo de distribución de software.
(2) Plataforma como Servicio (Paas): se refiere a la provisión de sistemas operativos y servicios relacionados a través de la red. sin descargar ni instalar.
(3) Infraestructura como servicio (laas): Se refiere a la provisión de servicios externos para equipos utilizados para soportar operaciones, incluyendo almacenamiento, hardware, servidores y componentes de red.
3. Centro de datos del proveedor de computación en la nube
La configuración de software y hardware del centro de datos del proveedor de computación en la nube es la llamada nube, y los detalles son los siguientes:
nube
4. El gran avance de la computación en la nube
Desde el punto de vista del hardware, la computación en la nube rompe a través de la tradición en tres aspectos, como se muestra a continuación:
(1) La computación en la nube puede proporcionar recursos informáticos aparentemente ilimitados para los sistemas de aplicaciones, y la computación en la nube eliminará la necesidad de que los usuarios finales preparen planes o presupuestos para la potencia informática (
2)) SaaS Los proveedores de servicios pueden agregar gradualmente recursos de hardware según sea necesario, sin necesidad de un compromiso inicial.
(3) La computación en la nube tiene la flexibilidad de proporcionar a sus usuarios un uso de recursos a corto plazo. Los usuarios pueden liberar fácilmente estos recursos cuando ya no sean necesarios.

2. Introducción a la arquitectura de la computación en la nube
1. En el entorno de la nube, el objeto principal de la computación siguen siendo los datos. La combinación "nube + base de datos" produce una base de datos en la nube. La arquitectura de la base de datos en la nube de Google se muestra en la figura:
Marco de servicios en la nube de Google

  1. Modelo de datos de BigTable
    (1) Descripción: BigTable es la base de datos en la nube de Google y un sistema distribuido de almacenamiento de datos estructurados para procesar, almacenar y consultar directamente datos masivos.
    (2) El índice de la tabla BigTable es la clave de fila (clave de fila), la clave de columna (clave de columna) y la marca de tiempo (marca de tiempo).
    (3) Cada celda ( Cell ) se ubica conjuntamente mediante palabras clave de fila, palabras clave de columna y marcas de tiempo.
    (4) En BigTable, no solo se puede aumentar o disminuir el número de filas a voluntad, sino que también, bajo ciertas restricciones, expandir el número. de columnas e introduce una etiqueta de tiempo en cada unidad, que puede almacenar diferentes datos de diferentes versiones de tiempo.
    (5) Características del modelo de datos
    01. La clave de fila de la tabla puede ser cualquier cadena.
    BigTable organiza los datos por orden lexicográfico de claves de fila. Cada fila de una tabla se puede dividir dinámicamente. Cada partición se denomina "tableta" y una tableta es la unidad más pequeña para la distribución de datos y el ajuste del equilibrio de carga.
    02. La familia de columnas es una colección de palabras clave de columnas, que es la unidad básica de control de acceso.
    En la misma familia de columnas, normalmente se almacenan datos del mismo tipo. en la misma mesa. Las familias de columnas no pueden ser demasiadas. En la capa de familia de columnas, se realizan respectivamente control de acceso, estadísticas de uso de disco y memoria
    03. Marcas de tiempo de diferentes versiones de datos contenidos en elementos de datos.
    La indexación de diferentes versiones de datos se puede lograr mediante marcas de tiempo. BigTable puede establecer el valor de la marca de tiempo para representar la hora exacta de los datos correspondientes. Puede tener una precisión de milisegundos: el programa de usuario también puede asignar un valor a la marca de tiempo para representar la información de la versión de los datos
    en el elemento de datos. El sistema clasifica los datos en orden de marca de tiempo. Es decir, los últimos datos docentes son lo primero.
    (6) Arquitectura de BigTable
    Un clúster de Bigtable almacena muchas tablas, cada tabla contiene una colección de tabletas y cada tableta contiene todos los datos relevantes de las filas en un rango determinado. En el estado inicial, una mesa tiene sólo una tableta. A medida que los datos de la tabla crecen, se dividen automáticamente en varias tabletas. El diagrama de estructura de BigTable se muestra en la figura:
    Diagrama de estructura de Bigtable

3. Comparación entre base de datos en la nube y base de datos tradicional

3. Comparación entre la base de datos en la nube y la base de datos tradicional
1. Existe una gran diferencia entre la base de datos en la nube y el RDBMS existente. Aunque todos son modelos de datos relacionales, la base de datos en la nube habitual es una serie de tablas bidimensionales y el método de operación también es basado en la versión simplificada de la clase SQL u objetos de acceso.
2. El uso de bases de datos en la nube nos evita comprar servidores de alojamiento, instalar y mantener bases de datos nosotros mismos y no preocuparnos por la ubicación del servidor y otra información, solo acceder a la información requerida. Sin embargo, las bases de datos en la nube también tienen las siguientes desventajas:
● Problemas de seguridad de los datos
● Dependencia de Internet
● Problemas de administración de la nube

13.4 bases de datos XML

1. Descripción general del lenguaje XML
XML (lenguaje de marcado extensible): generalmente se usa para marcar archivos electrónicos para hacerlos estructurales, se puede usar para marcar datos para definir tipos de datos y es una fuente que permite a los usuarios definir sus propios lenguajes de marcado. Su sintaxis es similar a HTML. Las etiquetas se utilizan para describir datos. Sus características son las siguientes:
01.XML es un subconjunto del Lenguaje de marcado generalizado estándar (SGML), que es muy adecuado para la transmisión web.
02. XML proporciona un método unificado para describir e intercambiar datos estructurados independientemente de las aplicaciones o proveedores.
03.La base de datos XML es un sistema de gestión de bases de datos que admite operaciones como almacenar y consultar documentos en formato XML.
04
II. Descripción general de los datos XML
1.La base de datos XML es un sistema de gestión de datos que admite operaciones de almacenamiento y consulta en documentos en formato XML. Es una colección de documentos XML y sus componentes, y gestiona y controla esta colección de documentos a través de un Es mantenido por el propio sistema y la información que representa.
2. La base de datos XML no es solo un repositorio de datos estructurados y datos semiestructurados, los datos XML persistentes incluyen muchas características de los datos, como las siguientes:
independencia, integración, derechos de acceso, vistas, integridad, redundancia, coherencia, recuperación de datos
3. Tres tipos de base de datos XML
Tres tipos de bases de datos XML

4. En comparación con las bases de datos tradicionales, las bases de datos XML tienen las siguientes ventajas:
01. Las bases de datos XML pueden acceder y gestionar eficazmente datos semiestructurados.
02. Proporcionar operaciones sobre etiquetas y rutas.
03. Cuando los propios datos tengan características jerárquicas. El formato de datos XML puede expresar claramente las características jerárquicas de los números, y la base de datos XML es conveniente para operar con datos jerárquicos.

3. SQL Server 2008 y XML
1. Declaración XML en SQL Server
1. En una base de datos relacional, el resultado de la consulta devuelto por la declaración SELECT es un conjunto de filas estándar (un conjunto de datos en formato de tabla de datos compuesto de campos y registros). Si desea devolver el resultado de la consulta en formato XML, puede agregar la cláusula FOR XML en la instrucción SELECT para cambiar el resultado devuelto al formato XML. Además, SQL Server 2008 también proporciona una función OPENXML para procesar flujos de datos XML.
2. Formato de sintaxis de declaración XML en SQL Server
inserte la descripción de la imagen aquí

3. Ejemplos de declaraciones XML en SQL Server
inserte la descripción de la imagen aquí

4. Tipo de datos XML en SQL Server
inserte la descripción de la imagen aquí

5.Tipo de índice XML
inserte la descripción de la imagen aquí

6. Operar XML
04
punto de prueba 4: Base de datos XML
4. Operar XML
SQL Server 2008 admite el uso del lenguaje XQuery para consultar tipos de datos XML, y sus métodos comúnmente utilizados incluyen principalmente:
01. El método de consulta utilizado para consultar nodos XML en XML instancias.
02. Se utiliza para describir el método Value para obtener valores de nodos y elementos en una instancia XML.
03 El método Exist utilizado para determinar si la consulta devuelve un resultado vacío.
04 Modificar método para insertar, modificar y eliminar nodos en una instancia XML

Supongo que te gusta

Origin blog.csdn.net/weixin_47288291/article/details/123586166
Recomendado
Clasificación