2013-06-27 4 views
-1

Google 제품에 대해 php (kissmetrics, Appanie과 같은)를 사용하는 분석 플랫폼 프로젝트를 시작합니다.대용량 데이터베이스 응용 프로그램에 Mysql을 사용하는 것이 좋습니다

그래서 매일 데이터베이스가 엄청난 양의 데이터로 업데이트됩니다. 이 데이터 표시를 사용하면 사용자에게보고합니다 (단일 사용자에 대한 보고서가 너무 많음).

MySQL이 이러한 많은 작업을 처리 할 수 ​​있는지 궁금합니다. mysql이 이것을 처리 할 수 ​​없다면 데이터베이스를 제안하고 대체하십시오.

+0

에서 가져온이 link

로 이동합니다. –

+0

매일 처리 할 데이터의 크기와 같은 추가 데이터를 제공해야하며 업데이트, 삭제 등이 포함됩니다. – Stephan

+0

데이터 양, 질의 양, 데이터베이스 구성 방법, 인덱스 사용 여부, 디자인 데이터베이스의 10 개 라인은 잘못하면 매우 느리게 페치 될 수 있습니다 :) – Martijn

답변

1

큰 데이터를 처리 할 수 ​​있습니다. 당신이 그것을 사용할 수 있습니다. 더 빠른 데이터 검색을 위해 테이블에 적절한 인덱싱을 구현해야합니다. 우리는 테이블에있는 레코드들에 대해 mysql을 성공적으로 사용했다. 중요한 부분은주의 깊은 데이터베이스 설계입니다.

MySQL이 가능합니다. 대체는 postgresql이 될 수 있습니다.

+0

@COG IT 솔루션에 감사드립니다. 내가 postgresql을 확인합니다 – Anish

+0

인덱스는 보고서 속도를 높일 수 있지만 실제로 데이터의 삽입 속도를 줄일 수 있습니다. 많은 수정 사항이 있고 일일보고 만하는 경우 색인없이 더 나을 수 있습니다. 특히 전문화 된 로깅 및보고 환경에서 인덱스가 항상 해답이되는 것은 아닙니다. – GolezTrol

0

MySQL은 이것에 적합하지 않습니다. 쿼리에 사용 된 테이블의 데이터를 편집하자마자 거의 완전히 비효율적 인 쿼리 캐시가 있습니다. 따라서 많은 업데이트를 수행 할 때 설명하는 것처럼 쿼리가 심각하게 느려집니다. 즉, MySQL의 경우 정기적으로 사용되는 웹 페이지보다 약간 성능이 떨어질 수 있으므로 보고서가 제대로 작동 할 수 있습니다.

Oracle 및 MS SQL Server와 같은 많은 다른 데이터베이스는 훨씬 견고하지만 비용도 훨씬 많이 듭니다.

어쨌든 응용 프로그램을 데이터베이스에서 가능한 한 신뢰할 수없는 것으로 만드는 것이 좋습니다. 좋은 데이터베이스 추상화 계층을 만들고 많은 (또는 모든) 트리거 및 저장 프로 시저를 사용하지 마십시오. 나중에 필요한 경우 데이터베이스를 전환하는 데 도움이됩니다.

+2

이것은 심각한 문제이지만 대부분의 보고서는 원시 데이터가 아닌 처리 된 데이터를 기반으로하므로 해결할 수 있습니다. 응용 프로그램 구조와 논리를 최적화하면 많은 데이터베이스 액세스 및 해당 문제를 피할 수 있습니다. –

+1

@SvenSchneider 맞아요. 항상 해결할 수있는 방법이 있지만, MySQL을 사용하여 작업 할 때 심각한 병목 현상이 발생합니다. 따라서 적어도 염두에 두어야 할 것이 있습니다. – GolezTrol

+0

사실 스위치 교체가 어려울 수 있으므로이 사실을 명심해야합니다. –

1

물리적 데이터베이스 크기는 중요하지 않습니다. 기록의 수는 중요하지 않습니다.

제 경험상 가장 큰 문제는 크기가 아니라 한 번에 처리 할 수있는 쿼리의 수입니다. 대부분의 경우 마스터/슬레이브 구성으로 이동해야하므로 읽기 쿼리가 슬레이브에 대해 실행될 수 있고 쓰기 쿼리가 마스터에 대해 실행될 수 있습니다. 그러나 아직 준비가되어 있지 않은 경우 응답 시간을 단축하기 위해 실행중인 쿼리의 인덱스를 조정할 수 있습니다. 또한 네트워크 스택과 커널에서 도움이 될 수있는 많은 조정 작업이 있습니다. 자세한 내용은

은 덜 수있는, MySQL은 무료 소프트웨어 그렇게 같이 생각하지 않는다 또한이 데이터는 orignaly here

관련 문제