Domanda

Ho una web app che viene utilizzato su più continenti. Il sottostante delle transazioni DB sta chiudendo quando report di grandi dimensioni vengono eseguiti. Voglio:

  1. fare un in tempo reale del database di SQL Server 2005 a un report di DB
  2. direttamente a riporto i rapporti DB

In teoria questo impedirà di chiusura delle transazioni per gli inserti e gli aggiornamenti. E 'OK se i rapporti DB viene bloccato temporaneamente fino a quando le transazioni continuano. Le relazioni DB può ricevere le nuove transazioni quando si è in un carico più leggero. Qual è il modo migliore per mantenere una copia in tempo reale nei pressi della transazione DB? Dovrei utilizzare la replica, il mirroring o una combinazione dei due? Quali orientamenti generali devo seguire?

Grazie!

È stato utile?

Soluzione

replica di SQL Server per implementare questo tipo di architettura. Per esempio. i dati replicati dal server db principale al server di report. Non è il momento del tutto reale (pochi sistemi sono), ma può essere molto vicino.

Ci sono diversi sapori con replica di SQL Server e probabilmente si vorrà server-to-server. Si veda anche questo articolo su Data warehousing e reporting . Esso descrive lo scenario esatto che ti trovi contro ed i vostri obiettivi:

  

In base alla progettazione, la replica transazionale   affronta i requisiti principali   per questo scenario:

  • transazionale coerenza
  • Bassa latenza
  • High Throughput
  • overhead minimo

Altri suggerimenti

Mirroring = tutta la DB, la replica è un sottoinsieme di solito in base a quello che "pubblicare"

In questo caso, mi piacerebbe utilizzare la replica di se avete bisogno quasi in tempo reale. Mi piacerebbe prendere in considerazione il mirroring se segnalazione potrebbe lag pochi minuti o relazioni dovrebbe essere "statico" per un periodo di tempo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top