2011-03-16 5 views
4

앞으로 Azure에서 실행할 수있는 기능을 갖춘 ASP.NET MVC 앱을 개발하려고합니다. 앱에서 CQRS 디자인 패턴을 사용하게 될 것입니다. 쓰기 모델은 맵핑과 함께 NHibernate를 사용할 것이다. 읽기 모델에 어떤 데이터베이스를 사용할 지 잘 모르겠습니다. 읽기 모델은 다음과 같은 속성을 가져야합니다.CQRS를 사용하는 ASP.NET MVC 앱에 적합한 읽기 모델은 무엇입니까?

  • SQL 기반 일 필요는 없지만 그렇게 할 수는 있습니다. Hibernate는 외래 키가없는 단순한 뷰 모델 -> 테이블 타입의 매핑을 생성하기 위해 거기에서도 사용될 수있다. 메모리 데이터베이스의 SQL CE 또는 SQLite를 데이터 공급자로 사용할 수 있습니다. 데이터를 쿼리 할 때 약간의 유연성을 제공합니다.

  • 단순히 뷰 모델 개체를 그대로 저장하는 개체 직렬화/역 직렬화 기일 수 있습니다. 이것을 사용하기 쉬워야하고 Azure Blob 저장과 같은 것을 미래에 활용할 수 있어야합니다. 좋은 방식으로이를 처리하는 좋은 프레임 워크가 있습니까?

이전에 이런 종류의 응용 프로그램을 만든 사람들로부터 피드백을 받기를 바랍니다.

+1

그렉 영스 비디오를 보았습니까? http://www.viddler.com/explore/GregYoung/videos/8 –

+0

훌륭한 자료입니다. 감사합니다. 그것을 통과하는 데 시간이 좀 걸릴 것입니다. –

+0

예, 3 시간 후에 컴퓨터 앞에 잠 들었습니다. 어쨌든, 이것도 확인해보십시오. http://cqrsinfo.com 및 http://groups.google.com/group/dddcqrs –

답변

3

우리는 CQRS Views에 Blob 저장소를 사용하여 ASP.NET MVC 2 웹 클라이언트 (및 데스크톱 클라이언트)를 백업합니다. Some more details 이것은 생산 중이며 이전 버전의 뷰 (SQL Azure에 대한 NHibernate)보다 큰 개선입니다.

간단한 인덱싱과 쿼리도 처리합니다. 더 복잡한 시나리오의 경우 테이블 저장소 기능의 하위 집합을 사용하는 것을 고려하고 있습니다 (분할 할 수없는 매우 큰 집합에만 해당).

+0

기사 주셔서 감사합니다. 하늘빛을 사용하지 않는다면 무엇을 권하겠습니까? 아마도 몽고 빗 같은 것이 있을까요? 그 사건에 대해 무엇을 사용합니까? –

3

읽기 모델의 경우 SQL Server 2008 R2를 WCF Data Services와 함께 사용합니다. 그러면 WCF 데이터 서비스가 읽기 전용으로 구성됩니다. SQL Server 2008 R2 데이터베이스의 데이터는 엔티티 당 하나의 테이블이며 그 위에 특수 뷰가 생성됩니다.

ASP.NET MVC 응용 프로그램은 엔티티에 직접 액세스하지 않고보기 만 쿼리합니다.

이와 같은 시나리오는 훌륭하게 색인을 생성 할 수 있으며보기가 최고의 유연성을 제공합니다.

관련 문제