SQL 사용자가 시계열 데이터에 대해 알아야 할 사항 (2023)

신기술포럼

에 의해릭 스펜서, 인포월드 |

에 대한|

기술자가 해부하는 신흥 기술

방대한 양의 시계열 데이터에 대한 분석 쿼리용으로 설계된 데이터베이스가 필요할 때 염두에 두어야 할 네 가지 주요 고려 사항.

SQL 사용자가 시계열 데이터에 대해 알아야 할 사항 (2)

SQL많은 양의 데이터를 관리하는 데 어려움을 겪는 경우가 많습니다.시계열 데이터, 하지만 언어 자체 때문은 아닙니다. 주된 원인은 SQL이 일반적으로 작동하는 아키텍처, 즉 관계형 데이터베이스인데, 이는 대량의 시계열 데이터에 대한 분석 쿼리용으로 설계되지 않았기 때문에 빠르게 비효율적이 됩니다.

전통적으로 SQL은 본질적으로 관계형 데이터베이스 관리 시스템(RDBMS)과 함께 사용됩니다.트랜잭션. 엄격한 미리 정의된 스키마를 기반으로 레코드를 유지 관리하고 업데이트한다는 개념을 중심으로 구조화됩니다. 오랫동안 가장 널리 퍼진 데이터베이스 유형은 SQL과 분리할 수 없는 관계형 데이터베이스였기 때문에 많은 개발자와 데이터 분석가가 SQL을 편안하게 사용하는 것을 이해할 수 있습니다.

그러나 시계열 데이터의 도래는 관계형 데이터베이스 분야에 새로운 과제와 복잡성을 가져옵니다. 응용 프로그램, 센서 및 일련의 장치는 관계형 데이터처럼 고정된 스키마에 깔끔하게 맞지 않는 끊임없는 시계열 데이터 스트림을 생성합니다. 이러한 끊임없는 데이터 흐름은 방대한 데이터 세트를 생성하여 고유한 유형의 데이터베이스를 요구하는 분석 워크로드로 이어집니다. 이러한 상황에서 개발자는NoSQL그리고시계열 데이터베이스에지 장치에서 생성된 방대한 양의 반정형 또는 비정형 데이터를 처리합니다.

기존 SQL 데이터베이스의 디자인은 시계열을 처리하는 데 부적합하지만 SQL을 수용하는 특수 제작된 시계열 데이터베이스를 사용하면 개발자에게 생명선이 제공됩니다. 이제 SQL 사용자는 이 친숙한 언어를 활용하여 실시간 애플리케이션을 개발하고 급증하는 시계열 데이터 볼륨을 효과적으로 수집, 저장, 관리 및 분석할 수 있습니다.

그러나 이 새로운 기능에도 불구하고 SQL 사용자는 잠재적인 문제나 문제를 피하기 위해 시계열 데이터의 특정 특성을 고려해야 합니다. 아래에서는 시계열 데이터의 SQL 쿼리를 처음으로 다룰 때 염두에 두어야 할 네 가지 주요 고려 사항에 대해 설명합니다.

시계열 데이터는 본질적으로 비관계형입니다.

즉, 시계열 데이터 사용에 대해 생각하는 방식을 재정향해야 할 수도 있습니다. 예를 들어, 개별 시계열 데이터 포인트 자체는 그다지 유용하지 않습니다. 단일 데이터에 대한 중요한 컨텍스트를 제공하는 것은 시리즈의 나머지 데이터입니다. 따라서 사용자는 그룹으로 시계열 관측치를 보지만 개별 관측치는 모두 이산적입니다. 이 데이터에서 인사이트를 신속하게 발견하려면 사용자는 시간 측면에서 생각하고 쿼리에 대한 시간 창을 정의해야 합니다.

각 데이터 포인트의 값은 시퀀스의 다른 데이터 포인트에 의해 직접적인 영향을 받기 때문에 시계열 데이터는 추세와 패턴을 식별하기 위한 실시간 분석을 수행하는 데 점점 더 많이 사용되어 개발자와 기술 리더가 정보에 입각한 결정을 매우 빠르게 내릴 수 있습니다. 이는 여러 테이블에서 관련 데이터를 쿼리하는 데 소요될 수 있는 시간과 리소스로 인해 관계형 데이터의 경우 훨씬 더 어렵습니다.

확장성이 가장 중요합니다

