2011-03-23 2 views
2

Oracle에서 하루에 2-5TB의 데이터를 저장할 테이블을 디자인해야합니다. 200TB까지 증가 할 수 있으며 200TB를 넘으면 레코드가 제거됩니다.매우 큰 데이터를 저장할 테이블을 어떻게 디자인합니까?

OLTP에 보관하는 것이 가능한지 또는 데이터웨어 하우스 DB로 옮겨야합니까? 이 테이블 또는 데이터베이스의 스키마를 디자인 할 때 유의해야 할 조언을 고려하십시오.

또한 데이터베이스를 사용할 수 있으므로 SQL 서버 인 경우 조언을 구하십시오.

+0

http://dba.stackexchange.com/ – squillman

답변

6

이 크기는 VLDB 영역에 위치합니다 (매우 큰 데이터베이스). 그 고도는 기본적으로 다릅니다.

귀하의 질문에 귀하의 신청서의 책임이 완전히 필요하지 않은 경우 답변을 드릴 수 없습니다. 응용 프로그램이 수행해야하는 작업과 관련하여 성능을 고려하여 디자인해야합니다. DO 데이터가 있어야합니다.

내 충고는 이전 경험이있는 사람을 선상에 올리거나 100 % 가까이 실패 할 가능성이 거의 있습니다.

오라클과 함께한다면 매우 신중하게 사용하고자하는 몇 가지 유형의 파티션을 제공합니다. 말할 데이터의 조각을 저장,

  • 범위 분할, 예를 들면하여 날짜 범위
  • 목록 분할 : 당신의 관리를 위해 파티션 (데이터를 복구, 색인을 구축, 데이터 이동)뿐만 아니라 쿼리 성능 등이 필요 국가 별 ('SE', 'US', 'GB')
  • 해시 파티셔닝. 파티션 중 하나에 저장 데이터가 해시 함수
  • 또는 또한, 구축하고 정말 멋진 I/O 처리량을 가진 몬스터 시스템을 구성하는 방법을 알고있는 사람이 필요합니다 위의

의 조합에 따라 . 1GB/s 이상이 필요합니다. 200TB를 저장해야하는 경우에는 그다지 저렴하지 않습니다. 실제로 이러한 200TB가 테이블 데이터 인 경우 인덱스를 생성하거나 테이블, 백업 등을 집계하려면 두 배 또는 세 배로해야합니다.

죄송합니다. 사용 가능한 솔루션을 제공 할 수는 없지만 나는 위의 평균 크기의 데이터베이스를 구축하는 것이 아니라는 것을 이해하고 싶었습니다. 그것은 방대하다!

3

먼저 디스크 하위 시스템을 살펴보고 매일 2 ~ 5TB의 부하를 처리 할 수 ​​있는지 확인하십시오. 오라클과 SQL 서버 모두 파티셔닝이 내장되어 있습니다. SQL Server에서는 압축을 사용하여 디스크의 스토리지를 최소화 할 수 있습니다 (오라클에 대해서는 확실하지 않음)

대부분 OLAP 또는 OLTP에 사용됩니까?

+2

에서 더 좋은 답변을 얻으실 수 있습니다. 오라클이 테이블 및 인덱스 압축도 지원한다는 사실을 확인했습니다. – Ronnis

+0

하루 2-5TB? 나는 색인에서 멀리 떨어져있을 것입니다 - 압축 된 것인지 아닌지. 쿼리를 수행해야하는 경우 OLAP 구조로 복사하십시오. 그리고 확실히 파티션. – JasonCoder