Skip to content

Commit

Permalink
docs(FAQ): add answer re: necessary specs, copy-edit existing answer (a…
Browse files Browse the repository at this point in the history
  • Loading branch information
sfirke authored Sep 6, 2023
1 parent 5de0829 commit b71fb60
Showing 1 changed file with 34 additions and 16 deletions.
50 changes: 34 additions & 16 deletions docs/docs/frequently-asked-questions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,52 @@ sidebar_position: 7

## Frequently Asked Questions


### How big of a dataset can Superset handle?

Superset can work with even gigantic databases! Superset acts as a thin layer above your underlying
databases or data engines, which do all the processing. Superset simply visualizes the results of
the query.

The key to achieving acceptable performance in Superset is whether your database can execute queries
and return results at a speed that is acceptable to your users. If you experience slow performance with
Superset, benchmark and tune your data warehouse.

### What are the computing specifications required to run Superset?

The specs of your Superset installation depend on how many users you have and what their activity is, not
on the size of your data. Superset admins in the community have reported 8GB RAM, 2vCPUs as adequate to
run a moderately-sized instance. To develop Superset, e.g., compile code or build images, you may
need more power.

Monitor your resource usage and increase or decrease as needed. Note that Superset usage has a tendency
to occur in spikes, e.g., if everyone in a meeting loads the same dashboard at once.

Superset's application metadata does not require a very large database to store it, though
the log file grows over time.


### Can I join / query multiple tables at one time?

Not in the Explore or Visualization UI. A Superset SQLAlchemy datasource can only be a single table
or a view.

When working with tables, the solution would be to materialize a table that contains all the fields
When working with tables, the solution would be to create a table that contains all the fields
needed for your analysis, most likely through some scheduled batch process.

A view is a simple logical layer that abstract an arbitrary SQL queries as a virtual table. This can
allow you to join and union multiple tables, and to apply some transformation using arbitrary SQL
expressions. The limitation there is your database performance as Superset effectively will run a
A view is a simple logical layer that abstracts an arbitrary SQL queries as a virtual table. This can
allow you to join and union multiple tables and to apply some transformation using arbitrary SQL
expressions. The limitation there is your database performance, as Superset effectively will run a
query on top of your query (view). A good practice may be to limit yourself to joining your main
large table to one or many small tables only, and avoid using _GROUP BY_ where possible as Superset
will do its own _GROUP BY_ and doing the work twice might slow down performance.

Whether you use a table or a view, the important factor is whether your database is fast enough to
serve it in an interactive fashion to provide a good user experience in Superset.
Whether you use a table or a view, performance depends on how fast your database can deliver
the result to users interacting with Superset.

However, if you are using SQL Lab, there is no such limitation. You can write SQL queries to join
multiple tables as long as your database account has access to the tables.

### How BIG can my datasource be?

It can be gigantic! Superset acts as a thin layer above your underlying databases or data engines.

As mentioned above, the main criteria is whether your database can execute queries and return
results in a time frame that is acceptable to your users. Many distributed databases out there can
execute queries that scan through terabytes in an interactive fashion.

### How do I create my own visualization?

We recommend reading the instructions in
Expand Down Expand Up @@ -192,8 +209,9 @@ only a few database engines are supported for use as the OLTP backend / metadata

Superset is tested using MySQL, PostgreSQL, and SQLite backends. It’s recommended you install
Superset on one of these database servers for production. Installation on other OLTP databases
may work but isn’t tested. Column-store, non-OLTP databases are not designed for this type of workload.

may work but isn’t tested. It has been reported that [Microsoft SQL Server does *not*
work as a Superset backend](https://github.com/apache/superset/issues/18961). Column-store,
non-OLTP databases are not designed for this type of workload.

### How can I configure OAuth authentication and authorization?

Expand Down

0 comments on commit b71fb60

Please sign in to comment.