2013-09-23 5 views
0

정기적으로 유지 관리/업데이트 할 수있는 단일 프로필 페이지가있는 각 사용자의 회선에 공용 사이트 웹 사이트를 만들 계획입니다. 이 페이지에서 사용자는 사진을 업로드하고 개인 정보를 업데이트 할 수 있습니다. 3 단계 구조를 염두에두고 있습니다.데이터 레이어 디자인 생성

내 데이터 레이어를 만들 때 입력이 필요합니다. 나는 많은 게시물을 읽었으나 어떤 특정한 접근 방식을 확정 짓는 것에 대해 확신하지 못했습니다. 엔티티 프레임 워크, Microsoft 엔터프라이즈 라이브러리, 코어 ADOBE 등을 읽었습니다. 많은 블로그에서는 성능 향상을 위해 일반 ADO.NET을 사용하는 것이 최선이라고 말합니다.

내가 더 빠른 처리와 성능을 찾고있는 제 경우에 가장 적합한 접근법이 될 수 있습니다. 기술면에서 나는 asp.net, C#, WCF와 MVC가없는 데이터 호출을 찾고 있습니다.

일반 ado.net의 경우에도 사용할 수있는 라이브러리를 사용할 수있는 준비가되어 있습니다.

감사

답변

0

당신은 전체 그림을 찾고 있다면 내가, 내가 마이크로 최적화로 그것을 고려할 것, 평면 ADO.NET과 함께 갈 것 - 캐싱을 사용하여, 스마트 데이터 구조는보다 훨씬 더 달성 할 일반 ado.net을 사용하여. (이 오래된 될 수 있지만) 엔티티 프레임 워크가 여기에 표시되고, 그것에 대해 의심의 여지가, 약간의 비용을 추가 :

http://www.servicestack.net/benchmarks/

당신은 어떤 마이크로 ORM 프레임 워크를 사용할 수 있습니다, 그는 벤치 마크에 언급, 그러나 보통입니다 마이크로는 자신의 비용입니다. 예를 들어 대부분의 마이크로 프레임 워크에는 조인 (pure SQL에서는 허용되지만 입력 된 C#에서는 쓰기 도구가 없습니다)이 있습니다. 예를 들어 Stackoverflow는 사람 프로필이 있으며 micro ORM Dapper를 사용하고 있으며 성능이 우수합니다. 정확하게 기억한다면 ~ 95 %의 요청이 데이터베이스가 아닌 Reddis 캐시에서 제공되기 때문입니다.

공개 프로필을 전체 텍스트로 검색 할 수 있고 그 중 수백만 개가있을 경우 관계형 데이터베이스가 올바른 선택이 아닐 수 있습니다.

+0

dapper.net을 살펴본 결과 좋았습니다. 그래서 현재 Presentation Layer, Business Layer, Data Layer와 같은 구조를 가지고 있습니다. 따라서 dapper.net을 사용하면 모든 Db 클래스 객체가 비즈니스 계층에 포함됩니까? dapper가 제공하는 클래스는 데이터 영역에 있습니까? 또한 db 호출을 만들 때 WCF API를 사용하려고합니다. UI를 사용하여 비즈니스에서 데이터 레이어로 전화를 걸 수있는 방법을 알려주십시오. – user1563677

+0

Dapper를 사용하지 않았지만 일반적으로 데이터 엔티티 클래스는 데이터 계층에 속합니다. 그런 다음 비즈니스 계층과 표현 계층은 레이어간에 데이터를 전송하기 위해 자체 DTO를 가질 수 있습니다. WCF에 관해서는 SOAP에 대한 특별한 필요가 없으면 요즘에는 WebApi와 ServiceStack이 필요하지 않을 것입니다. 그들은 제 의견으로는 WCF의 더 가벼운 버전이며 모바일 환경에서도 더 편리합니다. 전반적으로, 나는 더 간단하다고 생각합니다. 그렇지 않으면 범위가 너무 빨리 커지고, Ayende의 게시물 중 일부를 읽을 수 있습니다. http://ayende.com/blog/19457 – Giedrius

관련 문제