Red de conocimiento de divisas - Empezando con las acciones - ¿Qué sistemas requieren tecnología de duplicación de bases de datos? Primero echemos un vistazo a qué es la duplicación de datos: casi todos los sistemas de aplicaciones ahora se basan en bases de datos, por lo que la carga sobre la base de datos es relativamente grande. Es posible que haya datos que guardar o leer en la base de datos en cualquier momento las 24 horas del día. Habrá usuarios que se conectarán a nuestro servidor de base de datos en cualquier momento, y docenas, cientos o incluso miles de usuarios se conectarán para usar nuestra base de datos, por lo que ya sea un tiempo de inactividad planificado o una falla no planificada, causará ciertas pérdidas. Esto ha traído grandes pérdidas a nuestros usuarios o empresas, especialmente con el advenimiento de la era de los datos, los usuarios han planteado requisitos más altos para el uso de datos. Entonces, como DBA, ¿qué debemos hacer para reducir esta pérdida al nivel más bajo? ¿Cuál es el más bajo? ¡Es precisamente por esta necesidad que surgió la tecnología de duplicación de bases de datos! El concepto de duplicación de bases de datos se propuso por primera vez en SQL SERVER2005. Características: Solución de alta disponibilidad basada en software. Esta es una solución de alta disponibilidad completamente basada en software. No es necesario aumentar los costos de hardware, es decir, los costos de hardware son bajos y la conmutación por error y la recuperación son rápidas. Lo más importante es la rápida recuperación ante fallos. 3 segundos (especialmente atractivo para usuarios o administradores de bases de datos) son generalmente 10 segundos cuando la cantidad de datos es grande. En esta tecnología de duplicación de bases de datos, hay un servidor de bases de datos, al que llamamos base de datos primaria. Es responsable de las conexiones de los usuarios y del procesamiento de datos. También hay un servidor esclavo, que debería llamarse servidor espejo para ser precisos. También hay una base de datos en él, llamada base de datos espejo, que se utiliza para almacenar la copia de seguridad en caliente de nuestra base de datos principal. En otras palabras, aunque no está conectado a la computadora del usuario, puede realizar copias de seguridad en caliente de cambios y modificaciones de datos en el servidor principal. Es decir, si el usuario actualiza el contenido en la base de datos maestra, la base de datos maestra enviará la actualización al servidor espejo de acuerdo con la tecnología de duplicación, asegurando así que los datos entre el servidor maestro y el servidor esclavo sean consistentes. Si nuestro servidor principal o base de datos principal no está disponible por algún motivo, por ejemplo, interrupción de la red, falla del sistema, etc. , luego el cliente será redirigido al servidor espejo, luego el cliente aún podrá leer y escribir datos y no sentirá que el servicio de base de datos principal ha estado inactivo. Por lo tanto, el uso de la tecnología de duplicación de bases de datos mejora la disponibilidad y acorta el tiempo de recuperación para los usuarios. Entonces los clientes aún pueden escribir datos en la base de datos espejo. Leer datos y actualizar transacciones relacionadas es el proceso en el que aplicamos la duplicación de bases de datos. Para realizar este proceso, se deben involucrar varios roles: Roles de servidor en la duplicación de bases de datos: estos roles se acaban de presentar gráficamente, por lo que hay tres roles de servidor en 2005, a saber: Servidor principal: el servidor principal acepta conexiones de usuario y solicitudes de transacciones. , es decir, en circunstancias normales, el servidor principal proporciona servicios de servidor espejo: la base de datos espejo es la copia de seguridad de la base de datos principal; La llamada copia de seguridad en caliente significa que los cambios en la base de datos principal se reflejarán inmediatamente en la base de datos reflejada del disco duro. Solo acepte conexiones de usuario después de la conmutación por error y solicite al servidor testigo que procese las transacciones: supervise el estado y la conectividad del servidor para implementar la conmutación por error automática, lo que significa que el servidor testigo siempre supervisará el estado y la conectividad de los dos servidores. Cuando el servidor principal deja de funcionar o deja de estar disponible, el servidor testigo habilita inmediatamente la conmutación por error y cambia el servidor espejo al servidor principal. Continuar proporcionando servidores a los usuarios. Estos son los tres roles del servidor en la duplicación de bases de datos, pero debe tenerse en cuenta que estos tres roles no son fijos, pero se pueden cambiar: la base de datos principal y la base de datos espejo son socios; el principal y el espejo se pueden convertir entre sí; Después de una conmutación por error, los roles de los socios cambian. Cuando el servidor principal es normal, todas las conexiones de usuario y las actualizaciones de datos se envían directamente al servidor principal, y solo el servidor principal realiza una copia de seguridad de los datos en el servidor espejo, pero cuando el servidor principal no está disponible, la función cambia. El servidor espejo se convierte en el servidor principal. Entonces, ¿qué pasa si el servidor principal original vuelve a la normalidad? Se convertirá en un servidor espejo. Entonces su papel ha cambiado completamente. Entonces, si este servidor no está disponible. Luego hay otro proceso de transformación. Entonces quizás quieras hacer otra pregunta: ¿Cómo saben estos tres personajes cuáles están disponibles y cuáles no? Cada instancia de servidor se monitorea entre sí mediante el intercambio de mensajes PING. El principio de PING es similar al comando DOS, pero su función es mucho más poderosa que la de DOS. PING en DOS solo verifica la conectividad de la red. Aquí PING es para monitorear la conectividad de la red. También es necesario monitorear el estado de ejecución de la instancia del servidor de la base de datos, si el servidor es normal y si la base de datos en este servidor es normal. Para resumir el flujo de trabajo de la duplicación de la base de datos: en circunstancias normales, después de configurar la duplicación de la base de datos, los usuarios solo pueden conectarse a la base de datos principal y la base de datos reflejada no está disponible en este momento. Las conexiones de usuario son inútiles. Cuando el usuario solo puede usar el servidor principal, el servidor principal escribe datos en su propia base de datos por un lado y, por otro lado, los envía al servidor espejo a través del registro de transacciones y los escribe en la base de datos del servidor espejo. En este punto, el servidor principal entrará en estado de espera. Esperando la confirmación del servidor espejo, es decir, cuando los datos del servidor espejo se escriben correctamente en la base de datos espejo, se enviará un mensaje a la base de datos principal diciendo que ya he actualizado los datos, lo que significa que se debe rehacer el proceso. se ha realizado en el servidor espejo. Esta es una confirmación.

