programing

MySQL을 사용하는 EC2와 비교하여 Amazon RDS의 장점/제한사항은 무엇입니까?

javaba 2022. 9. 23. 23:15
반응형

MySQL을 사용하는 EC2와 비교하여 Amazon RDS의 장점/제한사항은 무엇입니까?

이 둘 사이에 몇 가지 기본적인 차이점이 있다는 것을 깨달았습니다.

  1. EC2는 더 저렴해질 것이다.

  2. RDS는 유지보수를 하지 않아도 됩니다.

이 두 가지 외에 MySQL 서버로서 기능하는 별도의 EC2 서버가 아닌 RDS에서 데이터베이스를 실행하는 것이 어떤 이점이 있습니까?인스턴스 크기가 비슷하다고 가정할 때 부하를 처리할 수 있다는 점에서 두 가지 모두 동일한 제한에 직면합니까?

사용법에 대한 자세한 정보를 알려드리기 위해 데이터베이스도 있고 너무 큰 것도 아니고 (테이블 100만 행의 가장 큰 것) 그냥 높은 SELECT 볼륨만 있습니다.

이것은 매우 복잡한 대답과 함께 간단한 질문입니다!

한마디로, RAID0 EBS를 사용하면, EC2는 최대의 퍼포먼스를 발휘합니다.RAID0 EBS를 실행하려면 상당한 양의 유지 보수 오버헤드가 필요합니다. 예를 들어 다음과 같습니다.

http://alestic.com/2009/06/ec2-ebs-raid

http://alestic.com/2009/09/ec2-consistent-snapshot

RAID0이 없는 EC2는 형편없는 I/O 성능을 제공하므로 옵션이 아닙니다.

RDS는 개봉 즉시 매우 뛰어난 (최대는 아니지만) 퍼포먼스를 제공합니다.관리 콘솔은 훌륭하고 인스턴스를 쉽게 업그레이드할 수 있습니다.하이 어베이러빌리티와 읽기 전용 슬레이브는 클릭 한 번으로 이용할 수 있습니다.진짜 대박이다.

단답: RDS를 선택하라. 아직 결정되지 않았는가?RDS를 이용하세요!!!성능을 극대화하기 위해 사소한 문제에도 불구하고 튜닝을 즐긴다면 EC2 + EBS RAID 0을 고려할 수 있습니다. MySQL 호스팅에는 Vanilla EC2가 매우 적합합니다.

투고에서는, 이하의 사이에 뛰어난 벤치마크가 있습니다.

  • 소형 EC2 + EBS에서의 MySql 실행
  • Small EC2 + EBS + 조정된 MySql 매개 변수에서 MySql 실행
  • 소형 RDS

벤치마크는 이상적인 조건(1개의 스레드만)뿐만 아니라 50개의 스레드가 데이터베이스에 도달하는 보다 현실적인 시나리오에 초점을 맞추고 있기 때문에 매우 우수합니다.

RDS는 실제로는 고가용성 시스템이 아닙니다.RDS FAQ의 상세 인쇄물을 참조해 주세요.페일오버이벤트 중에는 페일오버에 최대 3분이 소요될 수 있습니다.추가 amazon은 rds 인스턴스를 "업그레이드"해야 한다고 판단하고 그 시점에서 페일오버를 실행하여 데이터베이스를 "최대 3분" 정지시킵니다(우리의 경험으로는 이보다 더 오래 걸릴 수 있습니다).

RDS 하이 어베이러빌리티는 마스터 슬레이브 또는 마스터 슬레이브 복제와는 매우 다르며 훨씬 느립니다.이들은 mysql 복제를 사용하지 않고 일종의 ebs 복제를 사용합니다.따라서 페일오버 상황에서는 백업 머신에 EBS를 마운트하고 mysql을 시작하고 mysql이 장애 복구를 수행할 때까지 기다린 다음(매우 손상된 것은 없기를 희망함) DNS 스위치를 실행합니다.

이것이 당신의 평가에 도움이 되기를 바랍니다.

읽기 볼륨이 크고 마스터-슬레이브 복제가 필요하기 때문에 EC2 MySQL 인스턴스를 선택했습니다.물론 여러 RDS 인스턴스를 직접 스핀업하여 이들 간에 MySQL 복제를 설정할 수 있지만 EC2 인스턴스를 사용하여 이를 관리하는 Scalr.net을 사용합니다.

