2017-02-27 51 views
5

Mam kilka baz danych OLTP z rozmowami z API. Mam również zlecenia ETL przesyłające dane do bazy danych OLAP co kilka godzin.Czy CQRS z bazami danych OLTP i OLAP sprawia wrażenie?

Zostałem poproszony o zbudowanie niestandardowego pulpitu wyświetlającego dane o wysokim poziomie z bazy danych OLAP. Chcę zbudować kilka interfejsów API wskazujących na bazę danych OLAP. Czy powinienem:

  1. Dodaj do mojego istniejącego API i zadzwoń do bazy danych OLAP i użyć wzorca typu CQRS, więc czyta pochodzą z OLAP, a zapisy pochodzą z OLTP. Moją obawą jest to, że może występować niedopasowanie danych między odczytami i zapisami. Sposób w jaki niedopasowanie danych zależy od tego, jak często uruchamiane są zadania ETL (godziny w moim przypadku).
  2. Dodaj do moich istniejących interfejsów API i wywołaj bazy danych OLAP, a następnie poproś klienta, aby wybrał, czy chcą danych OLAP lub OLTP, w których API się nakładają. Obawiam się, że klient nie musi wiedzieć o szczegółach implementacji miejsca, z którego pochodzą dane.
  3. Napisz nowe interfejsy API, które wskazują tylko bazę danych OLAP. To dużo dodatkowej pracy.
+1

Prawdopodobnie pójdę z: > 'Napisz nowe API, które wskazują tylko bazę danych OLAP. To dużo dodatkowej pracy. " To powinno lepiej służyć twoim wymaganiom i uniknąć mieszania się w obowiązki i funkcje twoich istniejących interfejsów API ... To podejście wylądowałoby na lepszej łatwości konserwacji i amore solidnego rozwiązania ... my 2 centów. –

+0

To brzmi prawie jak tekstowy przykład tego, gdzie CQRS z Event Sourcing i używanie go do tworzenia projekcji ma wiele sensu. Twój OLTP z łatwością przetłumaczy się na zdarzenia, a bazy danych OLAP będą wyglądać tak, jakby projekcje oferowałyby znaczną poprawę wydajności, która prawdopodobnie byłaby w rzeczywistości w czasie rzeczywistym w porównaniu do tego, jak często uruchamiane są teraz zadania ETL. – Arwin

Odpowiedz

0

Nie używać # 1: kiedy rozmowa zarządzanie analizowanych raportach to nie przeszkadza niezgodność danych między procesie ETL - oczywiście można wygenerować raport CEO po zakończeniu ETL na dzień

Czy nie używać # 2: w ten sposób będziesz załadować systemu analitycznego ponadnarodowej z narzutem i rozpuścić izolację pomiędzy dwoma systemami celów (nie dobre dla eksploatacji i utrzymania)

Zastosowanie nr 3 jako jego najlepszy sposób, aby pobrać zrealizowane wyniki, Korzystaj z nowoczesnych narzędzi, takich jak Excel, PowerQuery, PowerBIMożesz tworzyć bogaty pulpit z dużą szybkością, zamiast wchodzić do tabel i pisać interfejsy API.