Przejdź do głównej zawartości

Przykładowe zbiory FoodMart

FoodMart to klasyczny zbiór przykładowy OLAP — fikcyjna sieć spożywcza z pięcioma latami danych sprzedaży w 37 tabelach (customer, product, store, time_by_day, sales_fact_1997 itd.). To ten sam zbiór, którego używa demonstracyjne pudełko Saiku Cloud, dostosowany rozmiarem do szybkiej iteracji (~10 MB skompresowane) i ukształtowany tak, by każda funkcja Mondriana miała co poćwiczyć.

Ta strona pozwala załadować FoodMart do Twojej własnej instancji testowej dowolnego wspieranego dialektu, żebyś mógł podłączyć ją do Saiku Cloud przez normalny przepływ BYOC i przejść przez przewodnik Rejestracja i pierwsza kostka end-to-end. Bez migracji hurtowni.

Co jest w zestawie

Wszystkie bundle zawierają:

  • Dane — 37 tabel załadowanych pięcioma latami sprzedaży, klientów, produktów, sklepów, pracowników i zapasów.
  • XML schemy Mondrian (foodmart.xml) — wgraj go do Schema designer Saiku Cloud, gdy Twoje dane są załadowane. XML jest neutralny dla dialektu; działa względem któregokolwiek z poniższych bundli.
  • Skrypt loadera referencyjnego lub runbook — per dialekt, bo każda hurtownia ma własną semantykę bulk-load.

Dump Postgres to kanoniczne źródło. Każdy inny bundle dialektu jest mechanicznie tłumaczony z niego (mały skrypt sed na dialekt — zobacz każdą zakładkę poniżej).

Bundle per dialekt

Postgres 12+ — załaduj bezpośrednio przez pg_restore lub psql.

Okno terminala
# Pobierz (9,1 MB skompresowane, ~95 MB rozpakowane)
curl -L https://raw.githubusercontent.com/spiculedata/saiku-cloud/develop/infra/foodmart-pg/init/01-foodmart.sql.gz \
-o foodmart.sql.gz
curl -L https://raw.githubusercontent.com/spiculedata/saiku-cloud/develop/infra/foodmart-pg/init/02-date-string-column.sql \
-o foodmart-date-string.sql
# Załaduj (Postgres 12+; rurkuje zgipowany dump do psql)
createdb foodmart
gunzip -c foodmart.sql.gz | psql -d foodmart
psql -d foodmart -f foodmart-date-string.sql

Krok 02-date-string-column.sql dodaje ALTER TABLE, którego schema time_by_day Saiku oczekuje — to jednolinijkowa kolumna date_string populowana z the_date. Zawsze uruchamiaj po bulk-load.

Podłącz z: Przewodnik PostgreSQL.

Po załadowaniu: wgraj schemę Mondrian

Gdy Twój wybrany dialekt ma załadowany FoodMart, ostatni krok to XML schemy Mondrian. Mapuje Twoje fizyczne tabele na kostki OLAP (Sales, Warehouse, HR itd.):

  1. Pobierz XML schemy:

    Okno terminala
    curl -L https://raw.githubusercontent.com/spiculedata/saiku-cloud/develop/infra/scripts/demo-seeds/foodmart.xml \
    -o foodmart.xml
  2. W Saiku Cloud idź do dashboarda Schemy i kliknij Wgraj schemę. Wybierz foodmart.xml.

  3. Schema designer porównuje każde odwołanie <Table> z Twoim połączeniem. Jeśli walidacja przechodzi (zielony tick na każdej kostce), Twój FoodMart jest gotowy do zapytań.

  4. Idź do dashboarda Analiza. Wybierz dowolną kostkę. Przeciągnij [Measures].[Unit Sales] na półkę wierszy, [Time].[Year] na półkę kolumn. Powinieneś zobaczyć rok 1997 = 266 773.

To ta sama liczba, którą produkuje każdy dialekt — kanoniczny dowód, że Saiku Cloud poprawnie czyta Twoje dane.

Zbundlowany plik .duckdb dla niecierpliwych

Jeśli chcesz zero-translacji, zero-konfiguracji, oto gotowy plik FoodMart DuckDB bezpośrednio — ten sam, którego używa demonstracyjne pudełko Saiku Cloud, ~12 MB, gotowy do wgrania do dashboarda Pliki:

Bezpośrednie pobranie: zobacz stronę wydań saiku-cloud dla najnowszego foodmart-bundle-<version>.zip. Bundle zawiera każdy artefakt, do którego ta strona się odwołuje — dump Postgres, plik DuckDB, XML schemy, skrypty translacji per dialekt — w jednym miejscu.