2008-10-01 22 views
13

Mam wiele danych mysql, z których muszę generować raporty. To głównie historyczne dane, więc niewiele się zmieni, ale waży 20-30 gigabajtów i ma się rozwijać. Obecnie mam kolekcję skryptów php, które wykonują złożone zapytania i wyprowadzają pliki CSV i Excel. Używam również phpMyAdmin z zapytaniami do zakładek. Ręcznie edytuję je, aby zmienić parametry. Ilość danych rośnie, a liczba osób, które potrzebują do niej dostępu, również rośnie, więc poświęcam czas na poprawę tej sytuacji.Czy istnieją struktury hurtowni danych?

Pewnego dnia zacząłem czytać o hurtowni danych i wydaje mi się, że jest to obszar związany z tym, co muszę zrobić. Przeczytałem somegoodarticles i nawet czekam na książkę. Myślę, że rozumiem, co robią te systemy i co jest możliwe.

Tworzenie systemu raportowania dla moich danych zawsze było na liście zadań, ale do niedawna myślałem, że byłoby to wysoce niszowe przedsięwzięcie programistyczne. Ponieważ wiem, że hurtownia danych jest czymś powszechnym, sądzę, że muszą istnieć jakieś ramy raportowania/magazynowania dostępne dla ułatwienia rozwoju. Chętnie pominę pisanie interfejsów i skryptów, by planować i wysyłać e-mailem raporty i tym podobne, a także trzymać się zapytań i nawiązywania relacji.

Przeważnie byłem facetem od lamp, ale nie jestem ponad językami i platformami. Potrzebuję tylko bardziej niezawodnego rozwiązania, ponieważ moje jednorazowe skrypty nie są skalowane.

Więc gdzie jest dobre miejsce na rozpoczęcie?

Odpowiedz

7

Omówię tutaj kilka punktów dotyczących {budżetu, funkcji narzędzia biznesowego, przedziału czasowego} widma. Dla wygody, niech śledzić architektura konceptualizacji jesteś połączony z co

    WikipediaDataWarehouseArticle

  • Operacyjnego warstwy bazy
    danych źródłowych dla hurtowni danych - znormalizowana do w jednym miejscu Tylko utrzymanie danych

  • Warstwa dostępu do danych
    Przekształcenie danych źródłowych w warstwę dostępu do informacji.
    Narzędzia ETL do ekstrakcji, transformacji, ładowania danych do magazynu należą do tej warstwy.

  • warstwa informacyjna dostęp
      • Report-ułatwianie struktury danych
          danych nie jest zachowana tutaj.Jest to jedynie odbiciem danych źródłowych
          Stąd nieznormalizowana struktur (zawierający duplikat, ale dane systematycznie pochodne)
          są zwykle najbardziej skuteczny tutaj
      • Reporting Tools
          Jak czy rzeczywiście zezwalasz użytkownikom na dostęp do danych pre-puszkowych raportów (proste)
          • bardziej dynamiczne metody slice-and-kości dostępu

        Dane uzyskano dostęp do raportowania i analizy oraz narzędzia do raportowania i analizowania danych
        należą do tej warstwa. I różnice Inmana i Kimballa dotyczące metodologii projektowania,          omówione później w artykule na Wikipedii, mają związek z tą warstwą.

  • Metadane warstwa (ułatwia automatyzacja, organizacja, itp)

przewróceniu własne (low-end)
za bardzo mało out-of-pocket kosztów, po prostu uznając potrzebę, struktury nieznormalizowana można kupić te, które nie są używane, niektóre wydajności

Wsiadaj Ballgame (wymagane pewne nakłady)
nie musisz do nas e wszystkie funkcje platformy od samego początku.
IMO jednak chcesz być na platformie, które znasz będzie rosnąć, a w wysoce konkurencyjnym i konsolidacji środowiska BI, który wydaje się być jednym z czterech przedsiębiorstw mega-sprzedawców (moim zdaniem)

  • Microsoft (platforma naszej firmy 110 pracowników)
  • SAP
  • Oracle
  • IBM

    BiMarketStateArticle

Moja firma jest na tym etapie, wykorzystując niektóre możliwości ETL oferowane przez SQL Server Integration Services (SSIS) i niektóre alternatywne wykorzystanie open source, ale w praktyce licencja wymagająca produktu Talend w "Warstwie dostępu do danych" , zdenormalizowana struktura raportowania (zaimplementowana całkowicie w podstawowej bazie danych SQL Server) oraz usługi raportowania SQL Server (SSRS) w celu zautomatyzowania (na podstawie twoich umiejętności) tworzenia wcześniej określonych raportów. Należy zauważyć, że "raport" SSRS jest jedynie (skalowalną) konfiguracją/specyfikacją XML, która jest renderowana w czasie wykonywania za pośrednictwem silnika SSRS. Wybory, takie jak eksport do pliku Excela, są prostymi opcjami.

