redash/README.md

5.4 KiB

re:dash

Build Status

re:dash is our take on freeing the data within our company in a way that will better fit our culture and usage patterns.

Prior to re:dash, we tried to use tranditional BI suites and discovered a set of bloated, technically challenged and slow tools/flows. What we were looking for was a more hacker'ish way to look at data, so we built one.

re:dash was built to allow fast and easy access to billions of records, that we process and collect using Amazon Redshift ("petabyte scale data warehouse" that "speaks" PostgreSQL).

re:dash consists of two parts:

  1. Query Editor: think of JS Fiddle for SQL queries. It's your way to share data in the organization in an open way, by sharing both the dataset and the query that generated it. This way everyone can peer review not only the resulting dataset but also the process that generated it. Also it's possible to fork it and generate new datasets and reach new insights.
  2. Dashboards/Visualizations: once you have a dataset, you can create different visualizations out of it, and then combine several visualizations into a single dashboard. Currently it supports bar charts, pivot table and cohorts.

This is the first release, which is more than usable but still has its rough edges and way to go to fulfill its full potential. The Query Editor part is quite solid, but the visualizations need more work to enrich them and to make them more user friendly.

Demo

Screenshots

You can try out the demo instance: http://rd-demo.herokuapp.com/ (login with any Google account).

Due to Heroku dev plan limits, it has a small database of flights (see schema here). Also due to another Heroku limitation, it is running with the regular user, hence you can DELETE or INSERT data/tables. Please be nice and don't do this.

Getting help

Technology

PostgreSQL is used both as the operatinal database for the system, but also as the data store that is being queried. To be exact, we built this system to use on top of Amazon's Redshift, which supports the PG driver. But it's quite simple to add support for other datastores, and we do plan to do so.

This is our first large scale AngularJS project, and we learned a lot during the development of it. There are still things we need to iron out, and comments on the way we use AngularJS are more than welcome (and pull requests just as well).

HighCharts

HighCharts is really great, but it's not free for commercial use. Please refer to their licensing options, to see what applies for your use.

It's very likely that in the future we will switch to D3.js instead.

Getting Started

  1. Download the latest release.
  2. Make sure you have Python v2.7, pip, PostgreSQL and Redis installed.
  3. Install Python requirements: pip install -r requirements.txt.
  4. Make a copy of the examples settings file: cp redash/settings_example.py redash/settings.py and edit the relevant settings.
  5. Create database: ./manage.py database create_tables.
  6. Start the web server: ./manage.py runserver.
  7. Start the worker: ./manage.py runworker.
  8. Open http://localhost:5000/ and query away.

Need help setting re:dash or one of the dependencies up? Ping @arikfr on the IRC #redash channel or send a message to the mailing list, and he will gladly help.

Roadmap

Below you can see the "big" features of the next 3 releases (for full list, click on the link):

v0.2

  • Ability to generate multiple visualizations for a single query (dataset) in a more flexible way than today. Also easier extensbility points to add additional visualizations.
  • Support for API access using API keys, instead of Google Login.
  • UI Improvements (better notifications & flows, improved queries page)

v0.3

  • Dashboard filters: ability to filter/slice the data you see in a single dashboard using filters (date or selectors).
  • Multiple databases support (including other database type than PostgreSQL).
  • Scheduled reports by email.
  • Comments on queries.

v0.4

  • Query versioning.
  • More "realtime" UI (using websockets).
  • More visualizations.

Reporting Bugs and Contributing Code

  • Want to report a bug or request a feature? Please open an issue.
  • Want to help us build re:dash? Fork the project and make a pull request. We need all the help we can get!

License

See LICENSE file.