점점 더 많은 장비를 인터넷에 연결함에 따라 생성되는 데이터의 양이 기하급수적으로 증가합니다. 이러한 데이터 워크로드가 사소한 것 이상으로 증가하면(즉, 프로덕션 환경에 진입하면) 트랜잭션 데이터베이스를 확장할 수 없습니다. 이 시점에서 데이터 수집에 병목 현상이 발생하고 개발자는 데이터를 효율적으로 쿼리할 수 없습니다. 그리고 데이터베이스 읽기 및 쓰기로 인한 대기 시간으로 인해 이 중 어느 것도 실시간으로 발생할 수 없습니다.

SQL을 지원하는 시계열 데이터베이스는 대규모 데이터 세트에 충분한 확장성과 속도를 제공할 수 있습니다. 강력한 수집 성능을 통해 시계열 데이터베이스는 제한이나 제한 없이 초당 수십억 개의 시계열 데이터 요소를 지속적으로 수집, 변환 및 분석할 수 있습니다. 데이터 볼륨이 기하급수적으로 계속 증가함에 따라 확장 가능한 데이터베이스는 시계열 데이터를 관리하는 개발자에게 매우 중요합니다. 엄청난 양의 데이터를 생성하는 앱, 장치 및 시스템의 경우 데이터 저장 비용이 매우 비쌀 수 있습니다. 고압축을 활용하면 데이터 스토리지 비용이 절감되고 성능 저하 없이 최대 10배 더 많은 스토리지를 사용할 수 있습니다.

SQL을 사용하여 시계열 쿼리 가능

특별히 구축된 시계열 데이터베이스를 통해 사용자는 SQL을 활용하여 시계열 데이터를 쿼리할 수 있습니다. 사용하는 데이터베이스아파치 데이터퓨전분산 SQL 쿼리 엔진인 는 훨씬 더 효과적일 것입니다. DataFusion은 사용자가 SQL 문을 사용하여 특정 시간대 내에서 데이터를 효율적으로 쿼리할 수 있는 오픈 소스 프로젝트입니다.

Apache DataFusion은아파치 애로우다음을 포함하는 생태계비행 SQL위에 구축된 쿼리 엔진아파치 애로우 플라이트, 그리고아파치 마루, 열 저장 파일 형식입니다. Flight SQL은 Arrow Flight RPC 프레임워크를 사용하여 데이터베이스 작업을 위한 고성능 SQL 인터페이스를 제공하므로 데이터를 Arrow 형식으로 변환할 필요 없이 더 빠른 데이터 액세스와 짧은 대기 시간이 가능합니다. 쿼리 또는 분석에 데이터를 사용할 수 있으려면 Flight SQL 클라이언트를 사용하는 것이 필요합니다. Flight SQL과 클라이언트 간의 용이한 액세스를 제공하기 위해 오픈 소스 커뮤니티는FlightSQL 드라이버, 다음으로 작성된 Flight SQL 클라이언트 주변의 경량 래퍼가다.

또한 Apache Arrow 에코시스템은 메모리 내 표현(Apache Arrow) 및 내구성 있는 파일 형식(Apache Parquet) 모두에 대한 열 형식을 기반으로 합니다. 시계열 데이터에는 일반적으로 시간 경과에 따라 여러 개의 동일한 값이 포함되기 때문에 열 기반 스토리지는 시계열 데이터에 적합합니다. 예를 들어 사용자가 매분 날씨 데이터를 수집하는 경우 온도 값은 매분 변동하지 않습니다.

이러한 동일한 값은 저렴한 압축 기회를 제공하여 높은 카디널리티 사용 사례를 가능하게 합니다. 이것은 또한 모든 최신 CPU에서 볼 수 있는 SIMD 명령을 사용하여 더 빠른 스캔 속도를 가능하게 합니다. 데이터 정렬 방법에 따라 사용자는 특정 필드의 최대값을 찾기 위해 데이터의 첫 번째 열만 확인하면 됩니다.

이를 사용자가 최대 필드 값을 찾기 위해 모든 필드, 태그 세트 및 타임스탬프를 확인해야 하는 행 기반 스토리지와 대조됩니다. 즉, 사용자는 첫 번째 행을 읽고 레코드를 열로 구문 분석하고 결과에 필드 값을 포함하고 반복해야 합니다. Apache Arrow는 시계열 데이터를 쿼리하고 쓰는 데 훨씬 빠르고 효율적인 프로세스를 제공합니다.

언어에 구애받지 않는 소프트웨어 프레임워크는 많은 이점을 제공합니다.

개발자가 애플리케이션 내의 데이터에 대해 더 많은 작업을 수행할수록 해당 애플리케이션의 효율성이 높아집니다. Apache Arrow와 같은 언어 불가지론적 프레임워크를 채택하면 사용자가 소스에 더 가까운 데이터로 작업할 수 있습니다. 언어에 구애받지 않는 프레임워크는 ETL(추출, 변환 및 로드) 프로세스의 필요성을 없애거나 줄일 뿐만 아니라 대규모 데이터 세트 작업을 더 쉽게 만듭니다.

