Kublar (OLAP-server) - Cubes (OLAP server)

Kublar
Asl muallif (lar)Stefan Urbanek[1]
Dastlabki chiqarilish2011 yil 27 mart; 9 yil oldin (2011-03-27)
Barqaror chiqish
1.1 / 2016 yil 2-iyul; 4 yil oldin (2016-07-02)
YozilganPython
Operatsion tizimO'zaro faoliyat platforma
TuriOLAP
LitsenziyaMIT litsenziyasi[2]
Veb-saytkublar.databrewery.org

Kublar engil vaznga ega ochiq manba ko'p o'lchovli modellashtirish va OLAP hisobot dasturlarini ishlab chiqish va yozilgan yig'ilgan ma'lumotlarni ko'rib chiqish uchun vositalar to'plami Python dasturlash tili ostida chiqarilgan MIT litsenziyasi.

Cubes tahlilchiga yoki har qanday dasturga oxirgi foydalanuvchiga "tushunarli va tabiiy ravishda hisobot berish usulini" tushunchasi yordamida taqdim etadi ma'lumotlar kublari - ko'p o'lchovli ma'lumotlar ob'ektlari ".

Kublar birinchi marta 2011 yil mart oyida ommaviy ravishda chiqarilgan. Loyiha dastlab ishlab chiqilgan Davlat xaridlari ning Slovakiya.[3] Cubes 1.0 2014 yil sentyabr oyida chiqarilgan va Nyu-Yorkdagi PyData konferentsiyasida namoyish etilgan[4]

Xususiyatlari

Model

Kublar tarkibidagi mantiqiy kontseptual model yordamida tasvirlangan JSON va fayl shaklida, katalog to'plami yoki tashqi model provayderidan (masalan, ma'lumotlar bazasi) taqdim etilishi mumkin. Asosiy model ob'ektlari: kublar va ularning o'lchovlari va agregatlari, o'lchamlari va ularning xususiyatlari, iyerarxiyalari. Mantiqiy model shuningdek, ma'lumotlar bazasida (yoki boshqa ma'lumot manbalarida) mantiqiy atributlardan ularning fizik joylashuviga qarab xaritalashni o'z ichiga oladi.

Namunaviy model:

{    "kublar": [        {            "ism": "sotish",            "yorliq": "Bizning sotuvlarimiz",            "o'lchamlari": [ "sana", "mijoz", "Manzil", "mahsulot" ],            "chora-tadbirlar": [ "miqdor" ]        }    ]    "o'lchamlari": [        {            "ism": "mahsulot",            "yorliq": "Mahsulot",            "darajalar": [                {                    "ism":"toifasi",                    "yorliq":"Toifasi",                    "atributlar": [ "category_id", "category_label" ],                },                {                    "ism":"mahsulot",                    "yorliq":"Mahsulot",                    "atributlar": [ "product_id", "product_label" ],                }            ]        },        ...    ]}

Amaliyotlar

Kublar kabi operatsiyalarning asosiy to'plamini taqdim etadi Ma'lumotlarni burg'ulash va filtrlash (dilimlash va maydalash ). Amaliyotlarga Python interfeysi yoki yorug'lik orqali kirish mumkin veb-server Slicer deb nomlangan.

Python interfeysining misoli:

Import kublarish maydoni = Ish maydoni("slicer.ini")brauzer = ish maydoni.brauzer("sotish")natija = brauzer.yig'ma()chop etish(natija.xulosa)

Server

Cubes an'anaviy bo'lmagan OLAP serverini taqdim etadi HTTP so'rovlar va JSON javob API. "2012 yil yanvaridan 2016 yil iyunigacha bo'lgan davrdagi barcha shartnomalarning umumiy miqdori" ni olish uchun namunaviy so'rov:

http: // localhost: 5000 / cube / contract / agregate? drilldown = date & drilldown = criters & cut = date: 2012,1-2012,6 & order = date.month: desc

Javob quyidagicha:

{    "xulosa": {        "contract_amount_sum": 10000000.0    },    "qoldiq": {},    "hujayralar": [        {            "date.year": 2012,            "criter.code": "ekonaj",            "contract_amount_sum": 12345.0,            "criteries.description": "iqtisodiy jihatdan eng yaxshi taklif",            "criter.sdesc": "eng yaxshi taklif",            "criter.id": 3        },        {            "date.year": 2012,            "criter.code": "cena",            "contract_amount_sum": 23456.0,            "criteries.description": "eng past narx",            "criter.sdesc": "eng past narx",            "criter.id": 4        },...    "total_cell_count": 6,    "agregatlar": [        "contract_amount_sum"    ],    "hujayra": [        {            "turi": "diapazon",            "o'lchov": "sana",            "ierarxiya": "standart",            "level_depth": 2,            "teskari": yolg'on,            "yashirin": yolg'on,            "dan": ["2012", "1" ],            "to": ["2015", "6" ]        }    ],    "darajalar": {        "mezon": [ "mezon" ],        "sana": [ "yil" ]    }}

Oddiy HTTP / JSON interfeysi OLAP hisobotlarini sof holda yozilgan veb-dasturlarga qo'shishni juda osonlashtiradi HTML va JavaScript.

Slicer serverida tavsiflovchi so'nggi nuqtalar mavjud kub umumiy hisobot dasturlarini yaratishga yordam beradigan metadata[5] ma'lumotlar bazasi modeli tuzilishini va oldindan kontseptual iyerarxiyalarni bilishi shart emas.

Slicer serveri yordamida yoziladi Kolba (veb-ramka).

ROLAP va SQL

O'rnatilgan SQL ramkaning orqa tomoni taqdim etadi ROLAP relyatsion ma'lumotlar bazasi ustida ishlash. Kublar tarkibiga a SQL hisobot so'rovlarini SQL bayonotlariga aylantiradigan so'rovlar generatori. So'rovlar generatori hisobga olinadi topologiya ning Yulduz yoki qor parchalari sxemasi va faqat ma'lumotlar tahlilchisi talab qiladigan atributlarni olish uchun zarur bo'lgan qo'shilishlarni amalga oshiradi.

SQL backend foydalanadi SQLAlchemy So'rovlarni tuzish uchun Python asboblar to'plami.

Shuningdek qarang

Adabiyotlar

  1. ^ Stefan Urbanek kublar va ma'lumotlar pivo ishlab chiqaruvchisi.
  2. ^ "DataBrewery / cubes / blob / master / LICENCE". Github. Olingan 21 fevral 2015.
  3. ^ Slovakiyaning davlat xaridlari tomonidan Transparency International Slovakiya
  4. ^ PyData NYC 2014-da Cubes 1.0 ga umumiy nuqtai (video).
  5. ^ Cubes Viewer

Tashqi havolalar