(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{"8GLJ":function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return l})),a.d(t,"default",(function(){return u}));var i=a("k1TG"),n=a("8o2o"),s=(a("q1tI"),a("7ljp")),r=a("hhGP"),l=(a("qKvR"),{});void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!l.hasOwnProperty("__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/introduction.mdx"}});var o={_frontmatter:l},c=r.a;function u(e){var t=e.components,a=Object(n.a)(e,["components"]);return Object(s.b)(c,Object(i.a)({},o,a,{components:t,mdxType:"MDXLayout"}),Object(s.b)("h2",{id:"what-is-apache-superset"},"What is Apache Superset?"),Object(s.b)("p",null,"Apache Superset is a modern, enterprise-ready business intelligence web application. It\nis fast, lightweight, intuitive, and loaded with options that make it easy for users of all skill\nsets to explore and visualize their data, from simple pie charts to highly detailed deck.gl\ngeospatial charts."),Object(s.b)("p",null,"Here are a ",Object(s.b)("strong",{parentName:"p"},"few different ways you can get started with Superset"),":"),Object(s.b)("ul",null,Object(s.b)("li",{parentName:"ul"},"Download the ",Object(s.b)("a",Object(i.a)({parentName:"li"},{href:"https://dist.apache.org/repos/dist/release/superset/1.0.0/"}),"source from Apache Foundation's website")),Object(s.b)("li",{parentName:"ul"},"Download the latest Superset version from ",Object(s.b)("a",Object(i.a)({parentName:"li"},{href:"https://pypi.org/project/apache-superset/"}),"Pypi here")),Object(s.b)("li",{parentName:"ul"},"Setup Superset locally with one command\nusing ",Object(s.b)("a",Object(i.a)({parentName:"li"},{href:"installation/installing-superset-using-docker-compose"}),"Docker Compose")),Object(s.b)("li",{parentName:"ul"},"Download the ",Object(s.b)("a",Object(i.a)({parentName:"li"},{href:"https://hub.docker.com/r/apache/superset"}),"Docker image")," from Dockerhub"),Object(s.b)("li",{parentName:"ul"},"Install the latest version of Superset\n",Object(s.b)("a",Object(i.a)({parentName:"li"},{href:"https://github.com/apache/superset/tree/latest"}),"from Github"))),Object(s.b)("p",null,"Superset provides:"),Object(s.b)("ul",null,Object(s.b)("li",{parentName:"ul"},"An intuitive interface for visualizing datasets and crafting interactive dashboards"),Object(s.b)("li",{parentName:"ul"},"A wide array of beautiful visualizations to showcase your data"),Object(s.b)("li",{parentName:"ul"},"Code-free visualization builder to extract and present datasets"),Object(s.b)("li",{parentName:"ul"},"A world-class SQL IDE for preparing data for visualization, including a rich metadata browser"),Object(s.b)("li",{parentName:"ul"},"A lightweight semantic layer which empowers data analysts to quickly define custom dimensions and metrics"),Object(s.b)("li",{parentName:"ul"},"Out-of-the-box support for most SQL-speaking databases"),Object(s.b)("li",{parentName:"ul"},"Seamless, in-memory asynchronous caching and queries"),Object(s.b)("li",{parentName:"ul"},"An extensible security model that allows configuration of very intricate rules on on who can access which product features and datasets."),Object(s.b)("li",{parentName:"ul"},"Integration with major authentication backends (database, OpenID, LDAP, OAuth, REMOTE_USER, etc)"),Object(s.b)("li",{parentName:"ul"},"The ability to add custom visualization plugins"),Object(s.b)("li",{parentName:"ul"},"An API for programmatic customization"),Object(s.b)("li",{parentName:"ul"},"A cloud-native architecture designed from the ground up for scale")),Object(s.b)("p",null,"Superset is cloud-native and designed to be highly available. It was designed to scale out to large,\ndistributed environments and works very well inside containers. While you can easily test drive\nSuperset on a modest setup or simply on your laptop, there’s virtually no limit around scaling out\nthe platform."),Object(s.b)("p",null,"Superset is also cloud-native in the sense that it is flexible and lets you choose the:"),Object(s.b)("ul",null,Object(s.b)("li",{parentName:"ul"},"web server (Gunicorn, Nginx, Apache),"),Object(s.b)("li",{parentName:"ul"},"metadata database engine (MySQL, Postgres, MariaDB, etc),"),Object(s.b)("li",{parentName:"ul"},"message queue (Redis, RabbitMQ, SQS, etc),"),Object(s.b)("li",{parentName:"ul"},"results backend (S3, Redis, Memcached, etc),"),Object(s.b)("li",{parentName:"ul"},"caching layer (Memcached, Redis, etc),")),Object(s.b)("p",null,"Superset also works well with services like NewRelic, StatsD and DataDog, and has the ability to run\nanalytic workloads against most popular database technologies."),Object(s.b)("p",null,"Superset is currently run at scale at many companies. For example, Superset is run in Airbnb’s\nproduction environment inside Kubernetes and serves 600+ daily active users viewing over 100K charts\na day."),Object(s.b)("p",null,"You can find a partial list of industries and companies embracing Superset\n",Object(s.b)("a",Object(i.a)({parentName:"p"},{href:"https://github.com/apache/superset/blob/master/RESOURCES/INTHEWILD.md"}),"on this page in GitHub"),"."))}void 0!==u&&u&&u===Object(u)&&Object.isExtensible(u)&&!u.hasOwnProperty("__filemeta")&&Object.defineProperty(u,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/introduction.mdx"}}),u.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-introduction-mdx-f39cb466d2fc3fc7165a.js.map