일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- sql
- 운영체제
- 종류
- TCP
- 데이터 웨어하우스
- dockerfile
- redshift
- 데이터 엔지니어링
- Django
- 자료구조
- 가상환경
- 데이터 파이프라인
- 정리
- PYTHON
- 컴퓨터 네트워크
- HADOOP
- airflow
- linux
- http
- TIL
- AWS
- 데이터엔지니어링
- 파이썬
- airflow.cfg
- 데브코스
- Docker
- S3
- Go
- 컴퓨터네트워크
- 데이터베이스
- Today
- Total
홍카나의 공부방
[AWS] Amazon Aurora 정리 본문
Amazon Aurora(오로라)
- AWS에서 자체적으로 구축한 RDBMS로, 오픈소스는 아니지만 Postgres와 MySQL과 호환된다.
( 즉, Aurora 데이터베이스에 호환되는 driver가 Postgres와 MySQL에서도 작동한다는 의미다. )
- MySQL는 5개이지만 Aurora는 15개의 읽기 전용 복제본(replica)을 둘 수 있으며, 복제 속도도 빠르다.
- 다른 RDS 보다 비용이 20% 높지만, 효율성은 그 이상의 값어치를 한다.
- 오로라는 높은 가용성(High Availability)과 읽기 스케일링(Read Scaling)이라는 특징이 있다.
- 오로라는 write할 때마다 3개의 AZ에 걸쳐 6개의 사본(Data Copies)을 저장한다.
- 하나의 인스턴스만이 Master Instance 개념으로 Write 명령을 받게 되며, Master 인스턴스가 작동하지 않으면 30초 이내로 장애 조치가 시작된다. 마스터 외에는 15개의 읽기 전용 복제본(replica)을 둘 수 있다.
- 일부 데이터에 손상이 있으면, 백엔드 단에서 P2P 복구 과정을 진행한다.
- 단일 볼륨에 의존하지 않고, 수 백 개의 볼륨을 사용한다.
Aurora DB Cluster
- 기본적으로 클라이언트는 Writer Endpoint로 마스터 인스턴스에 접근한다.
- 마스터 인스턴스는 10기가부터 128테라까지 확장가능한 Cluster Volume에 Write하게 된다.
- Reader Endpoint는 모든 읽기 전용 복제본(Replica)에 자동으로 연결되며, 연결 단에서 로드 밸런싱의 역할을 수행한다.
- 즉, 읽기 작업을 여러 복제본에 분산시키며 성능을 향상시킨다.
- 읽기 전용 복제본들은 Auto Scaling이 지원된다.
Amazon Aurora ML
- Amazon SageMaker, Amazon Comprehend와 연동되어 머신러닝 분석이 가능하다.
- 예를 들어서, 아래 쿼리처럼 제품 리뷰 테이블을 하나 만들고, 여기에 제품에 대한 리뷰 레코드들을 저장했다고 가정하자.
CREATE TABLE IF NOT EXISTS comments (
comment_id INT AUTO_INCREMENT PRIMARY KEY,
comment_text VARCHAR(255) NOT NULL
);
INSERT INTO comments (comment_text)
VALUES ("This is very useful, thank you for writing it!");
INSERT INTO comments (comment_text)
VALUES ("Awesome, I was waiting for this feature.");
INSERT INTO comments (comment_text)
VALUES ("An interesting write up, please add more details.");
INSERT INTO comments (comment_text)
VALUES ("I don’t like how this was implemented.");
- 해당 리뷰들을 감성 분석하기 위해서는, SQL 함수 중에서 aws_comprehend_detect_sentiment와 aws_comprehend_detect_sentiment_confidence를 사용할 수 있다.
SELECT comment_text,
aws_comprehend_detect_sentiment(comment_text, 'en') AS sentiment,
aws_comprehend_detect_sentiment_confidence(comment_text, 'en') AS confidence
FROM comments;
aws_comprehend_detect_sentiment 함수가 레코드 하나하나의 센티먼트(감성)가 긍정인지, 중립인지, 아니면 부정인지 classification하며, confidence로 해당 감성 분석의 신뢰도도 측정할 수 있다.
즉, Aurora를 이용하면 SQL 쿼리 만으로도 머신러닝 분석을 할 수 있다는 얘기다.
자세한 사항은 아래 공식 문서를 참고한다.
'Cloud Engineering > AWS' 카테고리의 다른 글
[AWS] Lambda 기초 (0) | 2024.02.28 |
---|---|
[AWS] S3 객체 암호화 (0) | 2024.02.21 |
[AWS] Route 53 CNAME vs Alias (0) | 2024.02.19 |
[AWS] EBS와 EFS의 차이점 (0) | 2024.02.07 |
[AWS] EC2 Instance 유형 (0) | 2024.02.05 |