본문으로 건너뛰기

데이터 쿼리 개요

데이터레이크에는 저장소가 여럿이고, 무엇을 물어보느냐에 따라 질의 언어가 달라집니다. 이 절은 셋을 각각 어떻게 쓰는지 정리합니다.

물어보려는 것저장소언어문서
설비 · 태그 · 사용자 같은 메타데이터PostgreSQLSQLPostgreSQL
태그 값 같은 시계열Aster TSDBCQLCQL
여러 저장소를 한 번에 조인 · 대량 분석Spark (Kyuubi)Spark SQLSpark SQL
고르는 기준 한 줄

한 태그의 한 기간이면 CQL, 설비 목록이나 설정이면 PostgreSQL, 여러 저장소를 섞거나 수억 행을 훑어야 하면 Spark SQL 입니다.

셋의 성격이 다릅니다​

PostgreSQLAster TSDB (CQL)Spark SQL
잘하는 것조인 · 제약 · 트랜잭션한 파티션의 시간 범위 조회대량 스캔 · 저장소 간 조인
못하는 것수억 행 시계열임의 조인, 파티션 키 없는 조회짧은 응답(초 단위 시작 비용)
응답밀리초밀리초초~분
붙는 곳5432904210000 (Kyuubi)

🔴 CQL 을 SQL 처럼 쓰지 마십시오. Aster TSDB 는 «파티션 키로 찾아 클러스터링 순서로 훑는» 저장소입니다. 파티션 키 없이 조건을 걸면 전 노드를 뒤지게 되고, 그럴 때 Aster TSDB 는 ALLOW FILTERING 을 요구합니다 — 그 요구는 경고이지 허가가 아닙니다. 그런 질의는 Spark SQL 로 보내십시오.

어디로 붙나 — 두 가지 길​

① 콘솔에서 — 브라우저로 SQL 을 실행합니다. 계정·권한·감사가 걸립니다.

데이터 게이트웨이 콘솔 이 그 화면입니다. 운영 중인 노드에 사람이 붙는 정상 경로입니다.

② 노드 안에서 — 셸로 직접 붙습니다. 운영·디버그용입니다.

docker exec -it plantpulse-datalake pd node psql # PostgreSQL
docker exec -it plantpulse-datalake pd node cql # Cassandra (cqlsh)
운영 노드에 직접 붙는 것은 마지막 수단입니다

직접 붙으면 게이트웨이의 권한·감사를 건너뜁니다. 조회는 콘솔로, 셸은 콘솔로 안 되는 일에만 쓰십시오.

함께 보기​