2012-06-21 8 views
0

레거시 시스템 문제로 인해 CQRS 읽기 모델을 SQL Server 테이블에 저장하려고합니다 (접근 방법 2 & 3/this question 참조).CQRS 읽기 모델을 SQL Server 테이블에 저장하는 방법?

MongoDB와 같은 문서 데이터베이스를 사용하여 읽은 모델을 구현하고 싶습니다. 현재로서는 외부 시스템으로 인해 수정할 수 없기 때문에 지금은 rdbms에 모든 것을 보관해야합니다.

레코드를 올바르게 정규화되지 않은 방식으로 저장하려고하므로 전형적인 고객/주문/LineItems/등의 일반적인 계층 적 데이터를 처리 할 때 실제로 저장할 때 가장 좋은 방법은 무엇입니까? 동일한보기에 표시 되나요? [편집 : 내가 생각하는 것은 별도의 필드에 모델을 쿼리하는 데 필요한 데이터를 넣어, "개체 데이터 필드"에있는 전체 개체]

내 레거시 시스템으로 인해 내 제어) 나는 레거시 시스템 테이블에 트리거를 추가하거나 읽은 모델을 최신으로 유지하기 위해 sproc을 변경한다고 생각하지만 실제로 데이터 자체를 어떻게 저장해야합니까?

.net 응용 프로그램에서 직렬화/직렬화를 쉽게 수행 할 수 있고 데이터베이스의 다른 활동에서 트리거에 의해 쉽게 업데이트 될 수 있으므로이를 필드에 JSON으로 저장하거나 XML로 저장하는 것으로 간주했습니다. (익숙해지면 Xpath/XQuery가 그렇게 나쁘지 않고 another answer에서 JSON parser for T-SQL을 찾았습니다.

더 좋은 방법이 있습니까? 그렇지 않다면 XML 또는 JSON을 사용해야합니까?

답변

1

SQL Server에 기본 제공 지원이 있으므로 XML을 사용할 것입니다. 일반적으로 T-SQL로 작성된 추가 자료는 사용하지 않는 것이 좋으며,이를 유지하는 것이 악몽 일 수 있습니다.