문제

보고 응용 프로그램에서보고 로직 및 데이터베이스 스키마 세부 사항을 추상화 할 수 있습니까?

합리적으로 복잡한보고 논리가있는보고 서비스 응용 프로그램이 있으며 응용 프로그램을 다른 데이터베이스로 마이그레이션하려고합니다. (동일한 목적을 위해 구축되었지만 다른 소프트웨어 주택에 의해 개발 된 데이터베이스.)

중간에 웹 서비스 / WCF 계층을 사용하는 것이 현명한 결정입니까? 다른 옵션은 무엇을 고려할 수 있습니까?

도움이 되었습니까?

해결책

일반적인 경우에는 한 가지 크기에 맞는 방식으로 이런 종류의 일을하기가 어려울 것이지만 다음 중 하나를 시도 할 수 있습니다.

  • 데이터베이스 스키마를 통해 일부보기를 구축하고보고 스프로크를 작성하십시오. 즉, 기본 데이터베이스 스키마에 약간의 유연성이 있으며 뷰를 추상화 계층으로 사용할 수 있습니다.

  • 일종의 데이터웨어 하우스 플랫폼을 구축하고 ETL 프로세스를 작성하여 다양한 데이터 소스에서이를 채우십시오. 이것은 더 유연하지만 더 많은 노력을 기울이고 주기적으로 새로 고침에서만 작동합니다. 해당 수준의 대기 시간이 애플리케이션에 허용되는 경우 데이터웨어 하우스 시스템이 더 나은 접근 방식이라고 제안합니다.

    데이터웨어 하우스의 주요 장점은보고에 최적화되어 있으며 모든 데이터 소스에서 일관된 인터페이스를 가지고 있다는 것입니다. 하나의 스키마를 사용하여 단일 데이터베이스로 통합합니다. 보고서는 해당 스키마에 대해 개발되었습니다. 창고를 채우기 위해 ETL 프로세스를 작성하여 새로운 시스템을 추가하는 것이 달성됩니다. 보고서는 데이터 소스에 관계없이 계속 작동합니다.

WCF는 네트워크 통신 시스템입니다. 트랜잭션 기준으로 트랜잭션에서 많은 양의 아키텍처를 처리하기가 어렵다는 것을 알게 될 것입니다. 배치로드 ETL 프로세스는 훨씬 더 효율적입니다. 그러나 실시간 피드 (아마도 거래 플로어 시스템의 경우)가 필요한 경우 이와 같은 작업으로 수행 할 수 있습니다.

낮은 대기 시간 피드를 nead하는 경우 다른 접근 방식은 엔터프라이즈 정보 통합. 아마도이 작업을 수행 할 수있는 가장 널리 사용 가능한 도구는 데이터 소스보기 안에 SSIS 임의의 데이터 소스를 일관된 스키마에 매핑하는 데 약간의 유연성을 제공합니다. 최고의 품종 EII 도구만큼 정교하지는 않지만 SSIS 패키지를 그 위에 올려 놓고 데이터를 추가로 변환 해야하는 경우 보고서의 데이터 소스로 사용할 수 있습니다.

그러나 나는 이와 같은 구조화 된 시스템을 구축 한 적이 없으므로 실제로 얼마나 잘 작동하는지 보증 할 수 없습니다. 나는 단위 테스트를 할 수있는 부품으로 분류하는 것이 매우 취약하고 어려운 일이 될 것이라고 생각합니다. 따라서 개발 및 유지 보수는 사소한 복잡성 시스템에 대해 시간이 많이 걸릴 것입니다.

시장에서 다른 EII 시스템을 조사하려면 이 링크 EII 및 기타 EII 툴링 공급 업체에 관한 다양한 기사의 디렉토리입니다.

다른 팁

NXC의 데이터웨어 하우스 제안에 동의합니다.

  • 일회성 작업이라면 아니요. 그러나 "보고 신청서"이기 때문에 많은 보고서가 OLAP 패러다임에 적합 할 가능성이 높습니다.
  • 시장에 사용할 수있는 많은 성공적인 OLAP 쿼리 도구가 있으며 복잡성의 다양한 비만이 있기 때문에 분명히 할 수있는 작업입니다.
  • OLAP Schemas, 예를 들어 표준 스타 스키마, 이다 설계 쿼리하기 쉽습니다. 그것들은 본질적으로 평평하며, 사실 테이블은 매우 간단한 방식으로 간단한 키를 사용하여 하나 이상의 치수 테이블에 결합합니다.
  • 사람들이 보고서와 관련하여 수행하려는 운영 유형은 필터, 정렬, 그룹 별, 열 추가 또는 제거, CSV로 내보내기 등을 예측할 수 있습니다.
  • 생성 된 보고서에 대한 유연성 수준이 높아집니다. 다양한 관계에 대한 데이터를 탐색하는 능력은 매우 중독성이 있습니다.
  • 일단 쿼리 도구를 작성하면 다른 스타 스키마와 재사용 할 수 있습니다.
  • "보고 로직과 데이터베이스 스키마 세부 사항을 추상화 할 수 있습니까?" - 예, OLAP Schemas는 정확히이를위한 것입니다. 모든 데이터가 표준화 된 스키마를 준수하게 만듭니다. 물론 이것은 비즈니스 로직을 ETL 계층으로 이동하지만 그것이 그 위치에 있다고 주장합니다.

따라서이 접근 방식으로 ETL을 수행해야합니다. 한 가지 옵션은 어떤 형태의 형태를 수행하는 것입니다. 롤랩, 그러나 실제로는 ROLAP 설정에서 좋은 성능을 발휘하는 것만 큼 ETL 스크립트를 작성하기가 쉽다는 것을 알았습니다.

제가 일반적으로 후방에서 물기 위해 돌아올 것이라고 생각하는 대답은 내가 알고있는 다른 사람들이 각 데이터베이스에서 XML로 데이터를 생성하는 것입니다. 이를 통해 대부분의 제품이 쉽게 처리 할 수있는 형태의 일관된 데이터 세트를 제공합니다.

이렇게하면 xpath 쿼리가 실행되는 쿼리가 빠르도록하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top