[cassandra] 대규모 주문 된 시계열 데이터를 빅 테이블 파생물에 저장


2 Answers

대규모 시계열 데이터베이스를 다루는 경우 표준은 다음과 같습니다.

이들은 저렴하지는 않지만 데이터를 매우 효율적으로 처리 할 수 ​​있습니다.

Question

bigtable, hbase 및 cassandra와 같은 새로운 fangled 데이터 저장소가 실제로 무엇인지 정확히 파악하려고합니다.

저는 엄청난 양의 주식 시장 데이터, 매일 수십억 개의 기가 바이트를 추가 할 수있는 수십억 개의 가격 / 견적 데이터 행을 처리합니다 (이러한 텍스트 파일은 종종 최소 한도로 압축되지만). 이 데이터는 기본적으로 소수의 숫자, 2 ~ 3 개의 짧은 문자열 및 타임 스탬프 (일반적으로 밀리 초 수준)입니다. 각 행에 대해 고유 한 식별자를 선택해야하는 경우 Exchange에서 동일한 밀리 초 단위의 동일한 기호에 대해 여러 값을 생성 할 수 있기 때문에 전체 행을 선택해야합니다.

이 데이터를 bigtable에 매핑하는 가장 간단한 방법은 심볼 이름과 날짜 (매우 큰 시계열을 반환 할 수 있습니다. 백만 이상의 데이터 포인트가 들리지 않았 음)입니다. 그들의 설명을 읽는 것으로부터,이 시스템에 여러 개의 키가 사용될 수있는 것처럼 보입니다. 나는 또한 10 진수가 키의 좋은 후보가 아니라고 가정하고있다.

이러한 시스템 중 일부 (예 : Cassandra)는 범위 쿼리를 수행 할 수 있다고 주장합니다. MSFT에 대한 모든 값을 오전 11 시부 터 오후 1시 30 분까지 주어진 날 동안 효율적으로 쿼리 할 수 ​​있습니까?

주어진 하루 동안 모든 심볼을 검색하고 $ 10 ~ $ 10.25 사이의 가격을 가진 모든 심볼을 요청하려면 (그래서 값을 검색하고 결과로 리턴 된 키를 원하십니까?)

두 번 시리즈를 가져와 다른 하나를 뺀 다음 두 번 시리즈와 그 결과를 반환하려면 자체 프로그램에서 논리를 수행해야합니까?

관련 논문을 읽는다면 이러한 시스템이 거대한 시계열 시스템에 적합하지 않다는 것을 알 수 있습니다. 그러나 구글 맵과 같은 시스템이 그것들을 기반으로한다면, 나는 시계열이 잘 작동해야한다고 생각한다. 예를 들어, 시간을 x 축으로, y 축으로 가격을, 그리고 명명 된 위치로 기호를 생각해보십시오. 갑자기 큰 테이블이 시계열에 대한 이상적인 저장소 여야합니다 (전체 지구를 저장하고 검색 할 수 있다면 , 확대 및 주석, 주식 시장 데이터는 사소한 것이어야 함).

전문가가 올바른 방향으로 나를 가리키거나 오해를 해결할 수 있습니까?

감사




'같은 산 앞에 서있다. cassandra의 가장 큰 문제점은 결과 집합에서 스트림을 얻을 수 없다는 것입니다 (예 : 반복자 형식).

나는 문서와 그물을 위아래로보고있다. 그러나 아무것도 아니다.

나는 모든 키를 가져올 수없고 수십억 개의 행이 이것을 불가능하게하므로 행을 가져올 수 없습니다.




2018 년에이 글을 읽으려는 목적으로 TimescaleDB 라고하는 시계열 데이터에 대한 특별한 데이터베이스가 있습니다.

http://www.timescale.com/

이 블로그는 독서 가치가 있습니다. 그 이유는 특별한 경우에 대한 Cassandra와 같은 솔루션보다 우수하고 왜 PostgreSQL 관계형 데이터베이스 위에 구축하기로 결정했는지 설명합니다.

https://blog.timescale.com/time-series-data-why-and-how-to-use-a-relational-database-instead-of-nosql-d0cd6975e87c




Related