기본적으로 필요한 MySQL 인스턴스의 수를 Scalr에게 알려주고, 복제 설정을 자동화하며, 마스터가 종료될 경우 마스터로의 슬레이브 승격 자동 페일오버를 처리합니다.마스터의 SQL 덤프 백업과 EBS 볼륨 스냅샷을 모두 수행합니다.따라서 새 슬레이브를 생성해야 할 경우 슬레이브 DB를 초기화하기 위해 마지막 마스터 스냅샷의 EBS 볼륨을 자동으로 마운트한 다음 적절한 지점부터 복제를 시작합니다.모두 가리키고 [:]를 클릭합니다.(아뇨, Scalr 같은 회사에서는 일하지 않습니다.)Scalr는 서비스를 사용하지 않는 경우 오픈 소스로 이용할 수 있습니다.)

유지보수 기간에 관한 질문입니다.Multi-AZ를 사용하는 경우 RDS는 다른 가용성 영역에 스탠바이 복제본을 생성하여 유지보수의 다운타임이 발생하지 않도록 하고 존 장애로부터 자신을 보호합니다.

다음 주쯤에는 그렇게 할 예정입니다.물론 비용이 더 들겠지만 아직 그 정도는 해결하지 못했습니다.

EC2의 MySQL과 RDS MySQL의 비교

EC2 Amazon EC2 지역 간 복제에서 MySQL의 이점

Amazon EC2 영역 전체에서 스냅샷 복사

MySQL EC2에서의 EBS 스트라이핑 RAID 0

EC2의 MySQL에는 3TB 이상의 디스크 공간(사이즈에는 필요 없음)을 연결할 수 있습니다.

EC2에서의 MySQL의 단점

RDS와 비교한 설정, 감시 및 유지보수

RDS에서 포인트 인 타임 백업 사용 가능

현재 IOPS는 RDS MySQL보다 작음(RAID 0 이후라도), EC2의 MySQL의 경우 디스크 6개를 탑재한 10800, RDS MySQL의 경우 12500 IOPS 16KB

몇 달 전부터 RDS를 시험하고 있습니다만, 몇 가지 문제가 있습니다.

  1. SQL 프로파일러를 사용하는 것은 어렵습니다.프로파일러를 서버에 직접 접속할 수 없기 때문에 몇 가지 저장 프로시저를 실행하여 분석할 수 있는 로그파일을 작성해야 합니다.그들은 그 방법에 대해 몇 가지 제안을 하고 있지만, 그것은 사용자 친화적인 것과는 거리가 멀다.이러한 작업은 SQL 공인 전문가에게만 의뢰하는 것이 좋습니다.

  2. Amazon이 인스턴스를 백업하는 동안에는 개별 데이터베이스를 복원할 수 없습니다.고객 고유의 데이터베이스가 여러 개 있는 웹 앱이 있는데, 이 앱에서 SQL이 실행 중인 EC2 인스턴스를 실행하여 운영 RDB 데이터베이스에 연결하고 데이터를 Import한 후 EC2 인스턴스에 백업하는 것이 솔루션이었습니다.또 다른 솔루션은 서드파티 툴을 사용하여 (앱서버에) 대규모 SQL 스크립트를 생성하여 스키마를 재작성하고 데이터를 복원 포인트로 다시 채우는 것이었습니다.

이번 주말에도 같은 질문을 했어요.유지보수를 하는 RDS에는 매주 4시간의 다운타임 시간이 있습니다.EC2의 마이크로인스턴스로 회피할 수 있다면 RDS는 더 비싸다고 생각됩니다.(이것은 트래픽이 최소인 테스트인스턴스에서도 마찬가지입니다)권한이 없기 때문에 RDS 인스턴스의 타임존을 변경할 수 없었습니다.

저는 지금 다른 회사의 EC2의 mysql인 http://xeround.com/을 보고 있습니다.그들은 InnoDB를 사용하지 않고 IDG라는 자체 엔진을 가지고 있는데, 나는 이제 막 조사하기 시작했지만 그들은 베타판이고 500MB의 공간을 줄 것이다.

언급URL : https://stackoverflow.com/questions/4806272/what-are-the-respective-advantages-limitations-of-amazon-rds-vs-ec2-with-mysql

반응형