2010-12-09 2 views
1

저는 비교적 멍청한 프로그래머입니다. 나는 사용자가 10 행에서 1 백만에 이르는 맞춤형 데이터 세트를 업로드 할 수있는 웹 기반 GIS 도구를 만들고 있습니다. 데이터 세트에는 가변 열과 데이터 유형이있을 수 있습니다. 이러한 사용자 제출 데이터 세트를 어떻게 관리합니까?큰 사용자가 업로드 한 데이터 세트를 관리하기위한 패턴은 무엇입니까?

데이터 집합당 테이블을 만드는 것이 좋지 않습니까? (BTW - 나는 데이터베이스로 postgresql을 사용할 것이다).

어딘가에 이미 답변되었지만 내 검색 결과가 좋지 않은 경우 사과드립니다. 내 검색에서 잘못된 키워드를 사용하고있을 수 있습니다.

감사합니다!

+0

데이터 사용 방법에 대해 조금 더 설명 할 수 있습니까? 또한 데이터의 구조는 임의적입니까? 아니면 더 큰 열/데이터 유형 집합의 하위 집합입니까? –

+0

데이터는 마커를 동적으로 생성하고지도의지도를 가열하는 데 사용됩니다. 또한 데이터 세트 기반 위치 또는 데이터 값을 필터링 할 수도 있습니다. 어떤 교차 데이터 셋 조인도 없을 것입니다. 일부 데이터 세트는 특정 위치에 대한 트렌드 그래프를 만드는 데 사용됩니다. – starter

답변

1

데이터 집합당 테이블을 만드는 것은 전혀 좋지 않습니다. swivel.com은 사용자가 설명하는 것과 매우 유사한 앱이었으며 데이터 세트 당 테이블을 사용했으며 사용자가 업로드 한 데이터 세트의 그래프 생성 및 조인을 사용하여 데이터 세트의 데이터를 비교하는 데 매우 효과적이었습니다. 10k 개가 넘는 데이터 세트와 백만 개의 그래프에 가깝고 일부 데이터 세트는 매우 큽니다. 우리는 (각 데이터 집합의 테이블 생성 모델 클래스는 실제 테이블로 설정)

데이터 집합 작업을위한 활동 기록을 사용할 수 있습니다 예를 들어

당신은 또한 당신의 ORM 층에서 무료로 사용을 많이 얻을 함정 현명한 경우에는 교차 데이터 집합 계산이 있으면 조인을 많이해야합니다.

+0

생성 된 모델 클래스 (RoR이라고 가정)에서 동적으로 AR 모델을 생성한다는 의미입니까, 아니면 실제로 해당 모델 클래스를 앱에 생성 했습니까? 나중에 소리는 들리지 않을지라도 확신하고 싶다. – starter

+0

테이블에있는 가장 큰 데이터 세트는 무엇 이었습니까? – starter

+0

동적으로 각 테이블에 대한 클래스를 생성합니다. – Kalendae

1

동료들과 저는 최근에 우리가 MySQL에서 열악한 데이터 모델을 가지고 있고 그것을 구현할 더 좋은 방법을 찾고있는 유사한 문제를 다루었습니다. 우리는 MongoDB를 포함하여 몇 가지 다른 옵션의 무게를 측정하고 엔티티 속성 값 모델을 사용하여 끝내게되었습니다. EAV 모델은 기본적으로 3 열 모델입니다. 가변 개수의 열과 데이터 유형을 나타내는 단일 모델을 허용했습니다.

our problem here에 대해 약간 읽을 수 있지만 너무 적합 할 것 같습니다.

+0

나는이 접근 방식에 대해 많은 생각을 해왔다. 제 동료 중 한 명이 추천했습니다. 우리는 레일 btw를 사용하고 있습니다. – starter

+0

우리의 응용 프로그램은 Rails에도 있습니다. 각 대규모 데이터 세트가 별도의 테이블에 있고 추가 기능이나 오버 헤드가 필요하지 않기 때문에 액티브 레코드 외부에서 데이터 액세스 기능을 작성했습니다. –

+0

이 테이블의 쿼리 성능은 어떻게 증가 했습니까? 나는 우리가하고있는 것처럼 일괄 적재보다는 원자 적재를하고있는 것처럼 당신의 게시물을 읽고 읽은 것처럼 보였다. 나는 우리의 배치로드가 테이블이 커지면 인덱스를 따라 잡기 위해 속도가 느려질 것이라고 생각합니다. – starter

관련 문제