2010-01-27 3 views
0
내가 빨리 다음과 같은 특징이있는 명부 웹 사이트를 교체 할 필요가

:C# 오픈 소스 검색 응용 프로그램이 저렴하게 확장됩니까?

  • 좀 작은 데이터베이스 매일 제거 (10,000 항목, < 1기가바이트) 생성/업데이트 항목의
  • < 10 %/
  • 을 가장 일반적인 활동은 하루 100 만 페이지 노출에 1-1000 항목을
  • 트래픽 피크를 반환, 전체 데이터 집합을 검색하는

기존 응용 프로그램의 확장 전략은 읽기 전용 및 읽기/쓰기 작업을 분리하는 것이 었습니다. 여러 개의 슬레이브 데이터베이스가 검색에 사용되며 MS SQL Server 복제를 사용하여 슬레이브를 업데이트하는 마스터에 쓰기가 수행됩니다.

읽기 작업이 쓰기보다 일반적이므로 실제 클러스터링없이 데이터베이스로드 균형 조정을 수행하는 것이 경제적 인 방법임이 입증되었습니다.

이제는 응용 프로그램을 대체해야합니다. 이처럼 깔끔하게 확장되는 C# 오픈 소스 응용 프로그램이 있습니까?

+0

SQL Server로 대체하거나 기존 데이터를 검색하기위한 대체품을 묻는 중입니까? – Kane

+0

데이터 검색 및 업데이트를 수행하는 응용 프로그램의 대체 – domspurling

+0

잘 모르겠는데, 좋은 검색 전략, 즉 SQL Server가 있습니다. 프런트 엔드를 대체하면 응용 프로그램의 주요 오버 헤드가되어서는 안됩니다. C#은 다른 많은 기술과 마찬가지로 적합하며 비슷한 성능 특성을 가지고 있습니다. SQL Server를 C# 백엔드로 대체 할 것을 제안합니까? 나는 당신이 그 바퀴를 다시 발명하는 것을 피하기를 원한다고 생각한다. 아마 SQL 서버를 아마도 MySQL이나 PostgreSQL으로 대체하려고 할 것이다. – Lazarus

답변

1

데이터를 검색하고 데이터를 저장하는 것이 두 가지 다른 비즈니스 작업임을 알 수 있습니다. 개인적으로 나는 검색을 위해 Lucene.NET의 열렬한 팬이며, 귀하의 요구에 맞는 경우 조사를 권장합니다. Lucene.NET에는 몇 가지 함정이 있으며 색인 작성은 다소 느릴 수 있습니다. 귀하의 상황에서는 관계형 데이터베이스 (I.E., SQL Server)에 데이터를 저장하고 응용 프로그램의 검색 구성 요소를 수정하는 방법을 고수해야한다고 생각합니다.

+0

Linux에서 검색 엔진으로 실행되는 Solr (http://lucene.apache.org/solr/)에 전 처리 및 캐싱을위한 .NET 중간 계층을 사용했습니다. 빠르게 타오르는 것은 과장이 아니며 패싯 탐색의 가능성은 무한합니다. 지금까지 우리는 우리의 선택에 매우 만족하고 있습니다. Solr 저장소는 MS SQL 데이터베이스에 개별적으로 저장된 (읽기/쓰기) 사용자 데이터로 (고도로 트래 피킹 된) 공용 대면 응용 프로그램과 관련하여 읽기 전용입니다. 저는 Solr이 읽기/쓰기 스토어로 잘 확장되었을 것이라고 생각합니다. 그러나 이것이 우리에게 두 가지 장점을 제공합니다. – domspurling

관련 문제