Temat: Data Warehouse - Co polecacie?
wow ;-)
100 baz danych dostępnych on line, chłopie :) to nie ma prawa działać, oto przyczyny:
1. Aby raporty na bazie wykonywały się szybko, nie może to być baza danych systemu transakcyjnego. Wykonując dużego SELECTa na tabeli używanej do paru insertów/updatów/deletów jednocześnie przez parę sesji, zajedziesz bazę. Ty chcesz to robić na 100 bazach na raz...
2. Systemy transakcyjne (rozumiem że to Twoje źródła) są zwykle w 3 postaci normalnej, posiadają dużo tabel i referencji, to wszystko obniża ich wydajność podczas dużych agregacji, znowu.... zajedziesz bazę
3. Systemy transakcyjne nie przechowują danych historycznych, nie posiadają tzw. "snapshot tables" ani "summary tables", jeśli posiadają i robi się hybryda baza-hurtownia, nie działa to dobrze (performance)
Pracowałem na wielu różnych platformach, od systemów dla rezerwacji lotów (Teradata), przez logi połączeń telefonicznych (Teradata, Oracle, SQL Server) po systemy monitorujące sprzedaż (Oracle, SQL Server). Problemy tam zaczynały się przy dużo mniejszych ilościach danych niż Ty chciałbyś przenosić, więc niestety potrzebujesz:
1. hurtowni danych
2. jakiegoś procesu ETL który ładuje dane w paczkach (batchach) co jakiś czas, najlepiej w nocy gdy systemy transakcyjne nie pracują zbyt intensywnie
Hurtownią danych może być nawet MySQL (sam pisałęm kiedyś prototyp takiego systemu), ważne aby stworzyć uniwersalny model danych. Co do procesu ETL to tak samo, może to być parę skryptów SQL które pobierają dane ze źródła i ładują do Twojej hurtowni.
Tak na prawdę widzę, że brak Ci trochę podstawowej wiedzy, na prawdę polecam książki Kimballa, dla Ciebie najbardziej odpowiedni byłby "Data Warehouse Toolkit" a zaraz potem "Data Warehouse ETL Toolkit".
Jedno jest pewne, nie jest to projekt na weekend, albo nawet parę dni. Połączyć i zunifikować 100 baz to parę miesięcy dla paru osób, jeśli nie masz takiego budżetu, lepiej sobie odpuścić, bo nie będzie to działać :-/