Kostky (server OLAP) - Cubes (OLAP server) - Wikipedia
Původní autoři | Stefan Urbanek[1] |
---|---|
První vydání | 27. března 2011 |
Stabilní uvolnění | 1.1 / 2. července 2016 |
Napsáno | Krajta |
Operační systém | Cross-platform |
Typ | OLAP |
Licence | Licence MIT[2] |
webová stránka | kostky |
Kostky je lehký otevřený zdroj vícerozměrné modelování a OLAP sada nástrojů pro vývojové aplikace a prohlížení agregovaných dat zapsaných v systému Windows Programovací jazyk Python propuštěn pod Licence MIT.
Cubes poskytuje analytikovi nebo jakémukoli koncovému uživateli aplikace „srozumitelný a přirozený způsob hlášení pomocí konceptu datové kostky - vícerozměrné datové objekty ".
Kostky byly poprvé veřejně vydány v březnu 2011. Projekt byl původně vyvinut pro Veřejné zakázky z Slovensko.[3] Kostky 1.0 byly vydány v září 2014 a představeny na konferenci PyData v New Yorku[4]
Funkce
- OLAP a agregované procházení (výchozí je ROLAP)
- logický model OLAP kostky v JSON nebo poskytovány z externích zdrojů
- hierarchické dimenze (atributy, které mají hierarchické závislosti, jako je podkategorie kategorie nebo oblast země)
- více hierarchií v dimenzi
- aritmetické výrazy pro výpočet odvozen opatření a agregáty
- lokalizovatelné metadata a data
Modelka
Logický koncepční model v kostkách je popsán pomocí JSON a mohou být poskytovány buď ve formě souboru, svazku adresářů, nebo od externího poskytovatele modelu (například databáze). Základní objekty modelu jsou: kostky a jejich míry a agregáty, dimenze a jejich atributy, hierarchie. Logický model také obsahuje mapování z logických atributů na jejich fyzické umístění v databázi (nebo jiném zdroji dat).
Příklad modelu:
{ "kostky": [ { "název": "odbyt", "označení": "Naše prodeje", "rozměry": [ "datum", "zákazník", "umístění", "produkt" ], „opatření“: [ "množství" ] } ] "rozměry": [ { "název": "produkt", "označení": "Produkt", „úrovně“: [ { "název":"kategorie", "označení":"Kategorie", "atributy": [ „category_id“, „category_label“ ], }, { "název":"produkt", "označení":"Produkt", "atributy": [ „product_id“, „product_label“ ], } ] }, ... ]}
Operace
Kostky poskytuje základní sadu operací, jako je Vrtání dat a filtrování (krájení a krájení na kostičky ). K operacím je možné přistupovat buď přes rozhraní Pythonu, nebo přes světlo webový server volal Slicer.
Příklad rozhraní pythonu:
import kostkypracovní prostor = Pracovní prostor(„slicer.ini“)prohlížeč = pracovní prostor.prohlížeč("odbyt")výsledek = prohlížeč.agregát()tisk(výsledek.souhrn)
Server
The Cubes poskytuje netradiční server OLAP HTTP dotazy a JSON Odezva API. Příklad dotazu pro získání „celkové částky všech smluv mezi lednem 2012 a červnem 2016 po měsících“:
http: // localhost: 5000 / krychle / kontrakty / agregace? drilldown = datum & drilldown = kritéria & cut = datum: 2012,1-2012,6 & order = date.month: desc
Odpověď vypadá takto:
{ "souhrn": { „contract_amount_sum“: 10000000.0 }, "zbytek": {}, "buňky": [ { „date.year“: 2012, „criteria.code“: "ekonaj", „contract_amount_sum“: 12345.0, „description.description“: "ekonomicky nejlepší nabídka", „criteria.sdesc“: "nejlepší nabídka", „criteria.id“: 3 }, { „date.year“: 2012, „criteria.code“: "cena", „contract_amount_sum“: 23456.0, „description.description“: "nejnižší cena", „criteria.sdesc“: "nejnižší cena", „criteria.id“: 4 },... „total_cell_count“: 6, „agregáty“: [ „contract_amount_sum“ ], "buňka": [ { "typ": "rozsah", "dimenze": "datum", "hierarchie": "výchozí", „level_depth“: 2, "invertovat": Nepravdivé, "skrytý": Nepravdivé, "z": ["2012", "1" ], "na": ["2015", "6" ] } ], „úrovně“: { "kritéria": [ "kritéria" ], "datum": [ "rok" ] }}
Díky jednoduchému rozhraní HTTP / JSON je velmi snadné integrovat zprávy OLAP do webových aplikací napsaných čistě HTML a JavaScript.
Server Slicer obsahuje koncové body popisující krychle metadata, která pomáhají vytvářet obecné aplikace pro podávání zpráv[5] které nemusí znát strukturu databázového modelu a koncepční hierarchie předem.
Server Slicer je psán pomocí Baňka (webový rámec).
ROLAP a SQL
Integrovaný SQL backend rámce poskytuje ROLAP funkčnost nahoře relační databáze. Kostky obsahují a SQL generátor dotazů, který převádí dotazy na hlášení do příkazů SQL. Generátor dotazů bere v úvahu topologie z hvězda nebo schéma sněhové vločky a provádí pouze spojení, která jsou nezbytná k načtení atributů požadovaných analytikem dat.
Backend SQL používá SQLAlchemy Sada nástrojů Python pro sestavení dotazů.