2013-12-12 1 views
3

나는 이것에 관한 더 많은 문헌이있을 것이라고 상상했지만, 나는 발견하는데 어려움을 겪고있다. 비대칭 적으로 집합 가능한 시계열 데이터를 많이 가지고 있습니다. 즉, 고유 한 활성 사용자, 고유 기여자 등과 같은 항목을 더 높은 단위로 집계하는 데 사용할 수있는 함수가없는 점이 있습니다. 내가 몇 시간 동안 매분마다 가지고있는 양을 알고있는 것은 그 시간 동안 내가 얼마나 많은 사람들이 있었는지를 알려주지 않는다.). 현재, 저는이 모든 데이터를 UTC로 저장하고 제시하고 있습니다. 문제는 많은 고객이이 점을 혼란스럽게 느낀다는 것입니다. 데이터가 비 대수적으로 집계 가능하기 때문에 자정부터 자정까지 UTC 데이터를 가져올 수있는 방법이 없습니다. 예를 들어 한밤중에서 자정까지의 PST 데이터. 재 계산은 원시 데이터에서 수행해야합니다.시계열 그래프에서 시간대를 다루는 방법은 무엇입니까?

그래서 : 일부 복잡한 분석이

  • 우리는 모든 시간대에 대한 모든 데이터를 저장할 수있는 그래프, 그러나 이것은 우리가 X24를 저장하는 데이터의 양을 증가시킬 원시 데이터로부터

    1. 재 계산은 엄청나게 비싸다.

    그 모두가 다른 사람들이이 문제를 어떻게 처리합니까? Here's how Google Analytics does it,하지만 이것은 나의 유스 케이스에서는 불충분 해 보입니다. 왜냐하면 여러 시간대의 웜을 열면 클라이언트가 둘 이상을 요구할 것이기 때문입니다. 이것은 또한 시간대 지원을 추가하는 것이 극도로 눈에 띄지 않거나 엄청난 승리를 거두지 않으므로 많은 노력을 기울일 것입니다. 제가 진정으로 바라는 것은 다른 표준 시간대의 사람들에게 더 이상 혼란스럽지 않게 직관적 인 방식으로 UTC 데이터를 보여주는 영리한 디자인 솔루션입니다. 비슷한 문제를 다루는 사람이 있습니까? 그리고 실종 된 해결책이 있습니까?

  • 답변

    3

    우선, 24 개 이상의 표준 시간대가 있다는 것을 알아야합니다. 사람들이 실제로 시간을 사용하는 방법을 정확하게 고려하려면 IANA time zones을 사용해야하며 그 중 500 개가 넘어야합니다. Wikipediatimezone tag wiki도 참조하십시오.

    개별 포인트 (신중한 타임 스탬프)를 처리하는 경우 그래프를 렌더링 할 때 UTC에서 원하는 시간대로 변환 할 수 있습니다. 쿼리하는 데이터의 범위도 해당 시간대로 변환해야한다는 점을 명심하십시오.

    그러나 특정 시간대의 "일"로 데이터를 집계하는 경우, 마법의 총알은 없습니다. 시간대를 지원하고 각각을 개별적으로 계산할 시간을 미리 결정해야합니다. 이렇게하면 보기이 바뀌는 것이 아니라는 점을 인식하십시오. 일별 경계가 각 시간대마다 다르므로 각 시간대에 대한 데이터은 일별 총계가 매우 다를 수 있습니다.

    또한 매일 24 시간 이내에 있지는 않습니다. 날짜가 일광 절약 시간 전환 일인 경우 23, 23.5, 24.5 또는 25 시간이 될 수 있습니다. 이것은 잠재적으로 그래프 그리는 방법에 영향을 줄 수 있습니다.

    고려할 수있는 한 가지 방법은 UTC 또는 특정 시간대를 사용하는 대신 집계에서 시간대를 모르는 것입니다. 물론 이는 데이터 컨텍스트에 크게 의존하지만 특정 상황에서는 적절합니다. 예를 들어, 인보이스의 경우 특정 타임 스탬프에 대해 신경 쓰지 않아도되고 인보이스가 할당 된 캘린더 날짜에 대해 자세히 알 수 있습니다. 이 경우 날짜가 지정되면 해당 날짜에 집계됩니다.회사가 여러 시간대에 걸쳐 운영되는 경우에도 전체 시간대를 고려하지 않아도됩니다.

    사용자로부터이를 추상화하는 한 영리한 디자인으로는 많이 보지 못했습니다. 사용자가 실제로 선택할 수있는 유일한 두 가지 옵션은 시간대 조정 집계 (UTC 또는 기타)와 달력 날짜 컨텍스트에 대한 표준 시간대 무차별 집계입니다.

    +0

    응답 해 주셔서 감사합니다. 질문에 비대칭 적으로 집합 할 수있는 것에 대한 설명을 추가했습니다. 위에서 언급 한 문제 중 일부는 저와 주로 관련되어있어서 저에게 질문하게했습니다. 나는 IANA 데이터베이스에 대해 알지 못해서 고마워. 내 주요 문제는 데이터 경계가 변하기 때문에 시간대 당 여분의 집계를 수행하고 저장하는 것을 제외하고 여러 시간대를 지원하는 방법을 생각할 수 없다는 것입니다. 더 많은 시간대를 지원할 때 엄청나게 비쌉니다. – Eli

    +0

    설명해 주셔서 감사합니다. 불행히도, 내가 알고있는 유일한 방법은 당신이 피하려고하는 시간대가 무식하지 않다는 것입니다. 그렇습니다. 계산적으로나 스토리지 요구 사항 측면에서 비용이 많이 듭니다. 이 작업을 자주 보는 곳은 OLAP 큐브의 표준 시간대 차원에서 단일 타임 스탬프가 수백 개의 열로 나뉠 수있는 데이터웨어 하우징입니다. –

    +1

    비용을 원하지 않는다면이 기능이 정말로 필요한지 고려해보십시오. 많은 경우 사용자에게 UTC 요일이거나 특정 시간대의 요일이거나 변경이 불가능한 요일임을 사용자에게 알리는 것이 좋습니다. 예를 들어, 모든 공개 주식 시장이 개시 및 마감 시간을 특정 시간대에 묶어 놓았다고 생각하십시오. –

    관련 문제