Sincronización unidireccional en tiempo real de sql-server a otro repositorio de datos

data-synchronization sqlbulkcopy sql-server-2008 ssis

Pregunta

En mi pregunta anterior en este portal, había preguntado sobre alguna información sobre la sincronización de datos entre SQL Server y los repositorios de datos basados ​​en valores clave.

En lugar del mismo problema (una forma de sincronización en tiempo real de SQL a HBase o cualquier otra base de datos), necesito encargarme de algunas consideraciones de rendimiento y latencia y no encontré una manera infalible de hacerlo.

  1. Tenemos varios fragmentos de datos de SQL 2008 donde los datos se actualizan desde varias fuentes y son procesados ​​por muchos procesos al mismo tiempo (y la IU se lee desde los mismos fragmentos).

  2. El objetivo es obtener todas las actualizaciones en las tablas seleccionadas en cualquier momento y transportarlas a otra fuente de datos casi en tiempo real.

  3. La cantidad de cambio en los fragmentos de SQL permanecerá en el rango de 100-500 MB (si mantenemos la frecuencia de 1 minuto). No queremos realizar cambios importantes en los servidores SQL, ya que lo descartaríamos después de migrar el sistema completo.

  4. Desafortunadamente, nuestra capa de acceso a datos está desordenada en varias capas. De lo contrario, habría sido la mejor manera de dividir las actualizaciones en dos direcciones.

  5. Los disparadores reducirán la velocidad de los fragmentos y los dejarán en un estado que no responde.

  6. No estoy seguro de si SQL Server 2008 tiene algo similar a los servicios de notificación de SQL Server 2005 y cuán efectivo sería.

Cualquier otra solución innovadora sería de gran ayuda.

Aquí mi problema no consiste en transformar los datos de forma relacional a valor clave (es bastante fácil), sino en cómo obtener las actualizaciones de SQL Server en tiempo real (puede permitir la latencia de 1 a 2 minutos) sin afectar la experiencia del usuario. .


Respuesta popular

Una opción que quizás desee considerar es el seguimiento de cambios integrado de SQL Server (parte de SQL2008 o superior). Esta es una forma increíblemente eficaz de encontrar los cambios que se han producido en su base de datos de SQL Server (incluidas las eliminaciones), tiene un impacto muy pequeño en su SQLDB, no requiere activadores y proporciona una buena manera de permitirle mover los cambios de datos a Hadoop.

Revelación completa, trabajo en Cotega y esta sincronización de datos es algo en lo que estamos enfocándonos mucho. Estoy feliz de ayudar más si esta es una dirección que está interesado en tomar.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué