Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cubes – Ways of Deployment

Cubes – Ways of Deployment

Different ways of deploying Cubes - Lightweight Python OLAP frameworks.

E3d999f42d1aa9fd563d06eb56bcf742?s=128

Stefan Urbanek

February 04, 2014
Tweet

Transcript

  1. Ways of Cubes Deployment data brewery Stefan Urbanek ▪ @Stiivi

    ▪ stefan.urbanek@gmail.com ▪ February 2014
  2. Simple Slicer Public store Slicer server HTML & JS Application

    HTTP request JSON reply model Run Slicer server Provide desired output 1 3 2 Query server from JavaScript GET /cubes ! GET /cube/{CUBE}/model ! GET /cube/{CUBE}/aggregate?… > slicer serve slicer.ini
  3. WSGI Slicer Public store WSGI HTML & JS Application HTTP

    request JSON reply Slicer Flask App model Same usage as stand-alone Slicer server
  4. Slicer as a Service Internal Public store Slicer server Web

    Application PHP, RoR, Django HTTP request JSON reply model HTML GET /cube/{CUBE}/aggregate?… Run a Slicer server instance Provide desired output 1 3 4 Query with HTTP requests 2 Get the model using HTTP GET /cubes ! GET /cube/{CUBE}/model
  5. Python Application from cubes import Workspace ! workspace = Workspace(“slicer.ini”)

    browser = workspace.browser(…) result = browser.aggregate(…) Public store JSON reply Cubes Python API Django, Flask, … HTML model Python Web App handles the request Python Web App provides output 1 2 3 Application uses the Cubes directly:
  6. Flask Blueprint* * http://flask.pocoo.org/docs/blueprints/ Public store Flask HTML Slicer Blueprint

    model from flask import Flask from cubes.server import slicer ! app = Flask(__name__) ! app.register_blueprint(slicer, url_prefix=“/slicer", config="slicer.ini") Register Slicer as part of Flask app Provide Slicer API as additional
 “raw analytical data” API do whatever you want in Flask 1 2
  7. Summary

  8. Slicer server (stand-alone) HTTP JSON Flask Slicer Blueprint HTTP JSON

    Python App ? ? Cubes Python API WSGI + Slicer server HTTP JSON separate integrated
  9. Links Cubes Home cubes.databrewery.org github github.com/Stiivi/cubes Development Documentation cubes.databrewery.org/dev/doc/ for

    github master HEAD