¿Qué sistemas requieren tecnología de duplicación de bases de datos? Primero echemos un vistazo a qué es la duplicación de datos: casi todos los sistemas de aplicaciones ahora se basan en bases de datos, por lo que la carga sobre la base de datos es relativamente grande. Es posible que haya datos que guardar o leer en la base de datos en cualquier momento las 24 horas del día. Habrá usuarios que se conectarán a nuestro servidor de base de datos en cualquier momento, y docenas, cientos o incluso miles de usuarios se conectarán para usar nuestra base de datos, por lo que ya sea un tiempo de inactividad planificado o una falla no planificada, causará ciertas pérdidas. Esto ha traído grandes pérdidas a nuestros usuarios o empresas, especialmente con el advenimiento de la era de los datos, los usuarios han planteado requisitos más altos para el uso de datos. Entonces, como DBA, ¿qué debemos hacer para reducir esta pérdida al nivel más bajo? ¿Cuál es el más bajo? ¡Es precisamente por esta necesidad que surgió la tecnología de duplicación de bases de datos! El concepto de duplicación de bases de datos se propuso por primera vez en SQL SERVER2005. Características: Solución de alta disponibilidad basada en software. Esta es una solución de alta disponibilidad completamente basada en software. No es necesario aumentar los costos de hardware, es decir, los costos de hardware son bajos y la conmutación por error y la recuperación son rápidas. Lo más importante es la rápida recuperación ante fallos. 3 segundos (especialmente atractivo para usuarios o administradores de bases de datos) son generalmente 10 segundos cuando la cantidad de datos es grande. En esta tecnología de duplicación de bases de datos, hay un servidor de bases de datos, al que llamamos base de datos primaria. Es responsable de las conexiones de los usuarios y del procesamiento de datos. También hay un servidor esclavo, que debería llamarse servidor espejo para ser precisos. También hay una base de datos en él, llamada base de datos espejo, que se utiliza para almacenar la copia de seguridad en caliente de nuestra base de datos principal. En otras palabras, aunque no está conectado a la computadora del usuario, puede realizar copias de seguridad en caliente de cambios y modificaciones de datos en el servidor principal. Es decir, si el usuario actualiza el contenido en la base de datos maestra, la base de datos maestra enviará la actualización al servidor espejo de acuerdo con la tecnología de duplicación, asegurando así que los datos entre el servidor maestro y el servidor esclavo sean consistentes. Si nuestro servidor principal o base de datos principal no está disponible por algún motivo, por ejemplo, interrupción de la red, falla del sistema, etc. , luego el cliente será redirigido al servidor espejo, luego el cliente aún podrá leer y escribir datos y no sentirá que el servicio de base de datos principal ha estado inactivo. Por lo tanto, el uso de la tecnología de duplicación de bases de datos mejora la disponibilidad y acorta el tiempo de recuperación para los usuarios. Entonces los clientes aún pueden escribir datos en la base de datos espejo. Leer datos y actualizar transacciones relacionadas es el proceso en el que aplicamos la duplicación de bases de datos. Para realizar este proceso, se deben involucrar varios roles: Roles de servidor en la duplicación de bases de datos: estos roles se acaban de presentar gráficamente, por lo que hay tres roles de servidor en 2005, a saber: Servidor principal: el servidor principal acepta conexiones de usuario y solicitudes de transacciones. , es decir, en circunstancias normales, el servidor principal proporciona servicios de servidor espejo: la base de datos espejo es la copia de seguridad de la base de datos principal; La llamada copia de seguridad en caliente significa que los cambios en la base de datos principal se reflejarán inmediatamente en la base de datos reflejada del disco duro. Solo acepte conexiones de usuario después de la conmutación por error y solicite al servidor testigo que procese las transacciones: supervise el estado y la conectividad del servidor para implementar la conmutación por error automática, lo que significa que el servidor testigo siempre supervisará el estado y la conectividad de los dos servidores. Cuando el servidor principal deja de funcionar o deja de estar disponible, el servidor testigo habilita inmediatamente la conmutación por error y cambia el servidor espejo al servidor principal. Continuar proporcionando servidores a los usuarios. Estos son los tres roles del servidor en la duplicación de bases de datos, pero debe tenerse en cuenta que estos tres roles no son fijos, pero se pueden cambiar: la base de datos principal y la base de datos espejo son socios; el principal y el espejo se pueden convertir entre sí; Después de una conmutación por error, los roles de los socios cambian. Cuando el servidor principal es normal, todas las conexiones de usuario y las actualizaciones de datos se envían directamente al servidor principal, y solo el servidor principal realiza una copia de seguridad de los datos en el servidor espejo, pero cuando el servidor principal no está disponible, la función cambia. El servidor espejo se convierte en el servidor principal. Entonces, ¿qué pasa si el servidor principal original vuelve a la normalidad? Se convertirá en un servidor espejo. Entonces su papel ha cambiado completamente. Entonces, si este servidor no está disponible. Luego hay otro proceso de transformación. Entonces quizás quieras hacer otra pregunta: ¿Cómo saben estos tres personajes cuáles están disponibles y cuáles no? Cada instancia de servidor se monitorea entre sí mediante el intercambio de mensajes PING. El principio de PING es similar al comando DOS, pero su función es mucho más poderosa que la de DOS. PING en DOS solo verifica la conectividad de la red. Aquí PING es para monitorear la conectividad de la red. También es necesario monitorear el estado de ejecución de la instancia del servidor de la base de datos, si el servidor es normal y si la base de datos en este servidor es normal. Para resumir el flujo de trabajo de la duplicación de la base de datos: en circunstancias normales, después de configurar la duplicación de la base de datos, los usuarios solo pueden conectarse a la base de datos principal y la base de datos reflejada no está disponible en este momento. Las conexiones de usuario son inútiles. Cuando el usuario solo puede usar el servidor principal, el servidor principal escribe datos en su propia base de datos por un lado y, por otro lado, los envía al servidor espejo a través del registro de transacciones y los escribe en la base de datos del servidor espejo. En este punto, el servidor principal entrará en estado de espera. Esperando la confirmación del servidor espejo, es decir, cuando los datos del servidor espejo se escriben correctamente en la base de datos espejo, se enviará un mensaje a la base de datos principal diciendo que ya he actualizado los datos, lo que significa que se debe rehacer el proceso. se ha realizado en el servidor espejo. Esta es una confirmación.

