Mam 350 MB tabeli, która jest dość szeroka, z dwoma kolumnami varchar (2000). Poprzez przepływ danych SSIS ładowanie trwa 60 minut przez docelowe "szybkie ładowanie" OLEDB do Azure SQL DW. Zmieniłem miejsce docelowe tego przepływu danych na Azure Blob Destination (z SSIS Azure feature pack) i ten sam przepływ danych zakończył się w ciągu 1,5 minuty (a Polybase z tego nowego płaskiego pliku zajmuje około 2 minut).Optymalne ustawienia przepływu danych SSIS do załadowania do stołu montażowego w usłudze Azure SQL DW
Dla innego źródła mam istniejący płaski plik 1GB. Przepływ danych SSIS do miejsca docelowego OLEDB w systemie Azure SQL DW zajmuje 90 minut. Skopiuj plik do magazynu BLOB, a ładowanie w Polybase zajmuje 5 minut.
SSIS to SSIS 2014 i działa na maszynie wirtualnej Azure w tym samym regionie co Azure SQL DW. Wiem, że ładowanie zbiorcze jest znacznie wolniejsze niż w przypadku Polybase, ponieważ ładowanie zbiorcze prowadzi przez węzeł sterujący, ale Polybase jest zrównoleglone we wszystkich węzłach obliczeniowych. Ale te obciążenia są bardzo powolne.
Jakie są optymalne ustawienia dla przepływu danych SSIS i miejsca docelowego w celu załadowania do tabeli etapów DW programu Azure SQL tak szybko, jak to możliwe, poprzez ładowanie zbiorcze? Szczególnie jestem zainteresowany w optymalnej wartości dla następujących ustawień w uzupełnieniu wszelkich innych ustawień nie jestem rozważa:
- Stage stół geometria = HEAP (to najszybszy wierzę)
- ustawień przepływu danych:
- DefaultBufferMaxRows =?
- DefaultBufferSize =?
- ustawienia OLEDB przeznaczenia
- Data Access mode = Tabela lub widok - szybkie obciążenia
- zachować tożsamość = niesprawdzone
- Przechowywać null =
- Blokada stołu =?
- Sprawdź więzy =?
- Wiersze na wsad =?
- Maksymalny rozmiar zatwierdzenia wkładu =?
Dzięki Sonya. W przypadku przepływu danych, który trwał 60 minut, przełączenie tabeli stage z columnstore na HEAP spowodowało, że liczba ta była 2-3-krotnie większa, a wartość DefaultBufferSize (która z powodu szerokości rzędu skutkowała 10 000 buforami wierszy, nawet jeśli DefaultBufferMaxRows wynosiła 100 000), o kolejne 2-3 razy szybciej. Teraz trwa poniżej 8 minut. BDD nie zrobił znaczącej różnicy w tym konkretnym teście (DWU400 z użytkownikiem średnim). Inne ustawienia miejsca docelowego przepływu danych, które testowałem, również nie miały znaczącej różnicy. Myślę, że znaleźliśmy dwóch najlepszych winowajców. – GregGalloway