나는 높은 평가 대답에 동의하지만, 나는 다음을 추가 거라고 생각했다 : 창고에
* Do you use a staging area to perform the transformation and then
부하를?
스테이징이 필요한지 여부는 변환 유형에 따라 다릅니다. 스테이징은 ETL을보다 관리하기 쉬운 단위로 나눌 수있는 이점을 제공하지만웨어 하우스에 영향을 미치지 않고 데이터에서 조작을 수행 할 수있는 작업 영역을 제공합니다. 팩트 레코드를로드 할 때 조회로 사용하기 위해 OLTP 시스템의 키와 최신 dim 레코드의 키를 저장하는 준비 영역에 (최소한) 일부 차원 조회를 수행하는 데 도움이 될 수 있습니다. 변환은 ETL 프로세스 자체에서 발생하지만 진행 과정에서 도움이 될 수있는 준비 작업이 필요할 수도 있고 아닐 수도 있습니다.
* How do you link data between the warehouse and the OLTP database?
다시 OLTP 시스템을 기준으로 데이터웨어 하우스에 (가능한 경우 또는 실제 기본 키) 비즈니스 키를 로딩하는 데 유용
. 또한 DW 프로세스에서 감사를 수행하면로드 한로드 프로세스를 기록하여 각 비트의 계보를 기록해야합니다. 응용 프로그램 코드에서 sprocs가, DTS/SSIS 패키지, 또는 SQL과 같은
* Where/How do you manage the transformation process - in the
데이터베이스?
이것은 일반적으로 SSIS 패키지에 있지만 대개 소스 쿼리에서 변환하는 것이 더 효과적입니다. 유감스럽게도 이는 소스 쿼리를 이해하기가 복잡하여 유지 관리하기 때문에 성능에 문제가 없다면 SSIS 코드를 변환하는 것이 가장 좋습니다. 이렇게하면 다른 테이블간에 소스 쿼리에 더 많은 조인을 만들 수 있으므로 준비 영역을 갖는 또 다른 이유가됩니다.
@ 존 - 데이터웨어 하우스 모델에 Kimble "사실 및 차원 별 스키마"디자인을 사용 했습니까? –
나는 그렇게 생각한다. 나는 사람들이 데이터웨어 하우스에서 그의 이름을 알고리즘에서 "크 누스 (Knuth)"를 호출하는 것과 거의 비슷하게 불렀음에도 불구하고이 "킴블"녀석을 읽은 적이 없습니다. 그러나 다시 한번, 나는 처음 Knuth 책을 완성하지 못하고 전체 세트를 팔아 치우지 못했습니다. 지금 작업하고있는 데이터 마트는 치수가있는 몇 가지 치수가 있기 때문에 눈송이가 더 많습니다. 우리의 상황은 고객과 세일즈맨 모두 차원을 갖는 것과 유사하며 둘 다 지리를 가지고 있습니다. –
죄송합니다, 나는 Kimball이 아니라 Kimball을 의미했습니다. :) –