Skip to content

Database โ€ Streaming Aggregation and Preโ€aggregated Tables

woojin edited this page Aug 13, 2026 · 3 revisions

์ธ๋ฑ์Šค ์ •๋ ฌ ๋Œ€์‹  ์ŠคํŠธ๋ฆฌ๋ฐ ์ง‘๊ณ„๋Š”?

  • MySQL์ด GROUP BY๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์€ ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.
๋ฐฉ์‹ ์กฐ๊ฑด ๋ฉ”๋ชจ๋ฆฌ EXPLAIN ํ‘œ์‹œ
์ž„์‹œ ํ…Œ์ด๋ธ” ์ž…๋ ฅ์ด ์ •๋ ฌ๋ผ ์žˆ์ง€ ์•Š์Œ ๊ทธ๋ฃน ์ˆ˜์— ๋น„๋ก€ Aggregate using temporary table
์ŠคํŠธ๋ฆฌ๋ฐ ์ž…๋ ฅ์ด ๊ทธ๋ฃน ํ‚ค ์ˆœ์œผ๋กœ ์ •๋ ฌ๋จ ๊ทธ๋ฃน ํ•˜๋‚˜ ๋ถ„๋Ÿ‰ Group aggregate: ...
๋А์Šจํ•œ ์ธ๋ฑ์Šค ์Šค์บ” ์ธ๋ฑ์Šค ์„ ๋‘ ์ปฌ๋Ÿผ + MIN/MAXยทDISTINCT๋ฅ˜ ๊ฑฐ์˜ ์—†์Œ Using index for group-by
  • ์ž…๋ ฅ์ด ๊ทธ๋ฃน ํ‚ค ์ˆœ์œผ๋กœ ๋“ค์–ด์˜ค๋ฉด ๊ฐ™์€ ๊ทธ๋ฃน์˜ ํ–‰์— ๋ฐ˜๋“œ์‹œ ์—ฐ์†ํ•œ๋‹ค. ์ง€๊ธˆ ๊ทธ๋ฃน์˜ ๋ˆ„์ ๊ฐ’๋งŒ ๋“ค๊ณ  ์žˆ๋‹ค๊ฐ€ ํ‚ค๊ฐ€ ๋ฐ”๋€Œ๋Š” ์ˆœ๊ฐ„ ๊ฒฐ๊ณผ๋ฅผ ํ˜๋ ค๋ณด๋‚ด๊ณ  ์ƒํƒœ๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.
  • ๋ฐ˜๋ฉด ์ •๋ ฌ์ด ์•ˆ ๋ผ ์žˆ์œผ๋ฉด ๊ฐ™์€ ๊ฐ’์˜ ํ–‰์ด ๋งˆ์ง€๋ง‰ ํ–‰์—๋„ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์–ด์„œ ์ „๋ถ€ ๋‹ค ์ฝ์„ ๋•Œ๊นŒ์ง€ ๋ชจ๋“  ๊ทธ๋ฃน์˜ ์ƒํƒœ๋ฅผ ๋“ค๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ž„์‹œ ํ…Œ์ด๋ธ”์ด ํ•„์š”ํ•˜๋‹ค.

๐Ÿ“– Java๐Ÿ”ฅ

๐Ÿ“– Kotlinโญ

๐Ÿ“– Coroutine๐Ÿ“Ž

๐Ÿ“– Spring๐Ÿ”ฅ

๐Ÿ“– Spring Securityโญ

๐Ÿ“– Spring Security OAuth2โญ

๐Ÿ“– Spring Batch๐Ÿ“Ž

๐Ÿ“– Database๐Ÿ”ฅ

๐Ÿ“– MySQL๐Ÿ”ฅ

๐Ÿ“– Redisโญ

๐Ÿ“– JPAโญ

๐Ÿ“– QueryDsl๐Ÿ“Ž

๐Ÿ“– MSAโญ

๐Ÿ“– Kafkaโญ

