{"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,qEAEF,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-a66d1bb31980b6fbdb49.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 archiecture 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":""}