poważnego zaangażowania (niektóre znaczące ludzkie zaangażowanie wymagane)
Wskazówka powyżej, że mamy jeszcze do wykorzystania data mining/dynamiczny krojenia/kostkowania możliwości SQL Server Analysis Services. Pracujemy nad tym, , ale teraz skupiamy się na poprawie jakości naszego czyszczenia danych w "Warstwie dostępu do danych".

Mam nadzieję, że dzięki temu łatwiej zorientujesz się, od czego zacząć.

3

zebrał całkiem obszerny zestaw produktów. Produkty są "bezpłatne", ale przygotuj się na zwykłą, ciężką sprzedaż po rozwidleniu informacji identyfikacyjnych.

Nie miałem okazji ich naprawdę rozciągnąć, ponieważ jesteśmy sklepem Microsoft od jednego smutnego końca do drugiego.

+0

Czego używasz w swoim sklepie microsoft? – reconbot

3

Myślę, że powinieneś najpierw sprawdzić Kimball i Inmon i zobaczyć, czy chcesz podejść do swojej hurtowni danych w określony sposób. Kimball, w szczególności, określa bardzo dobre ramy dla modelowania i budowy magazynu.

+1

Książki hurtowni danych Kimball są prawdopodobnie jedną z niewielu książek, których będziesz potrzebować. – Codewerks

+0

To jest! Mam zestaw narzędzi do hurtowni danych i to jest niesamowite. – reconbot

1

Nie była od jakiegoś czasu aktualizowana, ale istnieje przyjemny pakiet Data Warehousing/ETL Ruby o nazwie ActiveWarehouse.

Ale chciałbym sprawdzić, jak Pentaho products jak Nick wspomniano w innej odpowiedzi. Powinien łatwo poradzić sobie z ilością danych, które posiadasz, i może dostarczyć Ci więcej sposobów na wycinanie i krojenie danych niż kiedykolwiek mogłeś sobie wyobrazić.

+0

Faceci z Active Warehouse prowadzą do artykułu "Anatey Eden", który już nie działa, oto archiwum. http://web.archive.org/web/20070510141152/http://anthonyeden.com/2006/12/20/activewarehouse-example-with-rails-svn-logs – reconbot

0

Kimball jest prostszą metodą do przechowywania danych.

Używamy programu Informatica do przenoszenia danych, ale nie obsługuje on takich rzeczy jak indeksowanie domyślnie.
Podoba mi się pomysł Wherescape RED, jako narzędzia DW i używania połączonych serwerów MS SQL w celu uniknięcia potrzeby użycia narzędzia ETL.

3

Istnieje wiele narzędzi, które starają się proces projektowania, wdrażania i zarządzania/obsługi hurtowni danych, a każdy z nich ma swoje mocne i słabe strony oraz często znacznie różniące się ceny. Pod kołdrą zawsze będziesz najlepszy, jeśli dobrze znasz zasady wojowania z obozów Kimball i/lub Inmon.

Oprócz narzędzi takich jak Kalido i Wherescape RED (które robią podobne rzeczy na różne sposoby), wiele platform ETL ma teraz wbudowane wsparcie dla osiołowej pracy implementacji - komponenty SCD itp. I śledzenie linii.

Najlepiej jednak zobaczyć te wszystkie narzędzia, które mogą być używane w rękach, rzemieślników, ułatwiają (nawet trywialne) pewne proste rzeczy, niektóre cięższe rzeczy są łatwiejsze, ale niektóre rzeczy są po prostu w porządku z IMHO;) Najpierw zapoznaj się z metodologią i zasadami, a następnie poznaj, jakie narzędzia zastosować w zestawie i kiedy ...

1

Najlepsze rozwiązanie, jakie obecnie możesz uzyskać, to Anchor Modeling.
Może to wyglądać na dość złożone ze względu na jego ogólną strukturę i wbudowaną możliwość historiowania danych.
Również technika modelowania różni się od ERD.
Ale skończyć-up z kodu SQL, aby wygenerować wszystkie obiekty db tym widokiem 3NF oraz:

  • włożyć/aktualizacji obsługiwanych przez wyzwalacze
  • zapytania dowolny punkt/zakres w historii
  • You twórcy aplikacji nie będzie patrz bazowy model kotwicy 6NF.

Technologia jest dostępna od ręki i jest nie do pobicia.

Jeśli masz pytanie dotyczące AM, możesz zapytać o ten tag: .