2012-10-18 5 views
2

DB timeseries 데이터를 처리하고 저장하는 데 권장되는 Django 응용 프로그램 또는 Python 모듈은 무엇입니까? 시계열 데이터로 추천 할 데이터베이스 스키마는 무엇입니까?Django Python Timeseries - 재사용 가능한 응용 프로그램 및 데이터베이스 스키마

내 경우에는 DB 스키마에 시작 및 종료 날짜가있는 노드 모델이 있고 시작일과 종료일 사이에 매일 값을 저장하려고합니다. 수천 개의 노드가 있고, 시작 날짜와 종료 날짜는 1 ~ 365 일이므로 많은 행이 될 수 있습니다. 내가 가장 좋은 건 팬더이다라고 말하고 싶지만

class Node(models.Model): 
    """ 
    Representation of a single node 
    """ 

    name = models.CharField(max_length=200) 
    start = models.DateField() 
    end = models.DateField() 

class TimeSeries(models.Model) 
    """ 
    holds the time series values. For each day between start and end date one TimeSeries object will be created 
    """ 
    node = models.ForeignKey(Node) 
    date = models.DateField() #holds a specific date between start and end date of node 
    value = models.IntegerField(max_length=2) 
+0

[this] (http://stackoverflow.com/questions/4330640/realtime-data-processing-in-django-python)을 읽으셨습니까? 이러한 솔루션 중 필요한 것이 가까운 곳에 들리니? – dokkaebi

+0

감사합니다. 그러나 그것은 내가 찾고있는 것이 아닙니다. –

답변

1

: 나는 더 나은/성능 개선 구조에 대한 입력에 대한 감사 할 것입니다 반면

내 모델은 다음과 같을 것입니다. 그들은 NumPy, scikits 등을 최대한 활용하여 패키지화합니다.

  1. Pandas' Time Series functionality. pyTseries은 더 이상 활성화되지 않고 (팬더에 병합) documentation is good to browse입니다.
  2. ARMA가 관심 대상인 경우 "statsmodels"세트를 확인하십시오.

희망이 도움이됩니다.

+0

힌트를 가져 주셔서 감사합니다. 판다는 정말로 유망 해 보인다. 또한 시계열에 대한 DB 구조를 최적으로 설정하는 방법에 대한 경험이 있습니까? 시간에 대한 수천 개의 행을 저장하고 액세스해야하기 때문에 성능에 대해 조금 걱정이됩니다. –

+0

DB 구조에 대해 자세히 설명해 주시겠습니까? 우리에게 노드와 날짜의 샘플을 주시겠습니까? 팬더는 큰 숫자도 처리 할 수 ​​있습니다. 결국 컴퓨터로 내려옵니다. –

+0

질문이 업데이트되었습니다. DB 구조가 괜찮은지, 아니면 한 테이블에서 100000 개의 행으로 끝나지 않게 TimeSeries 테이블을 분할해야하는지 일반적으로 묻습니다. 나는 더 작은 데이터 세트로 더 많은 테이블에 대해 작업 할 경우 액세스 성능이 향상 될 것이라고 생각합니다. –

관련 문제