Skip to content
View shyundev's full-sized avatar

Block or report shyundev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
shyundev/README.md

Sang Hyun Lee

Data & AI Platform Engineer  ·  Seoul, Korea

I build the infrastructure that moves data at scale — streaming ingestion, lakehouse storage,
distributed query engines — and the LLM agents that make it usable.
Currently at SK Telecom, on a petabyte-scale data platform.

LinkedIn Email Work email at sk.com Trino Summit talk


What I work on

⚡ Streaming lakehouse pipelines
Kafka → Flink → Iceberg ingestion for high-volume sensor and process data, sustaining roughly 3M records/sec into a petabyte-scale lake. Benchmarked Iceberg against Hudi across insert, upsert, query and maintenance workloads before committing to the table format; built out the Flink Kubernetes Operator deployment, and Spark (Scala) maintenance jobs — compaction, sorting, snapshot expiry — orchestrated on Airflow.

🔎 Query engine performance
A 100+ node Trino cluster fields 300+ queries per minute, individual queries scanning terabytes. Most of the wins came from the storage side — partition strategy, sort order, compaction cadence — and the rest from the query side: pushdown improvements and approximate aggregations where exactness wasn't required. This architecture was the subject of my Trino Summit 2023 talk.

☸️ Multi-tenant runtime on Kubernetes
A self-service platform that provisions per-user Spark and StarRocks clusters on demand, operating thousands of them concurrently: custom operators and CRDs, a Java/Spring orchestration service, Helm packaging, ArgoCD GitOps, and Prometheus/OpenSearch observability. Running an OLAP engine as a multi-tenant service — rather than as one shared cluster — is where most of my engine-internals work comes from.

🤖 Agents for platform operations
An agent that consumes query history and cluster state snapshots off Kafka, diagnoses resource, configuration and query-level problems, and proposes concrete fixes — applied only after human approval. Deterministic rules and cost models do the heavy lifting; the model handles classifying unseen symptoms, correlating signals, and rewriting queries.

🧠 Domain-expert agents
A knowledge-graph-driven agent for operational troubleshooting, structured as graph selection → graph traversal → path evaluation: LLM-based graph selection to cover the gaps in vector similarity search, hierarchical filtering over a partitioned graph, parallel sub-agents that traverse branches and prune infeasible paths early, self-correcting tool-call loops, and a final helpfulness/groundedness evaluation that picks or aggregates the answer path. Includes Text-to-SQL over Oracle and Postgres, and on-prem inference tuning with vLLM (speculative decoding, prefix caching).

🎯 Domain-specialized LLM
Fine-tuned SK Telecom's A.X foundation model (32B) with DeepSpeed and TRL into an HR-domain assistant, reaching ~90% of the then-SOTA general model's quality on evaluations scored by domain experts — at a fraction of the serving cost.


Talks

Efficient Kappa Architecture with Trino — Trino Summit 2023

Efficient Kappa Architecture with Trino

Trino Summit 2023

One pipeline instead of two — serving terabyte-scale queries over data that is still arriving, on Kafka, Flink, Iceberg and Trino.

Watch Slides
Building Domain-Expert Agents — AI Community Conference Seoul 2025

Building Domain-Expert Agents

AI Community Conference (AICO) Seoul 2025

Moving an agent from general capability to domain expertise — knowledge graphs over flat retrieval, traversal with early pruning, and grading the path rather than only the answer.

Session details

Open source

Fixes to the query engines and catalogs we run in production.

Submitted

Project PR Area Fix Status
StarRocks #75977 Optimizer Heavy-expression pushdown produced wrong plans when a heavy expression referenced a heavy common sub-expression
StarRocks #75976 Connector Relation aliases were resolved case-sensitively for connector views, breaking queries that were valid upstream
StarRocks #76483 Security SHOW CREATE CATALOG leaked S3 and REST credential keys for Iceberg catalogs
Apache Polaris #5247 Auth A metastore failure while resolving a principal's roles propagated unwrapped and surfaced as HTTP 500, leaving a transient backend outage indistinguishable from a server defect — now 503, as the principal lookup on the same path already did

In progress

Project Area Fix
Apache Polaris Auth A backend outage during authentication told the caller, before it was authorized, which internal lookup had failed; that detail now stays in the server log, matched to the client error by the request id
Apache Polaris Persistence On CockroachDB every permission check and every entity delete scanned all of a realm's grant records: the indexes that turn those into indexed lookups had been declared for the other database dialects but never for CockroachDB
StarRocks Scheduler Expired query-queue slots were never reclaimed, leaving the slot manager to busy-spin
StarRocks Connector Iceberg scan-range planning failed when a bucket partition field carried a custom name

Experience

2023 — presentSK Telecom
Data Platform
Streaming lakehouse at petabyte scale · query runtime as a multi-tenant Kubernetes service · LLM agents and domain fine-tuning
2022 — 2023KFTC
Korea Financial Telecommunications & Clearings Institute · Data Analytics
Real-time fraud detection on open banking traffic, peaks of 500K TPS · batch ETL landing hundreds of millions of rows across thousands of tables daily · nationwide ATM and branch data service spanning 38 institutions
2019 — 2021Samsung Research
Data Analytics Lab
Household clustering over 100M+ device logs — graph construction, Louvain clustering, day-over-day cluster tracking. Rebuilt a single-node pipeline on Spark: 2 hours → 30 minutes

B.S. in Information Systems, Hanyang University


Tech

Streaming & batchKafka Flink Spark Airflow
Lakehouse & queryIceberg Polaris Trino StarRocks Hive Impala Kudu Hadoop
AI & LLMvLLM DeepSpeed TRL PyTorch
PlatformKubernetes Helm ArgoCD Docker Jenkins Prometheus OpenSearch
LanguagesJava Scala Python SQL

LinkedIn  ·  shyundev@gmail.com  ·  shyun9417@sk.com  ·  earlier work, archived at github.com/sahyle9417 and gitlab.com/sahyle9417

Popular repositories Loading

  1. starrocks starrocks Public

    Forked from StarRocks/starrocks

    The world's fastest open query engine for sub-second analytics both on and off the data lakehouse. With the flexibility to support nearly any scenario, StarRocks provides best-in-class performance …

    Java

  2. shyundev shyundev Public

  3. polaris polaris Public

    Forked from apache/polaris

    Apache Polaris, the interoperable, open source catalog for Apache Iceberg

    Java