2010-07-07 4 views
0

여러 다른 노드에 대한 데이터를 기록하는 응용 프로그램 용 데이터베이스를 만듭니다. 데이터 같은 기록 외모 : 여러 노드에서 시간 로깅 모델링

  • 여러 정수
  • 여러 부동 소수점
  • 어쩌면
  • 문자열 또는 두 개의 각 노드는 별도로 폴링
  • 값 값

    • 타임 스탬프.

      매 10 분에서 10 초 (가변 로깅 간격) 사이에 로그 항목을 작성하므로 노드 당 하루에 최대 10k 항목을 볼 수 있습니다.

      최상의 데이터 액세스/관리를 위해 데이터베이스를 어떻게 구조화해야하는지 궁금합니다. 적어도 30 일의 역사적인 데이터에 액세스하고 싶습니다. 노드 수를 100 개로 늘리고 싶습니다.

      처음에는 로그 데이터가있는 단일 테이블을 만들고 1 : 1 관계를 통해 각 로그 항목을 노드에 연결하는 방법을 생각했지만이 시나리오에서는 테이블이 너무 커질 까봐 두려웠습니다.

      각 노드에 대해 별도의 테이블을 만드는 것이 가능한 옵션입니까?

      의견이나 제안이 있으면 도움이 될 것입니다.

      고마워요!

      이 필요한 모든 정보를 하나의 테이블을 만들기 : 나는 거의 먼저 생각하는 방법을 갈 것보다

    +0

    몇 가지 질문 : 데이터 (행)가 삽입되었습니다. 일단 삽입되면 데이터가 업데이트됩니까? 30 일 넘은 데이터가 정기적으로 삭제 되었습니까, 아니면 영구히 쌓입니까? 현재 데이터를보고 할 수 있어야합니까? 아니면 데이터가 생성되고 사용자가 데이터를 사용할 수있게되기까지 지연 (1 시간, 1 일)이있을 수 있습니까? 데이터를 사용하는 * 큰 보고서, 추세 분석, 후속 시스템에 공급되는 것은 무엇입니까? 입력 또는 출력에있어 초초 성능이 중요합니까? 이러한 질문과 유사한 질문은 OLTP 대 창고 설계 결정을 주도 할 것입니다. –

    +0

    질문의 순서에 따라 답변 : 일단 기록되면 데이터가 업데이트되지 않습니다. 30 일이 지난 후에는 아카이브 데이터베이스로 옮겨져 영원히 쌓일 것입니다 (가능한 경우). 현재 데이터를보고하는 기능은 중요하지만 몇 분 정도 지연 될 수 있습니다.데이터는보고, 분석, 후속 시스템에 공급 될 수 있습니다. 1 초 미만의 성능은 요소가 아니며 초 단위의 해결로 충분합니다. – Goro

    답변

    1

    의견을 읽기. 귀하의 아이디어는 괜찮아 보이고 스키마가 작기 때문에 작업에 충분할 것입니다.

    30 일 후에 데이터를 보관하는 크론 작업이 좋습니다. 다른 데이터베이스 (테이블)로 옮기고 싶지 않으면 CSV (또는 이와 유사한)로 내보낼 수 있으며 어딘가에 저장할 수 있습니다. 당신이 염두에 두어야

    어떤 것들은 : 데이터베이스 서버와

  • 예와는 다른 형식으로 데이터 내보내기 특히 스토리지의 각

    • 충분한 공간 CSV가 가장 좋은 아이디어는 아닙니다. 응용 프로그램에 더 쉽게 저장할 수있는 다른 형식이있는 경우 은 다른 형식을 사용하는 것이 좋습니다.
  • 관련 문제