Pytanie o hurtownie danych

0

Witam

Mam zwykły model relacyjny bazy danych. Czy mogę użyć go aby stworzyć kostke ( mowa t o hurtowni danych ). Czy baza musi być zaprojektowana z myślą o tym, że będzie z niej tworzona kostka wielowymiarowa ?? Mam tu na myśli to czy projektując bazę musimy pomyśleć najpierw o hurtowni danych czy z każdego modelu relacyjnego kostke można zrobić i struktura nie ma znaczenia?

0

Przecież idea hurtowni jest taka żeby zbierać dane z wielu różnych baz danych, ergo bez sensu byłoby gdyby ich twórcy musieli wcześniej wiedzieć że to będzie w hurtowni ;)

0

Dopiero zaczynam zabawę w tym temacie, ale zobacz przykładową charakterystykę hurtowni:

Designed for analysis of business measures by categories and attributes

  • oznacza że baza ma przechowywać wartości wg wymiarów (np. czasu, obszaru geo)

Optimized for bulk loads and large, complex, unpredictable queries that access many rows per table.

  • oznacza prawdopodobnie pełną indeksację (w OLTP indeksacji się unika jeśli można)

Loaded with consistent, valid data; requires no real time validation

  • oznacza wyłączenie wszelkiego rodzaju walidacji na bazie

Supports few concurrent users relative to OLTP

  • oznacza inną organizację zasobów w systemie

Główny problem z "hurtownią w OLTP" to będzie indeksacja i uporządkowanie wymiarów.
Możesz ew. zrobić w tej samej bazie zindeksowane widoki (MS SQL), ale wtedy pewnie zmniejszysz wydajność części OLTP.
Do przyspieszenia baz stosuje się denormalizację, co może być zabójcze dla OLTP.

0

Połączenie OLTP i OLAP na tej samej instancji bazy to strzał w kolano. Wiem z doświadczenia, uczestniczyłem w projekcie dzielenia jednej bazy, w której taką zbrodnię popełniono, na dwie (w naprawdę dużym systemie). Trwało to mniej więcej rok. Po prostu nie da się pogodzić tych dwóch koncepcji - optymalizujesz jedno, psujesz drugie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1