๐Ÿ“– Apache Flink๐Ÿ“Ž

  • [Apache Flink - Apache Flink Architecture]
  • [Apache Flink - Stream Processing]
  • [Apache Flink - Data Stream API & Window]
  • [Apache Flink - State Management]

๐Ÿ“– HTTP๐Ÿ”ฅ

๐Ÿ“– AWSโญ

๐Ÿ“– Dockerโญ

๐Ÿ“– Kubernetesโญ

๐Ÿ“– Github Actions๐Ÿ“Ž

๐Ÿ“– Jenkins๐Ÿ“Ž

๐Ÿ“– Nginxโญ

๐Ÿ“– Monitoring๐Ÿ“Ž

๐Ÿ“– Test(feat. Load Testing)๐Ÿ“Ž

๐Ÿ“– Test(feat. Java)โญ

๐Ÿ“– Spring AI๐Ÿ“Ž

๐Ÿ“– gRPC๐Ÿ“Ž

  • [gRPC - Writing .proto Files with Protocol Buffers]
  • [gRPC - Various Communication Patterns in gRPC]
  • [gRPC - gRPC Optimization Techniques and Advanced Features]

๐Ÿ“– TDD(Test-Driven-Development)โญ

๐Ÿ“– PostgreSQL๐Ÿ“Ž

  • [PostgreSQL - Docker๋งŒ์„ แ„‰แ…กแ„‹แ…ญแ†ผํ•˜๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ แ„’แ…ชแ†ซแ„€แ…งแ†ผ แ„€แ…ฎแ„‰แ…ฅแ†ผ ๋ฐฉ๋ฒ•]
  • [PostgreSQL - PostgreSQL์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…]
  • [PostgreSQL - PostgreSQI์˜ JSONB, ์—ญ์ธ๋ฑ์‹ฑ๊ณผ ํ™œ์šฉ ๋ฐฉ๋ฒ•]
  • [PostgreSQL - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ์„ ์œ„ํ•œ ์ตœ์ ํ™” ํŒจํ„ด ๋ฐ ์ „๋žต]
  • [PostgreSQL - ํŠธ๋žœ์žญ์…˜๊ณผ ACID, Isolation ์ˆ˜์ค€๋ณ„ ์ฐจ์ด]
  • [PostgreSQL - Database Lock ๊ต์ฐฉ์ƒํƒœ์™€ ์ฝ๊ธฐ/์“ฐ๊ธฐ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๋Š” MVCC ๋ชจ๋ธ]
  • [PostgreSQL - pgvector์™€ ๋ฒกํ„ฐ ์ €์žฅ, ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ ํŒจํ„ด ๊ฐœ๋…]
  • [PostgreSQL - ๋ฒกํ„ฐ ์ธ๋ฑ์Šค ์ตœ์ ํ™”์™€ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰๊ณผ ์ „๋ฌธ ๊ฒ€์ƒ‰ ๊ฒฐํ•ฉ ํŒจํ„ด]
  • [PostgreSQL - PostgreSQL ํ”Œ๋Ÿฌ๊ทธ์ธ]
  • [PostgreSQL - PostGIS - ๊ณต๊ฐ„ ์ฟผ๋ฆฌ์™€ GIST ์ธ๋ฑ์Šค, ์ง€๋ฆฌ ํƒ€์ž…๊ณผ ๊ณต๊ฐ„ ์ฟผ๋ฆฌ๋ฅผ ์œ„ํ•œ ํƒ€์ž…๊ณผ ๊ธฐ๋ณธ ํ•จ์ˆ˜]
  • [PostgreSQL - pg_search - ๊ฒ€์ƒ‰ ์—”์ง„ ์—†์ด ํ…์ŠคํŠธ ๊ฒ€์ƒ‰ ๊ตฌํ˜„๊ณผ ์ฃผ์˜์‚ฌํ•ญ]
  • [PostgreSQL - ๋‹จ์ผ ์ธ์Šคํ„ด์Šค ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๋Š” ๋ถ„์‚ฐ ํŒจํ„ด๊ณผ ์Šค์ผ€์ค„๋ง, ๋ถ„์‚ฐ ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐฉ๋ฒ•]
  • [PostgreSQL - Citus - ๋ถ„์‚ฐ ํ…Œ์ด๋ธ”๊ณผ ๋ถ„์‚ฐ ์ฟผ๋ฆฌ๋ฅผ ์œ„ํ•œ Extension๊ณผ ๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ]
  • [PostgreSQL - pg_cron - PostgreSQL๋กœ ๊ตฌ์„ฑํ•˜๋Š” CronJob]
  • [PostgreSQL - ์Šค์ผ€์ค„๋Ÿฌ + ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๋ฅผ ๋™์‹œ์— ๋„์ž…ํ•˜๋Š” ์ฃผ๊ธฐ์  ์ง‘๊ณ„ ์ฟผ๋ฆฌ ํŒจํ„ด]

