2012-03-13 2 views
1

나는 어떤 소스에서 초당 약 20 개의 임의 측정을받는 프로그램을 가지고있다. 각 측정에는 유형, 시간 소인, 최소, 평균 및 최대 값이 있습니다. 그런 다음 각 측정 유형의 X 집계를 만들어야합니다.수백만 행을 가진 mysql 하드 드라이브 효율성

동시에 100 개의 소스를 사용하여 프로그램을 설정할 수 있으므로 많은 양의 데이터를 신속하게 저장하고 신속하게 검색해야합니다.

이 시스템은 메모리/스토리지/cpu 제한이 없지만 거의 그 기능의 한계에서 hdd에 쓰는 다른 서비스가 있습니다. 이 질문에 대해, 이것이 "최고급 HDD"라고 가정하고 HDD로 업그레이드 할 수는 없습니다.

내가 지금하고있는 일은 새로운 측정 유형이 발견 될 때마다 각 측정의 타임 스탬프 값을 따라 파티셔닝하면서 측정 유형 (20x 소스) 당 테이블을 생성하는 것입니다. 나는 최소의 "검색"량으로 데이터를 삽입하거나 질의 할 수 있도록 HDD를 가로 질러 측정 데이터를 분해하지 않기 위해 이렇게하고있다.

의미가 있습니까? 조인이나 복잡한 쿼리를 수행 할 필요가 없으며 타임 스탬프 범위에 따라 일괄 처리 인서트 또는 단일 측정 유형 쿼리를 모두 사용할 수 있습니다.

MySql은 HDD의 테이블에 데이터를 어떻게 저장합니까? & 쿼리를 삽입하는 동안 HDD 탐색을 최소화하기 위해 DB를 더 잘 디자인 할 수 있습니까?

답변

0

Google이나 사용자가 선호하는 검색 엔진을 사용하여 설명서를 읽거나 기술 자료를 검색하면 일반적인 질문을 할 수 있습니다. 디폴트 인 MyISAM 엔진을 사용하고 있다면, 각 테이블은 db- 특정 디렉토리에 3 개의 파일로 저장되며, 큰 것은 행 데이터에 대한 MYD 파일이고 모든 인덱스에 대한 MYI 파일입니다.

당신이 할 수있는 가장 중요한 일은 구성 매개 변수를 수정하여 액세스와 캐싱을 최적화 할 수있게하는 것입니다. MySQL은 당신이 현실적으로 기대하는 것보다 더 나은 일을 할 것입니다. 자세한 내용은 http://dev.mysql.com/doc/refman/5.1/en/option-files.html을 참조하고이 절에서 설명하는대로 시스템에서 찾을 my-small.cnf 및 my-large.cnf의 설정을 비교하십시오.

관련 문제