특히 Apache Arrow는 Apache Parquet, Apache Flight SQL, Apache Spark, NumPy, PySpark, Pandas 및 기타 데이터 처리 라이브러리와 함께 작동합니다. 또한 다음의 기본 라이브러리를 포함합니다.,C++,씨#,가다,자바,자바스크립트,줄리아,MATLAB,파이썬,아르 자형,루비, 그리고. 이러한 유형의 프레임워크에서 작업한다는 것은 모든 시스템이 동일한 메모리 형식을 사용하고 시스템 간 통신에 오버헤드가 없으며 상호 운용 가능한 데이터 교환이 표준임을 의미합니다.

시계열의 높은 시간

시계열 데이터에는 이벤트, 클릭 및 센서 데이터에서 로그, 지표 및 추적에 이르는 모든 것이 포함됩니다. 이러한 데이터에서 추출할 수 있는 인사이트의 양과 다양성은 엄청납니다. 시계열 데이터는 시간 경과에 따른 패턴에 대한 미묘한 이해를 허용하고 실시간 분석, 예측 분석, IoT 모니터링, 애플리케이션 모니터링 및 데브옵스 모니터링을 위한 새로운 길을 열어 시계열을 데이터 기반 의사 결정에 없어서는 안 될 도구로 만듭니다.

SQL을 사용하여 해당 데이터를 쿼리할 수 있으면 RDBMS 경험이 있는 개발자의 진입 및 채택에 대한 상당한 장벽이 제거됩니다. SQL을 지원하는 시계열 데이터베이스는 사이의 격차를 줄이는 데 도움이 됩니다.트랜잭션그리고분석 워크로드시계열 데이터를 최대한 활용할 수 있는 친숙한 도구를 제공합니다.

보다 편안한 전환을 제공하는 것 외에도 Apache Arrow 에코시스템에 구축된 SQL 지원 시계열 데이터베이스는 시계열 데이터베이스의 상호 운용성과 기능을 확장합니다. 이를 통해 개발자는 많은 양의 시계열 데이터를 효과적으로 관리 및 저장하고 여러 다른 도구를 활용하여 해당 데이터를 시각화하고 분석할 수 있습니다.

SQL을 시계열 데이터 처리에 통합하면 두 세계의 장점을 결합할 뿐만 아니라 데이터 분석 관행의 발전을 위한 단계를 설정하여 우리 주변의 모든 데이터의 가치를 완전히 활용하는 데 한 걸음 더 다가갈 수 있습니다.

Rick Spencer는InfluxData.

New Tech Forum은 새로운 엔터프라이즈 기술을 전례 없이 깊이 있고 광범위하게 탐구하고 토론할 수 있는 장소를 제공합니다. 선정은 주관적이며 InfoWorld 독자에게 중요하고 가장 큰 관심을 끌 것으로 생각되는 기술의 선택을 기반으로 합니다. InfoWorld는 게시를 위해 마케팅 자료를 수락하지 않으며 제공된 모든 콘텐츠를 편집할 권리를 보유합니다. 모든 문의 보내기newtechforum@infoworld.com.

다음에 이것을 읽으십시오:

  • 클라우드 컴퓨팅은 더 이상 슬램덩크가 아닙니다.
  • 제너레이티브 AI란? 만드는 인공지능
  • AI를 사용한 코딩: 개발자의 팁 및 모범 사례
  • Python은 GIL을 제거하고 동시성을 향상시키기 위해 움직입니다.
  • 자바가 여전히 좋은 7가지 이유
  • 오픈소스 라이선스 전쟁이 끝났다

관련된:

  • 데이터 베이스
  • SQL
  • 관계형 데이터베이스
  • NoSQL 데이터베이스
  • 소프트웨어 개발
  • 해석학

저작권 © 2023 IDG Communications, Inc.

로우코드 개발 플랫폼을 선택하는 방법

References

Top Articles
Latest Posts
Article information

Author: Greg Kuvalis

Last Updated: 11/02/2023

Views: 5815

Rating: 4.4 / 5 (55 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Greg Kuvalis

Birthday: 1996-12-20

Address: 53157 Trantow Inlet, Townemouth, FL 92564-0267

Phone: +68218650356656

Job: IT Representative

Hobby: Knitting, Amateur radio, Skiing, Running, Mountain biking, Slacklining, Electronics

Introduction: My name is Greg Kuvalis, I am a witty, spotless, beautiful, charming, delightful, thankful, beautiful person who loves writing and wants to share my knowledge and understanding with you.