나는 cubism의 사용자 경험을 좋아하고 우리가 가지고있는 백엔드 위에 이것을 사용하고 싶습니다.cubism.js에 대한 다른 데이터 소스 사용
나는 API 문서와 일부 코드를 읽었으며, 대부분이 추출 된 것으로 보인다. 다른 데이터 소스를 정확히 사용하려면 어떻게해야합니까?
약 100,000 개 정도의 통계에 5 분 정밀도의 약 6k 개별 시스템 데이터 저장소가 있습니다.
특정 웹 응용 프로그램에 해당 시스템에 대한 특정 식별자를 쿼리 한 다음 특정 몽고 데이터 저장소를 쿼리하여 입체파와 비슷한 대시 보드를 렌더링하고 싶습니다.
mongo에 webapp 또는 쿼리를 쓰는 것이 중요하지 않습니다.
큐비즘은 각 개별 데이터 포인트에 대해 사용하는 데이터 저장소 (일주일에 100 개 ... 비싸다고 가정)를 쿼리해야하는 것처럼 보입니다.
이 도구를 사용하여 아래 코드와 비슷한 것을 사용하여로드 된 데이터를 볼 수있는 또 다른 방법이 있습니까?
var data = [];
d3.json("/initial", function(json) { data.concat(json); });
d3.json("/update", function(json) { data.push(json); });
이것은 각 새로운 측정 항목에 대한 내용입니다. 그래서 이것에 연결된 각 클라이언트는 x 메트릭에 대해 데이터베이스에 대한 x 쿼리를 작성합니다. 큐비즘을 사용하여 이것을 줄이는 것은 쉬운 방법이 아닙니다. 예 : 차트를 호출 한 다음 접근 자 기능이 있습니까? –
물론, 배치에서 여러 메트릭을 가져 오는 대체 메트릭 구현을 작성할 수는 있지만 일반적으로 그럴 가치는 없습니다. 우리의 대시 보드는 종종 Graphite에 수백 개의 동시 요청을합니다 (호스트 당 4 개 또는 8 개의 동시 요청을 처리하지 않기 때문에 부분적으로 브라우저에 의해 직렬화됩니다). 성능 문제는 없습니다. 동시 요청을 병합하려면 여러 요청을 대기열에 넣고 시간 제한을 사용하여 결합 된 요청을 만드십시오. – mbostock
이 영역에서 경험이있는 다른 사람이이 프로그램을 실행하기에 가치가 있다고 생각한다면 말해주십시오 : n 대의 컴퓨터에 대해 약 500GB의 데이터가 있습니다. db는 타임 스탬프, 컴퓨터 ID 및이 두 가지 조합으로 인덱싱됩니다. 하나의 쿼리 (MongoDB)를 수행하기 위해서는 1 대의 기계에 대해 1440 개의 결과 목록을 정렬하는 데 약 12 초가 걸립니다. 따라서 x * 12 초 =로드 시간. 여기서 x는 메트릭 수입니다. –