๐Ÿ“– Workflow-Driven Techniques for Large-Scale Traffic Processing๐Ÿ“Ž

  • [Workflow-Driven Techniques for Large-Scale Traffic Processing - Kafka + Debezium์„ ํ™œ์šฉํ•œ CDC ํŒจํ„ด ์„ค๊ณ„]
  • [Workflow-Driven Techniques for Large-Scale Traffic Processing - Temporal์„ ํ™œ์šฉํ•œ ์›Œํฌํ”Œ๋กœ์šฐ ํŒจํ„ด]
  • [Workflow-Driven Techniques for Large-Scale Traffic Processing - Docker์™€ ๊ฒฝ๋Ÿ‰ ์ด๋ฏธ์ง€๋ฅผ ํ™œ์šฉํ•œ ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐฉ๋ฒ•]
  • [Workflow-Driven Techniques for Large-Scale Traffic Processing - Kafka์—์„œ์˜ ๋ฉ”์‹œ์ง€ Delivery Guarantee]
  • [Workflow-Driven Techniques for Large-Scale Traffic Processing - ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™”์˜ ํ•ต์‹ฌ CDC]
  • [Workflow-Driven Techniques for Large-Scale Traffic Processing - MySQL Binary Log ๊ธฐ๋ฐ˜์˜ CDC]
  • [Workflow-Driven Techniques for Large-Scale Traffic Processing - Binary Log ๊ธฐ๋ฐ˜์˜ CDC ๊ตฌํ˜„ ํ”Œ๋žซํผ Debezium์ด๋ž€?]
  • [Workflow-Driven Techniques for Large-Scale Traffic Processing - Debezium Architecture]
  • [Workflow-Driven Techniques for Large-Scale Traffic Processing - Debezium Architecture Best Practice์™€ ์ฃผ์˜์‚ฌํ•ญ]

๐Ÿ“– Reactive Programming๐Ÿ“Ž

๐Ÿ“– ElasticSearch๐Ÿ“Ž

๐Ÿ“– Design Pattern๐Ÿ“Ž

๐Ÿ“– Clean Spring๐Ÿ“Ž

  • [Clean Spring - Domain-Driven Development]
  • [Clean Spring - Domain-Driven Development with Design Patterns]
  • [Clean Spring - Developing Membership Application with Hexagonal Architecture]
  • [Clean Spring - JPA and Domain Model Patterns]
  • [Clean Spring - Designing a Consistent Domain Model with Aggregates]
  • [Clean Spring - Web API Adapter]
  • [Clean Spring - Hexagonal Architecture: Ports]
  • [Clean Spring - Hexagonal Architecture: Application Components]
  • [Clean Spring - Test Improvement & Architecture Validation]
  • [Clean Spring - Developing Application Components]
  • [Real MySQL 8.0 - ์ธ๋ฑ์Šค]
  • [Real MySQL 8.0 - ์‹คํ–‰ ๊ณ„ํš]
  • [Real MySQL 8.0 - ์•„ํ‚คํ…์ฒ˜]
  • [Real MySQL 8.0 - ํŠธ๋žœ์žญ์…˜๊ณผ ์ž ๊ธˆ]

Clone this wiki locally