분산 SQL 엔진을 고를 때 기능 비교표만 보면 왜 이 제품들이 서로 비슷한지, 왜 어떤 것은 정체돼 있는지가 보이지 않는다. 대부분은 누가 어떤 문제를 풀려고 만들었는지에서 갈린다. 아래는 기원 · 라이선스 · 실행 계열을 한자리에 모은 것이다. 기능 대 기능 비교는 아래 참고의 별도 문서에 있다.
| 엔진 | 분류 | 기원 | 라이선스 |
|---|---|---|---|
| Trino | 분산 쿼리 엔진 | Facebook 에서 시작한 Presto 를 2019년 창시자들이 포크 | Apache 2.0 |
| PrestoDB | 분산 쿼리 엔진 | Facebook(2012) → Linux Foundation | Apache 2.0 |
| Apache Hive | 데이터 웨어하우스 | Facebook(2008) → Apache | Apache 2.0 |
| Apache Impala | MPP 쿼리 엔진 | Cloudera(2012) → Apache TLP(2017) | Apache 2.0 |
| Apache Spark SQL | 범용 분산 처리의 SQL 계층 | UC Berkeley AMPLab → Apache | Apache 2.0 |
| Apache Drill | 스키마-프리 쿼리 엔진 | MapR, Google Dremel 논문에서 착안 | Apache 2.0 |
| Dremio | 데이터 레이크 엔진 | Dremio 사(2015), Apache Arrow 창시자들 | 오픈소스 + 상용 |
| Teiid | 데이터 가상화 · 페더레이션 | MetaMatrix → Red Hat/JBoss 인수 후 오픈소스화 | Apache 2.0 |
| Denodo | 데이터 가상화 플랫폼 | 스페인 대학 연구 프로젝트(1999) | 상용 (무료 Express 판 존재) |
| Amazon Athena | 서버리스 쿼리 서비스 | AWS(2016), Presto 계열 엔진 기반 | 상용, 쿼리당 과금 |
같은 "SQL 엔진" 이라도 데이터를 어떻게 읽고 어디서 계산하느냐가 다르다.
| 계열 | 엔진 | 특징 |
|---|---|---|
| MPP 인메모리 | Trino · PrestoDB · Impala · Drill | 쿼리를 메모리에서 병렬 처리. 지연이 짧고 대신 메모리 부족에 약하다 |
| DAG · 배치 | Hive · Spark SQL | 중간 결과를 디스크에 떨어뜨릴 수 있어 큰 작업에 견디지만 지연이 길다 |
| 데이터 가상화 | Denodo · Teiid | 원천을 옮기지 않고 질의 시점에 연합한다. 원천 부하가 성능을 좌우한다 |
| 관리형 서버리스 | Athena | 클러스터를 운영하지 않는다. 스캔량으로 과금한다 |
| Arrow 가속 | Dremio | 컬럼형 인메모리 포맷을 직렬화 없이 주고받는다 |
2012년 Facebook 에서 Presto 가 시작됐다. 2018년 창시자들이 Facebook 을 떠났고, 2019년 PrestoSQL 이라는 이름으로 포크해 Presto Software Foundation 을 세웠다. 2020년 상표 문제로 이름을 Trino 로 바꿨다. 원래 계열인 PrestoDB 는 Linux Foundation 에 기증되어 Meta 중심으로 이어진다.
같은 뿌리에서 나왔지만 지금은 서로 다른 제품이라 문서와 커넥터를 섞어 보면 안 된다. 코드와 설정에서 갈리는 지점은 아래 참고의 마이그레이션 표에 있다.
| 엔진 | 강점 | 약점 |
|---|---|---|
| Trino | 연합 쿼리, 짧은 대화형 지연, 활발한 릴리스 | 메모리 부족에 취약, 장애 내성이 제한적 |
| PrestoDB | 대규모 운영 검증 | 개발 속도가 느리고 커뮤니티가 분산됨 |
| Hive | 성숙도, Hadoop 생태계 통합, ACID(v3 이상) | 지연이 길다 |
| Impala | 매우 짧은 지연, C++ 구현 | Hadoop 생태계 의존, 행 단위 DML 이 제한적 |
| Spark SQL | 배치 · 스트리밍 · ML 통합, 장애 내성 | 대화형 지연이 길고 자원 소모가 크다 |
| Drill | 스키마 없이 JSON · NoSQL 조회 | 커뮤니티가 작고 성능이 뒤진다 |
| Dremio | Arrow 기반 가속, 자동 캐시(Reflection) | 핵심 기능 일부가 상용 |
| Teiid | 다양한 원천 연합, 무료 | 유지보수 활동이 줄었다 (확인 필요) |
| Denodo | 엔터프라이즈 거버넌스, 넓은 커넥터 | 비용이 높고 구성이 복잡하다 |
| Athena | 운영 부담 없음, AWS 통합 | AWS 종속, 복잡한 쿼리에서 한계, 비용 예측이 어렵다 |
| 약어 | 원어 |
|---|---|
| MPP | Massively Parallel Processing |
| DAG | Directed Acyclic Graph |
| OLAP | Online Analytical Processing |
| OLTP | Online Transaction Processing |
| ETL · ELT | Extract-Transform-Load · Extract-Load-Transform |
| SPI | Service Provider Interface |
| JDBC · ODBC | Java · Open DataBase Connectivity |