트리노 (SQL 쿼리 엔진)
| 파일:Trino-logo-w-bk.svg | |
| 파일:Trino-dashboard.png 트리노 UI 버전 358 | |
| 원저자 | Martin Traverso, Dain Sundstrom, David Phillips, Eric Hwang |
|---|---|
| 저장소 | Trino Repository |
| 프로그래밍 언어 | 자바 |
| 엔진 | |
| 운영 체제 | 크로스 플랫폼 |
| 표준 | ANSI SQL, JDBC |
| 종류 | 데이터 웨어하우스 |
| 라이선스 | 아파치 라이선스 2.0 |
| 웹사이트 | trino |
트리노(Trino)는 분산 SQL 쿼리 엔진으로, 하나 이상의 혼성 데이터 소스에 분산된 대규모 데이터 세트를 쿼리하기 위해 설계된 오픈 소스 소프트웨어이다.[1] Trino는 Hive[2] 및 Iceberg[3] 테이블 형식을 사용하여 HDFS, AWS S3, Google Cloud Storage 또는 Azure Blob Storage[4] 같은 다양한 스토리지 시스템에 존재하는 ORC 또는 Parquet[2][3] 와 같은 개방형 열 지향 데이터 파일 형식을 포함하는 데이터레이크를 쿼리할 수 있다.[2] . 또한 Trino는 MySQL, PostgreSQL, Cassandra, Kafka, MongoDB, 그리고 Elasticsearch 와 같은 다양한 데이터 소스의 테이블을 쿼리하는 페더레이션 쿼리를 실행할 수 있다.[5] Trino는 Apache 라이선스에 따라 배포된다.[6]
2019년 1월, Presto의 최초 제작자인 Martin Traverso, Dain Sundstrom 그리고 David Phillips는 Presto 프로젝트의 포크를 만들었다. 그들은 초기에는 Presto라는 이름을 유지하고 PrestoSQL 웹 핸들을 사용하여 원래의 PrestoDB 프로젝트와 구별했다. 동시에 Presto 소프트웨어 재단을 발표했다. 이 재단은 Presto 오픈 소스 분산 SQL 쿼리 엔진의 발전에 헌신하는 비영리 단체이다.[7][8]
2020년 12월, PrestoSQL은 Trino로 리브랜딩되었다. Trino 소프트웨어 재단, 코드 기반 및 모든 기타 PrestoSQL 자산은 이 리브랜딩의 일환으로 이름이 변경되었다.[9]
Presto와 Trino는 대용량 데이터 웨어하우스인 Apache Hadoop 에서 상호작용형 쿼리를 실행할 수 있도록 Facebook의 Martin, Dain, David, 그리고 Eric Hwang이 설계하고 개발한 프로그램이다. 이를 통해 데이터 분석가들은 보다 효율적으로 작업을 수행할 수 있다. Trino는 Presto 프로젝트와 처음 6년간의 개발을 공유한다.[10][11] Trino의 초기 역사에 대해 자세히 알아보려면 Presto 역사 섹션을 참조하십시오.
구조
Trino는 Java 로 작성되었다.[13] 코디네이터와 워커라는 두 가지 유형의 노드가 포함된 서버 클러스터에서 실행된다.[12]
- 코디네이터는 클라이언트가 제출한 쿼리를 파싱하고 분석하며 최적화, 계획 및 스케줄링을 담당한다. 코디네이터는 서비스 공급자 인터페이스 (SPI)와 상호 작용하여 작업을 수행하는 데 필요한 사용 가능한 테이블, 테이블 통계 및 기타 정보를 얻는다.[12]
- 워커들은 스케줄러로부터 할당된 작업과 연산자를 실행하는 역할을 맡는다. 이러한 작업은 데이터 소스에서 행을 처리하며, 결과는 코디네이터에 반환되어 최종적으로 클라이언트에게 반환된다.[12]
Trino는 ANSI SQL[4] 표준을 준수하며 다음과 같은 ANSI 사양의 다양한 부분을 포함한다: SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2011, SQL:2016 .
Trino는 컴퓨팅과 스토리지의 분리[4]를 지원하며 온프레미스 및 클라우드 모두에 배포할 수 있다.[14]
Trino는 분산 컴퓨팅 MPP 아키텍처를 갖추고 있다.[12] 이 프로그램은 작업을 여러 워커에게 배포하기 위해 먼저 임시 파티셔닝 작업을 실행하거나 기본 데이터 저장소의 데이터에 있는 기존 파티션에 의존한다. 워커에 도달한 데이터는 파이프라인 연산자를 통해 여러 스레드에서 처리된다. 이를 통해 Trino는 빠른 속도로 대규모 데이터를 처리할 수 있다.[12]
같이 보기
- Presto(SQL 쿼리 엔진)
- 빅 데이터
- 데이터 집약적 컴퓨팅
- 아파치 드릴
- 컴퓨터 클러스터
각주
- ↑ “Overview — Trino 393 Documentation”. 《trino.io》. 2022년 8월 25일에 확인함.
- ↑ 가 나 다 “Hive connector — Trino 393 Documentation”. 《trino.io》.
- ↑ 가 나 “Iceberg connector — Trino 393 Documentation”. 《trino.io》. 2022년 8월 25일에 확인함.
- ↑ 가 나 다 Fuller, Matt; Moser, Manfred; Traverso, Martin (2021). 〈Chapter 1. Introducing Trino〉. 《Trino: The Definitive Guide》. O'Reilly Media, Inc, USA. 3–17쪽. ISBN 9781098107710.
- ↑ “Connectors — Trino 393 Documentation”. 《trino.io》. 2022년 8월 25일에 확인함.
- ↑ “trinodb/trino LICENSE”. Trino. 2022년 8월 25일. 2022년 8월 25일에 확인함.
- ↑ “Presto Software Foundation Launches to Advance Presto Open Source Community”. 《PRWeb》. 2019년 2월 1일에 확인함.
- ↑ “Presto's New Foundation Signals Growth for the Big Data SQL Engine” (미국 영어). 《The New Stack》. 2019년 1월 31일. 2019년 2월 1일에 확인함.
- ↑ Traverso, Martin; Sundstrom, Dain; Phillips, David (2020년 12월 27일). “We're rebranding PrestoSQL as Trino” (영어). 《trino.io》. 2021년 9월 7일에 확인함.
- ↑ “Contributors to trinodb/trino” (영어). 《GitHub》. 2021년 9월 20일에 확인함.
- ↑ “Contributors to prestodb/presto” (영어). 《GitHub》. 2021년 9월 20일에 확인함.
- ↑ 가 나 다 라 마 바 Fuller, Matt; Moser, Manfred; Traverso, Martin (2021). 〈Chapter 4. Trino Architecture〉. 《Trino: The Definitive Guide》. O'Reilly Media, Inc, USA. 43–72쪽. ISBN 9781098107710.
- ↑ Fuller, Matt; Moser, Manfred; Traverso, Martin (2021). 〈Chapter 2. Installing and Configuring Trino〉. 《Trino: The Definitive Guide》. O'Reilly Media, Inc, USA. 19–24쪽. ISBN 9781098107710.
- ↑ Fuller, Matt; Moser, Manfred; Traverso, Martin (2021). 〈Chapter 13. Real-World Examples〉. 《Trino: The Definitive Guide》. O'Reilly Media, Inc, USA. 267–272쪽. ISBN 9781098107710.
외부 링크
- 스크립트 오류가 있는 문서
- CS1 - 미국 영어 인용 (en)
- CS1 - 영어 인용 (en)
- 잘못된 파일 링크가 포함된 문서
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- SQL
- 자유 시스템 소프트웨어
- 하둡
- 클라우드 플랫폼
- 자바 플랫폼