{"version":3,"sources":["webpack:///./src/pages/docs/introduction.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","parentName","isMDXComponent"],"mappings":"0PAQaA,G,UAAe,S,iNAC5B,IAAMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAG5E,iBAAQ,CACN,GAAM,2BADR,4BAGA,oUAIA,mCAAkB,sBAAQC,WAAW,KAAnB,wDAAlB,KACA,sBACE,kBAAIA,WAAW,MAAf,gBAAqC,6BAAGA,WAAW,MAAS,CACxD,KAAQ,+DADyB,4CAGrC,kBAAIA,WAAW,MAAf,6CAAkE,6BAAGA,WAAW,MAAS,CACrF,KAAQ,8CADsD,cAGlE,kBAAIA,WAAW,MAAf,kDACE,6BAAGA,WAAW,MAAS,CACrB,KAAQ,+DADV,mBAGF,kBAAIA,WAAW,MAAf,gBAAqC,6BAAGA,WAAW,MAAS,CACxD,KAAQ,6CADyB,gBAArC,mBAGA,kBAAIA,WAAW,MAAf,qDACJ,6BAAGA,WAAW,MAAS,CACf,KAAQ,4DADhB,iBAIE,2CACA,sBACE,kBAAIA,WAAW,MAAf,uFACA,kBAAIA,WAAW,MAAf,kEACA,kBAAIA,WAAW,MAAf,mEACA,kBAAIA,WAAW,MAAf,iGACA,kBAAIA,WAAW,MAAf,6GACA,kBAAIA,WAAW,MAAf,0DACA,kBAAIA,WAAW,MAAf,wDACA,kBAAIA,WAAW,MAAf,4IACA,kBAAIA,WAAW,MAAf,oGACA,kBAAIA,WAAW,MAAf,mDACA,kBAAIA,WAAW,MAAf,yCACA,kBAAIA,WAAW,MAAf,sEAEF,iVAIA,gHACA,sBACE,kBAAIA,WAAW,MAAf,yCACA,kBAAIA,WAAW,MAAf,6DACA,kBAAIA,WAAW,MAAf,8CACA,kBAAIA,WAAW,MAAf,gDACA,kBAAIA,WAAW,MAAf,2CAEF,6LAEA,qOAGA,oGACF,6BAAGA,WAAW,KAAQ,CAChB,KAAQ,gEADd,0BADE,W,+MAQJJ,EAAWK,gBAAiB","file":"component---src-pages-docs-introduction-mdx-d94f1a3feb62c358ed31.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/srinify/Documents/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h2 {...{\n      \"id\": \"what-is-apache-superset\"\n    }}>{`What is Apache Superset?`}</h2>\n    <p>{`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.`}</p>\n    <p>{`Here are a `}<strong parentName=\"p\">{`few different ways you can get started with Superset`}</strong>{`:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`Download the `}<a parentName=\"li\" {...{\n          \"href\": \"https://dist.apache.org/repos/dist/release/superset/1.0.0/\"\n        }}>{`source from Apache Foundation's website`}</a></li>\n      <li parentName=\"ul\">{`Download the latest Superset version from `}<a parentName=\"li\" {...{\n          \"href\": \"https://pypi.org/project/apache-superset/\"\n        }}>{`Pypi here`}</a></li>\n      <li parentName=\"ul\">{`Setup Superset locally with one command\nusing `}<a parentName=\"li\" {...{\n          \"href\": \"docs/installation/installing-superset-using-docker-compose\"\n        }}>{`Docker Compose`}</a></li>\n      <li parentName=\"ul\">{`Download the `}<a parentName=\"li\" {...{\n          \"href\": \"https://hub.docker.com/r/apache/superset\"\n        }}>{`Docker image`}</a>{` from Dockerhub`}</li>\n      <li parentName=\"ul\">{`Install bleeding-edge master version of Superset\n`}<a parentName=\"li\" {...{\n          \"href\": \"https://github.com/apache/superset/tree/master/superset\"\n        }}>{`from Github`}</a></li>\n    </ul>\n    <p>{`Superset provides:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`An intuitive interface for visualizing datasets and crafting interactive dashboards`}</li>\n      <li parentName=\"ul\">{`A wide array of beautiful visualizations to showcase your data`}</li>\n      <li parentName=\"ul\">{`Code-free visualization builder to extract and present datasets`}</li>\n      <li parentName=\"ul\">{`A world-class SQL IDE for preparing data for visualization, including a rich metadata browser`}</li>\n      <li parentName=\"ul\">{`A lightweight semantic layer which empowers data analysts to quickly define custom dimensions and metrics`}</li>\n      <li parentName=\"ul\">{`Out-of-the-box support for most SQL-speaking databases`}</li>\n      <li parentName=\"ul\">{`Seamless, in-memory asynchronous caching and queries`}</li>\n      <li parentName=\"ul\">{`An extensible security model that allows configuration of very intricate rules on on who can access which product features and datasets.`}</li>\n      <li parentName=\"ul\">{`Integration with major authentication backends (database, OpenID, LDAP, OAuth, REMOTE_USER, etc)`}</li>\n      <li parentName=\"ul\">{`The ability to add custom visualization plugins`}</li>\n      <li parentName=\"ul\">{`An API for programmatic customization`}</li>\n      <li parentName=\"ul\">{`A cloud-native architecture designed from the ground up for scale`}</li>\n    </ul>\n    <p>{`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.`}</p>\n    <p>{`Superset is also cloud-native in the sense that it is flexible and lets you choose the:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`web server (Gunicorn, Nginx, Apache),`}</li>\n      <li parentName=\"ul\">{`metadata database engine (MySQL, Postgres, MariaDB, etc),`}</li>\n      <li parentName=\"ul\">{`message queue (Redis, RabbitMQ, SQS, etc),`}</li>\n      <li parentName=\"ul\">{`results backend (S3, Redis, Memcached, etc),`}</li>\n      <li parentName=\"ul\">{`caching layer (Memcached, Redis, etc),`}</li>\n    </ul>\n    <p>{`Superset also works well with services like NewRelic, StatsD and DataDog, and has the ability to run\nanalytic workloads against most popular database technologies.`}</p>\n    <p>{`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.`}</p>\n    <p>{`You can find a partial list of industries and companies embracing Superset\n`}<a parentName=\"p\" {...{\n        \"href\": \"https://github.com/apache/superset/blob/master/INTHEWILD.md\"\n      }}>{`on this page in GitHub`}</a>{`.`}</p>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}