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:
- 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).
- 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.
- Napisz nowe interfejsy API, które wskazują tylko bazę danych OLAP. To dużo dodatkowej pracy.
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. –
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