MySQL과 함께 Amazon RDS와 EC2의 장점 / 한계는 무엇입니까?


Answers

이 게시물 에는 다음과 같은 우수한 벤치 마크가 있습니다.

  • 소형 EC2 + EBS에서 MySql 실행하기
  • 소형 EC2 + EBS + MySql 매개 변수에 MySql 실행하기
  • 작은 RDS

벤치 마크는 이상적인 조건 (단 하나의 스레드)에만 집중하지 않고 50 개의 스레드가 데이터베이스를 치는보다 현실적인 시나리오에서도 매우 중요합니다.

Question

나는이 둘의 기본적인 차이점을 깨닫는다.

  1. EC2가 더 저렴해질 것입니다.

  2. RDS 유지 보수를 할 필요가 없습니다.

이 두 가지 외에, MySQL 서버로 작동하는 별도의 EC2 서버와 달리 RDS에서 내 데이터베이스를 실행하면 어떤 이점이 있습니까? 비슷한 인스턴스 크기를 가정하면 부하를 처리 할 수 ​​있다는 측면에서 모두 동일한 제한 사항을 따르게됩니까?

내 사용법에 대한 정보를 조금 더 제공하기 위해 데이터베이스가 너무 크거나 아무것도 (최대 테이블 수는 1 백만 행), SELECT 볼륨이 큽니다.




우리는 높은 읽기 볼륨과 마스터 - 슬레이브 복제가 필요하기 때문에 EC2 MySQL 인스턴스를 사용하기로했습니다. 물론 여러 RDS 인스턴스를 스핀 업하고 그들 사이에서 MySQL 복제를 설정할 수 있지만 Scalr.net을 사용합니다. Scalr.net은 EC2 인스턴스를 사용하는 사용자를 위해 관리합니다.

기본적으로 우리는 Scalr에게 우리가 원하는 많은 MySQL 인스턴스를 유지하고 복제 설정을 자동화하며 마스터가 종료되면 마스터 노예 승격의 자동 장애 조치를 처리합니다. SQL 덤프 백업과 EBS 볼륨 스냅 샷을 모두 수행합니다. 주인. 따라서 새로운 슬레이브를 생성해야하는 경우 마지막 마스터 스냅 샷의 EBS 볼륨을 자동으로 임시로 마운트하여 슬레이브 DB를 초기화 한 다음 적절한 지점에서 복제를 시작합니다. 모든 포인트 앤 클릭 :) (Scalr 또는 다른 어떤 것도 작동하지 않습니다. 서비스를 사용하고 싶지 않으면 Scalr을 오픈 소스로 사용할 수 있습니다)




나는 몇 달 동안 RDS를 시험해 보았고 여기에 내가 가지고있는 몇 가지 문제가있다.

  1. SQL 프로파일 러 사용은 까다 롭습니다. 프로필러를 서버에 직접 연결할 수 없으므로 일부 저장 프로 시저를 실행하여 분석 할 수있는 로그 파일을 만들어야합니다. 그것들이 어떻게 행해지는지에 대한 제안을하지만, 사용자 친화적 인 것은 아닙니다. 인증 된 SQL 전문가 만 이러한 작업을 수행 할 것을 권장합니다.

  2. Amazon은 인스턴스를 백업하지만 개별 데이터베이스는 복원 할 수 없습니다. 몇 가지 개별 고객 데이터베이스가있는 웹 응용 프로그램이 있고 솔루션은 SQL을 실행중인 EC2 인스턴스를 실행하여 프로덕션 RDB 데이터베이스에 연결하고 데이터를 가져온 다음 EC2 인스턴스에 백업하는 것이 었습니다. 다른 해결책은 스키마를 다시 만들고 복원 지점으로 데이터를 다시 채울 대규모 SQL 스크립트 (앱 서버에서)를 만드는 타사 도구를 사용하는 것이 었습니다.




나는 이번 주말에 같은 질문을했다. 유지 관리를 수행하는 RDS의 경우 주당 4 시간의 가동 중지 시간대가 있습니다. RDS는 EC2의 마이크로 인스턴스로 벗어날 수 있다면 더 비싸 보였다. (이것은 최소 트래픽이있는 테스트 인스턴스에 해당합니다.) 또한 권한이 없으므로 RDS 인스턴스의 시간대를 변경할 수 없었습니다.

나는 실제로 다른 회사의 EC2에있는 MySQL 인 http://xeround.com/ 을보고있다. 그들은 InnoDB를 사용하지 않고 대신 IDG라는 자체 엔진을 가지고 있습니다. 나는 방금 조사를 시작했지만 베타 테스트 중이며 500MB의 공간을 제공 할 것입니다.






Links