Cuando el servidor principal reciba esta confirmación, responderá al cliente diciendo que la operación de actualización de datos acaba de completarse. ¿Por qué se puede implementar un mecanismo de recuperación rápida? Esto es principalmente inseparable de un mecanismo en 2005, pero SQL 2005 no tiene que esperar hasta que se complete la reversión y puede usarse después de rehacer. En cuanto a la operación de deshacer, continúa deshaciéndola durante el uso del usuario, de modo que cuando los datos del servidor principal se actualicen, el servidor espejo se actualizará en el menor tiempo posible, de modo que si los datos principales fallan, el servidor espejo puede tomar sobre el servidor principal en el menor tiempo. Los siguientes son los tres modos operativos de duplicación de bases de datos: Alta disponibilidad: el más utilizado. Protección de alto nivel y alto rendimiento Veamos cada uno de estos tres modos. Por supuesto, lo más importante es la alta disponibilidad, que es un modelo ampliamente utilizado: Rol del servidor: servidor principal servidor espejo escenario de aplicación del servidor testigo: ocasiones que requieren alta disponibilidad, como transacciones de acciones, bancos de negociación de valores, etc. Se requiere implementar una conmutación por error automática y garantizar la integridad de los datos: se requiere que siempre que el usuario envíe los datos al servidor, incluso si ocurre una falla justo después de enviarlos al servidor principal, se puede garantizar que los datos no se perderán. Los datos después de la conmutación por error no se perderán, lo que garantiza la integridad de la base de datos. Modo de protección avanzada: como puede ver por el nombre, se centra en la protección de datos. En lugar de implementar la función del servidor de disponibilidad: escenario de aplicación del servidor espejo del servidor principal: los altos requisitos de integridad de datos no requieren conmutación por error automática, lo que significa que el tiempo de inactividad de la base de datos principal es aceptable, pero la pérdida de datos es inaceptable, por lo que este alto En este caso se puede utilizar el modo de protección de nivel, porque no hay un servidor testigo, por lo que la conmutación por error automática no es posible. Luego, si el servidor principal deja de estar disponible, la conmutación por error solo se puede realizar manualmente. Por lo tanto, se requiere que la disponibilidad del servidor sea baja. Modo de alto rendimiento: Función del servidor: Servidor principal Servidor espejo Escenario de aplicación: cuando el servidor principal y el servidor espejo están muy separados, hay un retraso evidente en el enlace de comunicación entre más de diez kilómetros o dos ciudades, y los requisitos de rendimiento son superiores a los de Requisitos de integridad de datos. El principio es: cuando el servidor principal recibe la operación del usuario, transmite la transacción al servidor espejo. Entonces la distancia es larga, por lo que hay un retraso obvio, por lo que no esperará la confirmación del servidor espejo, lo que significa que no le importa si los datos se escriben en el servidor espejo, por lo que este modo es para responder al La solicitud del usuario lo más rápido posible, que es mejorar el rendimiento del usuario. Hay requisitos más altos que la integridad de los datos. En este modo, habrá pérdida de datos, es decir, si el servidor principal deja de funcionar, usaremos el servidor espejo como servidor principal, pero no hay garantía de que los datos del interior sean consistentes con los datos del principal. servidor, porque puede haber pérdida. Primero, introduzcamos brevemente algunos conceptos: Seguridad de transacciones: un modo de transmisión de sincronización completa entre el cuerpo principal y la base de datos espejo. Después de enviar el registro, el sujeto espera la confirmación de que el espejo y el registro del espejo son completamente consistentes. Después de cerrar el asunto y enviar el registro, continúa procesando operaciones posteriores sin esperar la confirmación del espejo. Cuando falla el servidor principal, es posible que se pierdan algunos datos del servidor espejo. Se requiere quórum en modo de alta disponibilidad o alta protección. Para determinar qué servidor es el servidor principal, un cambio en el quórum provocará una conmutación por error. Si el servidor principal falla, el quórum cambiará y el servidor espejo será designado como servidor principal. Generalmente existen varias formas de arbitraje: Echemos un vistazo a cómo configurar la duplicación de la base de datos: esto debería ser algo que entusiasme a todos, porque he oído hablar de ello durante mucho tiempo. Finalmente ya no tengo que sufrir más. De hecho, la configuración es muy sencilla, basta con prestar atención a unos pocos pasos. Prepare la base de datos reflejada Prepare la base de datos reflejada en el servidor reflejado Cree el punto final de creación de reflejo de la base de datos Configure el punto final de creación de reflejo en cada servidor Configure la seguridad e inicie la creación de reflejo de la base de datos. Veamos cómo hacer esto en detalle. Cabe señalar que cuando se lanzó por primera vez SQL SERVER2005, el servicio de creación de reflejo de la base de datos estaba desactivado de forma predeterminada y no es compatible. Cuando se acaba de lanzar la versión oficial de SQL SERVER 2005, la gente creía que la tecnología de duplicación de bases de datos aún no estaba madura y necesitaba mejoras. Entonces, si estás usando la versión oficial, no puedes usar esta tecnología. Luego debe descargar el parche SP1 o superior. Número de versión SQL Server 2005 versión 9.00.1399 Sql Server 2005 (versión inicial) 9. 00. 2047 Sql Server 2005 sp 1 9. 00. 3042 Sql Server 2005 SP2 Parcharemos directamente el SP2 aquí: prepare un poco la base de datos: condiciones Muy importante: La base de datos principal debe estar en modelo de recuperación total. Cree una copia de seguridad completa en la base de datos principal y utilice la opción NORECOVER para restaurar la base de datos principal en el servidor espejo. Continuar restaurando copias de seguridad de registros posteriores (NORECOVER) Un punto muy importante de NORECOVER es configurar el punto final de duplicación de la base de datos (ENDPOINT) para implementar la comunicación de la sesión de duplicación, que es el punto de entrada de cada servidor, algo similar a un número de puerto. Pero ese no es el caso. Es decir, después de crear este punto final, cada servidor puede comunicarse entre instancias mediante el protocolo TCP. Cada punto final espejo escucha en un número de puerto TCP único; normalmente todos usan el puerto 5022. Cree un punto final de duplicación de base de datos: debe crear uno en cada instancia. Sólo los miembros del grupo Administradores tienen permisos.
上篇: Quédate hasta el final y muestra el sol 下篇: Se sospecha que el nuevo novio de Zhou Yangqing es Luo Hong, el hijo mayor del jefe de Holiland, Luo Hong, con quien salí con Jiang Yiyan.
Artículos populares