2016-05-27 1 views
0

Ich untersuche eine neue SQL Server 2012/2014 DB, die wir verwenden werden, um Daten aus einer älteren Postgres DB zu migrieren. Die Daten werden sowohl von einer Webanwendung als auch zu Berichtszwecken verwendet.Columnstore-Index vs Replikation

Eines der wichtigsten Probleme, die wir angehen müssen, ist die Leistung vieler Berichte [Datengrößen von 1 - 50 Millionen Datensätzen].

In Übereinstimmung mit "best practice" dachten wir zunächst daran, eine separate Berichts-DB zu implementieren, von der wir angenommen hatten, dass sie mit REPLICATION gefüllt wäre.

Gleichzeitig habe ich mich mit COLUMNSTORE index befasst, weil unsere Daten überwiegend schreibgeschützt sind. Wir haben einen Zeitraum zwischen April und Juni, in dem Daten eingefügt werden, und für den Rest des Jahres werden die Daten nicht geändert. Aber die Spitzenzeit der OLTP-Dateneingabe ist auch der Höhepunkt für die OLAP-Berichterstellung, weshalb die beiden Datenbanken getrennt werden müssen.

Das Problem, das wir lösen müssen, ist, dass COLUMNSTORE-Indizes nicht mit REPLICATION verwendet werden können.

Die Alternativen scheinen

  • zunächst einen einzelnen DB für beide OLTP und OLAP verwenden zu sein, columns Indizes die Implementierung und die Überwachung der Leistung. Wenn wir SQL Server 2014 verwenden, können wir CLUSTERED COLUMNSTORE-Indizes, die aktualisierbar sind, ebenfalls voll nutzen.

  • Erstellen Sie Reporting-DB von Anfang an und verwenden Sie SSIS (oder eine Form von ETL-Prozess), um die Daten in den Berichts-DB zu übertragen. Implementieren Sie COLUMNSTORE-Indizes für schlechteste Berichte.

Ich würde über jede Rückmeldung, basierend auf Erfahrungen anderer Projekte, freuen.

+0

Sie könnten auch SQL Server 2016 –

+0

suchen Was bietet 2016? Es ist möglicherweise keine Option aufgrund von Unternehmenslizenzen – maurocam

+0

Neugierig, warum columnstore keine Option mit Replikation ist. Es gibt nichts, was besagt, dass der Herausgeber und das Abonnentenschema übereinstimmen müssen (speziell in Bezug auf die Indizierung). –

Antwort

1

Sie haben diese Frage gefunden und sich entschieden, sie zu kommentieren. In SQL Server 2016 können Sie die Replikation mit dem aktualisierbaren Nonclustered Columnstore-Index sowohl auf dem Publisher als auch auf dem Abonnenten verwenden. Es gibt sogar 2 neue Optionen zum Aktivieren der direkten Replikation des Nonclustered Columnstore Index (Standard & gefiltert). Weitere Details finden Sie hier: Columnstore Indexes – part 83 (“Columnstore Replication in SQL Server 2016”) Clustered Columnstore wird bisher nicht unterstützt, was natürlich sehr schade für jedes DWH-Szenario ist.