2011-04-06 4 views
0

NoSQL 데이터베이스를 HttpCache에 큰 개체 캐시를 유지하고 linq를 사용하여 물건을 쿼리하는 것과는 반대로 어떤 이점이 있습니까?NoSQL vs Linq to asp.net MVC

지리, 사용자 기본 설정 등을 기준으로 사용자에게 제공해야하는 5000 개의 제품 목록이 있습니다. 정식 제품 데이터는 관계형 데이터베이스에 저장되어 있으며 변경하지 않습니다. 주어진 고객에 대해 유효한 제품 ID의 큰 목록을 반환하는 sproc가 있지만 각 고객에 대해 각 제품을 다시로드하는 오버 헤드를 원하지는 않습니다. (왜 db 서버와 웹 서버간에 동일한 제품 설명을 제공합니까?)

따라서 특정 제품 ID 목록의 캐시에서 제품 세부 정보를 가져옵니다.

잘못된 캐시 디자인과 느린 가비지 수집으로 인해 응용 프로그램에서 여러 개의 ToList() 호출을 만들었으므로 제품을 캐시하기위한 첫 번째 시도가 막대한 메모리 사용을 유발했습니다.

새 버전을 빌드하는 중이고 NoSQL 데이터베이스가 linq를 개체에 사용하는 것 이상의 실질적인 이점을 제공하는지 여부에 대한 제안이 있으면 감사하겠습니다. 관계형 데이터베이스는 SQL 서버 인 경우

답변

1

, 당신은 알림 서비스를 사용하고 EnableCaching="True"CacheDuration="Infinite"이 방법의 장점과 SqlDataSource가 데이터베이스에 왕복을 얻을 것이다 사용하여 제품 목록을 저장할 수있는 경우에만 제품 목록이 수정되었습니다.

article을 살펴보면 Notification Services의 작동 방식에 대해 설명합니다.

1

5000 개체의 경우 HttpRuntime.Cache은 NoSQL 데이터 스토어입니다.