2010-08-10 1 views
3

우리는 SQL 테이블에 수백만 개의 레코드를 보유하고 있으며 보고서를 생성하기 위해 해당 데이터에서 실제로 복잡한 분석을 실행합니다.데이터 캐싱 기술/팁/AppFabric

테이블이 커지고 추가 레코드가 추가됨에 따라 계산 시간이 늘어나고 사용자는 웹 페이지가로드되기 전에 오랜 시간 동안 기다려야합니다.

우리는 AppFabric과 같은 분산 캐시를 사용하여 응용 프로그램이로드 될 때 메모리의 데이터를로드 한 다음 메모리의 해당 데이터에서 보고서를 실행하려고 생각했습니다. 이것은 데이터가 메모리 대 디스크에 있기 때문에 약간의 응답 시간을 개선해야합니다.

우리가 강론을하고이를 구현하기 전에 다른 사람들이하고있는 일을 확인하고 메모리에 캐싱 등의 데이터를로드하는 가장 좋은 기법과 기법이 무엇인지 알아보기를 원했습니다. 메모리에 수백만 개의 레코드가있는 전체 테이블 ... ??

OLAP/데이터웨어 하우징에 대해서도 조사하고 있었기 때문에 캐싱보다는 성능이 향상되었습니다.

+0

색인 ...? –

+0

인덱스 만 사용하는 방법으로는 문제가 해결되지 않습니다. 이미 색인이 정의되어 있으며 쿼리에 맞게 조정되어 있습니다. – ace

답변

-3

우리는 SQL 테이블의 레코드 만 수백만을 가지고

나쁜 정책. 플랫 파일이 더 좋습니다.

그리고 실제로 복잡한 분석을 실행하여 보고서를 생성합니다.

경우에 따라 관련 하위 집합을 SQL에로드하는 것이 더 행복 할 수도 있습니다. 테이블이 증가하고 추가 레코드가 추가됨에 따라

, 계산 시간이 너무 많은 데이터베이스를 사용하는 결과를의

증가하고있다. 적은 비용으로 사용하십시오.

우리는 AppFabric 같은 분산 캐시를 사용하는 생각을했다 ... 아마도

. 그러나 플랫 파일은 RDBMS보다 빠르고 확장 성이 뛰어납니다.

또한 OLAP/데이터웨어 하우징

좋은 계획으로보고 있었다. 즉시 Kimball의 책을 사세요. 더 많은 기술이 필요하지 않습니다. 플랫 파일을 기본 파일로 사용하고 SQL을 임시 쿼리 (하위 집합에 대한)로 사용하는 것이 사용자에게만 필요합니다.

+3

"잘못된 정책, 플랫 파일이 더 좋습니다." 일종의 포괄적 인 진술입니다. 네가 지워줄 수있어? RDBMS 테이블에서 100 만 개의 행을 보는 것이 일반적입니다. 인덱스, 파티셔닝, 인덱싱 된 뷰가 마음에 들었습니다. –

+1

@Mitch Wheat. 플랫 파일은 모든 RDBMS보다 간단합니다 (따라서 더 빠릅니다). 데이터가 단순히 누적되어 분석되면 플랫 파일이 가장 적합합니다. Kimball의 책을 사주세요. DW는 대용량의 경우 플랫 파일로, 임시 쿼리의 경우 SQL로 가장 간단하게 수행됩니다. –

+0

@ S.Lott : 나는 이미 Kimball의 책을 가지고있다. 사실 몇 가지 ... –

3

복잡한보고에 대한 해결책은 미리 계산하는 것이므로 OLAP을보고 있다면 올바른 길을 가고 있습니다.

0

데이터베이스 파티셔닝을 고려 했습니까? 우리는 가장 큰 데이터베이스를 위해이 작업을 수행합니다.

그렇기 때문에 앱 패브릭 캐시를 올바르게 사용하면 IO가 많은 대부분의 애플리케이션의 성능이 크게 향상됩니다.