복잡한 프로세스를 SQL에서 .NET 응용 프로그램으로 옮깁니다. SQL에서 필요한 데이터 만 가져 와서 데이터 테이블에 저장함으로써 무차별 대입 방식을 취하고 있습니다. 스테핑과 함께 파이프 라인 패턴을 사용하여 병렬 처리 (다른 프로세스에 종속적이지 않고 동일한 데이터 비트에서 작업하지 않음)로 수행 할 수있는 프로세스를 파기했습니다.데이터 세트 대신 메모리에
모든 것이 잘 진행되고 있지만 DataSet/DataTable 구조보다 성능이 좋은 메모리 내장 SQL 솔루션이 있는지 알고 싶습니다. 우리는 한 번에 최대 50m 행을 지원하며 데이터 행을 지원합니다 (5b 행 읽음). 1 행 (모든 데이터 행 지원)의 행 크기는 아마도 약 1K avg입니다 (큰 문자열로 인해).
제 질문은 특별히 DataSets, 메모리 오버 헤드 및 지속성의 성능에 관한 것입니다. 복구를 위해 각 단계의 데이터를 디스크에 직렬화해야합니다.
강하게 입력 된 모델에 행을 매핑하는 것이 더 좋을까요? 필자는 데이터 세트의 관계 나 다른 이점을 필요로하지 않습니다. 필자는 대부분의 검색 기능을 병렬 처리를 사용하는 자체 도구로 교체했습니다.
데이터는 SQLite는 살펴보고, 원시 형, 아니 모양, 스트림, 지리 등 지역의 SQL 조작의
강력하게 형식화 된 모델로 변환하는 한, 사용자가 나타내는 데이터에 따라 달라집니다. 또한, 당신은 메모리에서 한 번 데이터와 함께 무엇을하려고합니까? 이 사실을 알면 자신과 다른 사람들이 상황에 대한 최선의 방법/최선의 조언을 결정하는 데 도움이 될 수 있습니다. – JesseBuesking
약 100 가지 프로세스가 필요합니다. 중복, 데이터 계산 및 집계, 업데이트, 삭제 등에 대한 레코드 검사 결과 최종 데이터 세트가 SQL로 다시 푸시됩니다. 일부 프로세스에는 조인 및 그룹과 같은 기능이 필요합니다. –