Skip to content

redbus-labs/redash

Repository files navigation

Documentation Datree Build Status

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

Prior to Redash, we tried to use traditional 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.

Redash 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). Today Redash has support for querying multiple databases, including: Redshift, Google BigQuery, PostgreSQL, MySQL, Graphite, Presto, Google Spreadsheets, Cloudera Impala, Hive and custom scripts.

Redash 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. Visualizations and Dashboards: once you have a dataset, you can create different visualizations out of it, and then combine several visualizations into a single dashboard. Currently Redash supports charts, pivot table, cohorts and more.

We redBus, the largest ticket selling system in the world, sells millions of bus tickets in a month and every minute redBus customers are seeing 150k+ buses .

redBus is managing more than million inventories/buses in a day. Many bus operators are depending on redBus to sell their bus tickets. So it is really important to make our platforms run always.

We are using Redash as the primary tool for all our internal reporting systems.

Though Redash supports authorization by data sources and groups which means we can restrict reports access by not adding the particular resource in the group. But currently there is no way to restrict individual reports on specific resources(you can do so by creating multiple groups on the same report, but it is not the optimal way to do so).

This project, we customized authorization to restrict individual reports by tags

Basically tag based restriction helps us not to allow reports if he/she does not belong to a particular group.

Added the following entry {"allowed_tags": ["tag_name"], "restricting_parameters": {"email": ["currentUser.email"]}} in the details column of groups table in postgres.

Also we fixed a few build issues in the current public redash repository.

Getting Started

Supported Data Sources

Redash supports more than 35 data sources.

Getting Help

Reporting Bugs and Contributing Code

  • Want to report a bug or request a feature? Please open an issue.
  • Want to help us build Redash? Fork the project, edit in a dev environment, and make a pull request. We need all the help we can get!

Security

Please email security@redash.io to report any security vulnerabilities. We will acknowledge receipt of your vulnerability and strive to send you regular updates about our progress. If you're curious about the status of your disclosure please feel free to email us again. If you want to encrypt your disclosure email, you can use this PGP key.

License

BSD-2-Clause.

Setup

Credits

Special thanks to Sunny Shah, Vivek Ratakonda, and Surabhi Vatsa for the tag based authentication idea and flow.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published