Skip to content

Latest commit

 

History

History
47 lines (29 loc) · 2.87 KB

index.md

File metadata and controls

47 lines (29 loc) · 2.87 KB

#HybridPerfopticon

Team Members

  1. Brandon Haynes [email protected]
  2. Shrainik Jain [email protected]

Resources

  • We presented a poster at CSE-512 poster session.
  • A paper describing perfopticon is detail can be found here.

Abstract

Hybrid databases have recently gained a lot of attention because of the promise they show in several prominent use cases in scientific data management. A hybrid distributed database system usually consists of multiple underlying databases with differing data models. In order to better understand such systems we present a query profiling and visualization tool for queries authored over these hybrid systems. Our approach is to extend an existing visualization tool for distributed databases by adding support for multiple underlying database systems.

In action

![Screenshot of HybridPerfopticon](summary.png =350x)

Demo

A running version of HybridPerfopticon is hosted here. A more realistic query can be viewed here.

Running Instructions

The Myria database management system leverages Perfopticon as a query visualization tool (via the Myria webserver project). Since this project is a Perfopticon extension, we therefore elected to extend Myria-Web to demonstrate its features.

Accordingly, the installation process requires the following steps:

Prerequisites

  1. Install the Google App Engine SDK for Python

Installation

  1. Clone this repository (git clone https://github.com/CSE512-15S/fp-bhaynes-shrainik.git)
  2. Update repository submodules (git submodule init and git submodule update)
  3. Then setup the module as described in the Raco README.
  4. The PLY library used to parse programs in the Myria language uses a precompiled parsetab.py in the raco submodule. This file is not required, but dramatically speeds up the parser load time (which happens for every request to the app). To generate it, run scripts/myrial examples/reachable.myl
  5. (Optional) Update appengine/myria_web_main.py to point to a specific MyriaX engine (default=demo.myria.cs.washington.edu)
  6. Launch the webserver (dev_appserver.py /path/to/myria-web/appengine)
  7. Execute a query (http://localhost:8080/editor), making sure to select the profiling option
  8. View query profiling results