2016-08-10 4 views
2

200 개가 넘는 테이블의 라이브 데이터 피드를 동시에 읽고이 데이터를 처리하려면 애플리케이션을 만들어야합니다. 나는 매 순간마다 20 개 이상의 레코드를 얻는 각 테이블에 대해 최적의 속도로이 문제를 해결하는 최선의 방법이 무엇인지 토론하고 싶습니다. 지금까지 솔루션을 생각해 볼 수 있습니다 : -여러 테이블에서 데이터를 읽는 최선의 방법

1) 20 개의 홀수 심볼을 독립적으로 처리하는 다중 스레드를 만들 수 있습니다.

2) 데이터 읽기와 데이터 처리를 위해 두 개의 스레드를 만들 수 있지만 모든 스레드를 순차적으로 읽어야하기 때문에 판독기 스레드가 더 많은 시간이 걸립니다.

내 데이터베이스가 MySQL이고 지금 당장 nosql DB로 전환하려고하지 않습니다.이 문제를 해결하기 위해 C++을 사용하고 있습니다. 200 개 이상의 테이블 대신 하나의 테이블에서 실시간 데이터 피드를 얻을 수 있다고 생각합니다. 내 두 번째 접근 방식은 훨씬 더 적절하고 빠르게 될 것입니다.

답변

1

nosql "데이터베이스"에서 속도가 향상되지 않으면 MySQL을 사용해야합니까? 또한 데이터베이스에서 데이터를 검색하는 것은 항상 병목입니다. 일반적으로 많은 양의 데이터를 RAM에로드하고 거기에서 읽으려는 경우가 훨씬 빠릅니다.

특정 타임 스탬프 (마지막 쿼리 실행과 동일한 타임 스탬프)에서만 최신 데이터를 검색하는 쿼리를 만들 수 있습니다. 그런 다음 메모리에로드하여 속도를 필요로하는 모든 작업을 수행하고 정리합니다 더 이상 필요하지 않은 이전 항목을 삭제합니다.

+0

답장을 보내 주셔서 감사합니다. MYSQL을 사용해야하며 분명히 항상 최신 데이터 만 읽습니다. – birubisht

관련 문제