2011-07-29 2 views
0

현재 개발중인 솔루션에서 SQL 데이터베이스를 대체 할 수있는 최적의 솔루션을 찾으려고 노력 중입니다. 데이터 저장소에는 테이블 파티션 및 파일 그룹 (예 : http://www.ibm.com/developerworks/data/library/techarticle/dm-0605ahuja2/index.html의 IBM DB2 파티셔닝에 설명 된 것과 같이)을 백업 및/또는 롤아웃 할 수 있지만 대량 행 삽입/업데이트가 가능해야합니다. SQL 데이터베이스에 저장.NET API를 사용하여 고속 저장/검색이 가능한 실시간 데이터 저장 권장 사항

표는 현재 간단한 구조를 가지고 : ID 긴 (PRIMARY KEY) 타임 스탬프의 날짜 시간 (PRIMARY KEY) 값 플로트를 의 ID가 어떤 ID에 관련되지 않은 INT

속성 현재 데이터베이스이지만 다른 곳에서옵니다. ID와 타임 스탬프는 함께 표에 삽입/업데이트

데이터의 기본 키로 사용됩니다. 현재 .NET에서 테이블 반환 매개 변수가있는 저장 프로 시저를 사용하여 한 번에 데이터를 테이블 50K 행에 병합 할 수 있습니다. 현재 저는 개발 기계에서 약 10K 항목을 측정했습니다. 그러나 솔루션은 비용에 민감하며 테이블이 커짐에 따라 성능 요구 사항이 있기 때문에 테이블 분할 (TimeStamp 필드의 범위) 기능이 필요하며 여러 파일로 분할하여 유지 관리/백업을 간소화합니다. 또한 고객이 최소한 ODBC를 통해 데이터에 대한 쿼리 (읽기 전용)를 실행할 수있는 기능이 필요합니다.

나는 몇 가지 NoSQL 옵션, mySQL 및 DB2 (현재 가장 적합한 것 같습니다)를 살펴 보았습니다. 나는 가장 적합한 것이 무엇인지에 관해서 누군가가 가지고있는 통찰력에 감사 할 것이다. 물론 "분할"로직을 코드로 옮길 수있는 옵션이 있지만 가능한 경우이를 피하고 싶습니다.

+0

무엇이 잘못 SQL과 :

http://cassandra.apache.org/

뿐만 아니라 .NET을 사용 카산드라와 상호 작용하는 방법에는 여러 가지가 있습니다? 그것은 귀하의 모든 요구 사항에 맞는 것 같습니다. – Justin

+0

동의합니다! 문제는이 특정 솔루션이 유감스럽게도 SQL Enterprise 에디션을 사용할 수 없다는 것입니다. – Alex

+0

필자는 뷰 분할로이 문제를 해결하려했지만 지금까지별로 행운이 없었습니다. – Alex

답변