π Amazon QuickSight
Organizations pull data from many sources, but raw data is hard to read β business users need charts and dashboards to spot trends and decide fast. QuickSight is AWS's serverless, ML-powered BI service that turns that raw data into interactive dashboards and visualizations pulled from across AWS services.
Instead of scrolling through millions of rows, you get bar charts, pie charts, line graphs, maps, tables, or full dashboards β making trends, comparisons, and decisions easy to spot at a glance.
π― Exam Tip
β QuickSight = serverless BI service
β Builds interactive dashboards and visualizations
β Connects to RDS, Aurora, Athena, Redshift, S3
β "Dashboards, charts, graphs, BI" β QuickSight
π How It Works
<div class="infographic-qs">
<style>
.infographic-qs {
--ink: #1a1a1a;
--ink-soft: #5c5c5c;
--paper: #ffffff;
--paper-alt: #f0ece4;
--accent: #2563eb;
--accent-soft:#e3ebfd;
--line: #ddd6c9;
--display-font: 'Fraunces', Georgia, serif;
--body-font: 'Inter', -apple-system, sans-serif;
max-width: 880px;
margin: 0 auto;
box-sizing: border-box;
font-family: var(--body-font);
color: var(--ink);
background: var(--paper);
}
.infographic-qs[data-theme="dark"] {
--ink: #e8e6e1;
--ink-soft: #9a968c;
--paper: #121212;
--paper-alt: #1e1e26;
--accent: #5b8def;
--accent-soft:#202942;
--line: #2c313d;
}
.infographic-qs * { box-sizing: border-box; }
.infographic-qs .qs-inner { padding: clamp(1.25rem, 5vw, 3rem) clamp(1rem, 4vw, 2rem); }
.infographic-qs h2 {
font-family: var(--display-font);
font-weight: 600;
font-size: clamp(1.4rem, 3.5vw, 1.9rem);
margin: 0 0 0.25rem;
letter-spacing: -0.01em;
}
.infographic-qs .qs-sub {
color: var(--ink-soft);
font-size: 0.92rem;
margin: 0 0 2rem;
}
/* --- Row of items (sources / outputs) --- */
.infographic-qs .qs-row {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 0.6rem;
}
.infographic-qs .qs-row.qs-row-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 620px) {
.infographic-qs .qs-row { grid-template-columns: repeat(3, 1fr); }
.infographic-qs .qs-row.qs-row-3 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 420px) {
.infographic-qs .qs-row { grid-template-columns: repeat(2, 1fr); }
}
.infographic-qs .qs-item {
background: var(--paper-alt);
border: 1px solid var(--line);
border-top: 3px solid transparent;
padding: 0.9rem 0.5rem 0.75rem;
cursor: pointer;
font: inherit;
color: var(--ink);
display: flex;
flex-direction: column;
align-items: center;
gap: 0.4rem;
text-align: center;
transition: border-color 0.15s, background 0.15s;
}
.infographic-qs .qs-item:hover { border-top-color: var(--line); }
.infographic-qs .qs-item.is-active {
border-top-color: var(--accent);
background: var(--accent-soft);
}
.infographic-qs .qs-item svg {
width: 26px; height: 26px;
stroke: var(--ink);
fill: none;
stroke-width: 1.6;
stroke-linecap: round;
stroke-linejoin: round;
transition: stroke 0.15s;
}
.infographic-qs .qs-item.is-active svg { stroke: var(--accent); }
.infographic-qs .qs-item .qs-label {
font-size: 0.78rem;
font-weight: 600;
line-height: 1.15;
}
/* --- connector arrows --- */
.infographic-qs .qs-arrow {
display: flex;
justify-content: center;
color: var(--line);
margin: 0.35rem 0;
}
.infographic-qs .qs-arrow svg { width: 20px; height: 20px; stroke: var(--line); fill:none; stroke-width: 1.6; }
.infographic-qs .qs-arrow.is-lit svg { stroke: var(--accent); }
/* --- reveal caption panel --- */
.infographic-qs .qs-caption {
min-height: 2.6rem;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 0.85rem;
color: var(--ink-soft);
padding: 0.5rem 1rem;
border-left: 2px solid var(--line);
border-right: 2px solid var(--line);
transition: border-color 0.15s;
}
.infographic-qs .qs-caption.is-set { border-color: var(--accent); color: var(--ink); }
.infographic-qs .qs-caption strong { color: var(--accent); font-weight: 600; }
/* --- hub (QuickSight) --- */
.infographic-qs .qs-hub {
background: var(--paper-alt);
border: 1px solid var(--line);
border-top: 3px solid var(--accent);
padding: 1.1rem 1.25rem;
display: flex;
align-items: center;
gap: 1rem;
cursor: pointer;
font: inherit;
color: var(--ink);
width: 100%;
text-align: left;
}
.infographic-qs .qs-hub svg {
width: 34px; height: 34px; flex-shrink: 0;
stroke: var(--accent); fill: none; stroke-width: 1.5;
stroke-linecap: round; stroke-linejoin: round;
}
.infographic-qs .qs-hub-title {
font-family: var(--display-font);
font-size: 1.15rem;
font-weight: 600;
}
.infographic-qs .qs-hub-tag {
font-size: 0.78rem;
color: var(--accent);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.03em;
margin-top: 0.15rem;
}
.infographic-qs .qs-hub-detail {
display: none;
margin-top: 0.6rem;
font-size: 0.85rem;
color: var(--ink-soft);
}
.infographic-qs .qs-hub.is-open .qs-hub-detail { display: block; }
.infographic-qs .qs-hub-text { flex: 1; }
.infographic-qs .qs-section-label {
font-size: 0.72rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--ink-soft);
margin: 0 0 0.5rem;
}
@media (prefers-reduced-motion: reduce) {
.infographic-qs *, .infographic-qs *::before, .infographic-qs *::after {
transition-duration: 0.001ms !important;
}
}
</style>
<div class="qs-inner">
<p class="qs-sub">Click any source or output icon to see what it does.</p>
<p class="qs-section-label">Data Sources</p>
<div class="qs-row" id="qsSources">
<button class="qs-item" data-detail="Managed relational databases β MySQL, PostgreSQL, SQL Server.">
<svg viewBox="0 0 24 24"><ellipse cx="12" cy="5" rx="7" ry="2.5"/><path d="M5 5v14c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5V5"/><path d="M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5"/></svg>
<span class="qs-label">RDS</span>
</button>
<button class="qs-item" data-detail="AWS-built MySQL/PostgreSQL-compatible database, faster and cloud-native.">
<svg viewBox="0 0 24 24"><ellipse cx="12" cy="5" rx="7" ry="2.5"/><path d="M5 5v14c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5V5"/><path d="M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5"/><path d="M12 8.5l-1.4 3h2.8l-1.4 3"/></svg>
<span class="qs-label">Aurora</span>
</button>
<button class="qs-item" data-detail="Serverless SQL queries run directly on data sitting in S3.">
<svg viewBox="0 0 24 24"><circle cx="10" cy="10" r="6"/><path d="M14.5 14.5L20 20"/></svg>
<span class="qs-label">Athena</span>
</button>
<button class="qs-item" data-detail="Petabyte-scale cloud data warehouse built for fast analytics.">
<svg viewBox="0 0 24 24"><rect x="4" y="9" width="16" height="11" rx="1"/><path d="M2 9l10-6 10 6"/><path d="M9 20v-5h6v5"/></svg>
<span class="qs-label">Redshift</span>
</button>
<button class="qs-item" data-detail="Object storage for raw files, logs, and data exports.">
<svg viewBox="0 0 24 24"><path d="M5 6h14l-1 14H6L5 6z"/><path d="M4 6l1.5-3h13L20 6"/><path d="M9 10h6"/></svg>
<span class="qs-label">S3</span>
</button>
</div>
<div class="qs-arrow" id="qsArrowDown1"><svg viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4v16M6 14l6 6 6-6"/></svg></div>
<div class="qs-caption" id="qsCaptionSource">Click a data source above to see what it stores.</div>
<div class="qs-arrow" id="qsArrowDown2"><svg viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4v16M6 14l6 6 6-6"/></svg></div>
<button class="qs-hub" id="qsHub">
<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="3"/><path d="M4 15l3-2M20 15l-3-2"/></svg>
<div class="qs-hub-text">
<div class="qs-hub-title">Amazon QuickSight</div>
<div class="qs-hub-tag">Serverless BI</div>
<div class="qs-hub-detail">Connects directly to every source above, models the data, and renders visuals β with no servers to provision or scale.</div>
</div>
</button>
<div class="qs-arrow" id="qsArrowDown3"><svg viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4v16M6 14l6 6 6-6"/></svg></div>
<p class="qs-section-label" style="margin-top:0.5rem;">Outputs</p>
<div class="qs-row qs-row-3" id="qsOutputs">
<button class="qs-item" data-detail="Live, interactive views that teams check in real time.">
<svg viewBox="0 0 24 24"><rect x="3" y="3" width="8" height="8" rx="1"/><rect x="13" y="3" width="8" height="5" rx="1"/><rect x="13" y="10" width="8" height="11" rx="1"/><rect x="3" y="13" width="8" height="8" rx="1"/></svg>
<span class="qs-label">Dashboards</span>
</button>
<button class="qs-item" data-detail="Visual breakdowns β bar, line, pie, and more.">
<svg viewBox="0 0 24 24"><path d="M4 20V10M10 20V4M16 20v-7M22 20H2"/></svg>
<span class="qs-label">Charts</span>
</button>
<button class="qs-item" data-detail="Scheduled snapshots, emailed or exported on demand.">
<svg viewBox="0 0 24 24"><path d="M6 2h9l5 5v15H6V2z"/><path d="M15 2v5h5"/><path d="M9 13h6M9 17h6"/></svg>
<span class="qs-label">Reports</span>
</button>
</div>
<div class="qs-caption" id="qsCaptionOutput">Click an output above to see how it's used.</div>
</div>
<script>
(function () {
// --- dark mode detection (must run first) ---
var wrapper = document.currentScript.closest('.infographic-qs')
|| document.querySelector('.infographic-qs');
var bodyAttr = document.body.getAttribute('data-darkmode');
var dark;
if (bodyAttr === 'true') {
dark = true;
} else if (bodyAttr === 'false') {
dark = false;
} else {
var match = document.cookie.match(/(?:^|;\s*)darkMode=([^;]+)/);
dark = match ? match[1] === 'true' : false;
}
if (dark) wrapper.setAttribute('data-theme', 'dark');
// --- source row interaction ---
var sourceCaption = wrapper.querySelector('#qsCaptionSource');
var sourceArrow = wrapper.querySelector('#qsArrowDown1');
wrapper.querySelectorAll('#qsSources .qs-item').forEach(function (item) {
item.addEventListener('click', function () {
var wasActive = item.classList.contains('is-active');
wrapper.querySelectorAll('#qsSources .qs-item').forEach(function (i) {
i.classList.remove('is-active');
});
if (!wasActive) {
item.classList.add('is-active');
sourceCaption.innerHTML = '<strong>' + item.querySelector('.qs-label').textContent + ':</strong> ' + item.getAttribute('data-detail');
sourceCaption.classList.add('is-set');
sourceArrow.classList.add('is-lit');
} else {
sourceCaption.textContent = 'Click a data source above to see what it stores.';
sourceCaption.classList.remove('is-set');
sourceArrow.classList.remove('is-lit');
}
});
});
// --- output row interaction ---
var outputCaption = wrapper.querySelector('#qsCaptionOutput');
var outputArrow = wrapper.querySelector('#qsArrowDown3');
wrapper.querySelectorAll('#qsOutputs .qs-item').forEach(function (item) {
item.addEventListener('click', function () {
var wasActive = item.classList.contains('is-active');
wrapper.querySelectorAll('#qsOutputs .qs-item').forEach(function (i) {
i.classList.remove('is-active');
});
if (!wasActive) {
item.classList.add('is-active');
outputCaption.innerHTML = '<strong>' + item.querySelector('.qs-label').textContent + ':</strong> ' + item.getAttribute('data-detail');
outputCaption.classList.add('is-set');
outputArrow.classList.add('is-lit');
} else {
outputCaption.textContent = "Click an output above to see how it's used.";
outputCaption.classList.remove('is-set');
outputArrow.classList.remove('is-lit');
}
});
});
// --- hub interaction ---
var hub = wrapper.querySelector('#qsHub');
var arrow2 = wrapper.querySelector('#qsArrowDown2');
hub.addEventListener('click', function () {
hub.classList.toggle('is-open');
arrow2.classList.toggle('is-lit');
});
})();
</script>
</div>Business users explore these dashboards interactively β no SQL required.
π Serverless β nothing to provision or manage
π Interactive dashboards β dynamic charts and reports
π€ ML-powered β built-in features to help surface insights
π Auto-scalable β supports many users
π Embeddable β drop dashboards into your own apps
π΅ Per-session pricing β pay for usage, not infrastructure
Amazon RDS
Amazon Aurora
Amazon Athena
Amazon Redshift
Amazon S3
One BI platform, multiple datasets β no need to juggle separate tools per source.
Business intelligence, interactive dashboards, reporting, data visualization, ad hoc analysis, spotting business trends β whether the data's in a database, a warehouse, or S3 files.
π Why Use QuickSight?
No BI servers to manage
Makes complex data easy to understand
Supports multiple AWS data sources
Lets business users explore data visually
Scales automatically with usage
AWS's primary BI tool.
π Summary
π QuickSight = AWS's serverless BI service
π Creates interactive dashboards, charts, graphs, reports
π€ ML-powered, auto-scaling
π Integrates with RDS, Aurora, Athena, Redshift, S3
π΅ Per-session pricing β no servers to manage
π― Exam takeaway: "Dashboards, visualizations, charts, graphs, BI" β Amazon QuickSight