diff --git a/docs/docs/frequently-asked-questions.mdx b/docs/docs/frequently-asked-questions.mdx index bbb94d617b986..909ba8ebfd4da 100644 --- a/docs/docs/frequently-asked-questions.mdx +++ b/docs/docs/frequently-asked-questions.mdx @@ -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 @@ -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?