본문 바로가기
반응형

MySQL16

서로 다른 계정의 RDS에 대량 데이터 복사하기 다른 계정의 RDS 데이터를 대량으로 복사해야할 때가 있습니다. 예를 들어 테스트를 위해 운영 DB의 데이터를 개발 DB로 복사해야하는 등의 일이 될수 있겠죠? 이런 일이 있을때 해결할 수 있는 방법 2가지를 소개합니다. 1. 스냅샷으로 전체 백업하기 RDS간 데이터 복사에 가장 흔한 방법이 스냅샷을 이용하는 것입니다. 여기선 좀 더 현실감 있고, 이해하기 쉽게 운영 RDS의 데이터를 개발 RDS로 복사하는 과정이라고 하겠습니다. 다만 스냅샷은 새로운 DB를 생성할때만 사용할 수 있습니다. 기존 DB에 데이터를 넣을때는 사용할 수 없습니다. 만약 전체 데이터와 스키마를 이미 생성된 DB에 넣고 싶다면 DB Dump를 사용해보세요. 먼저 운영 RDS의 Snapshots 페이지로 가보겠습니다.대부분의 RDS.. 2018. 8. 30.
8) 스프링부트로 웹 서비스 출시하기 - 8. 운영 환경 설정 저번시간까지 배포 환경에 대한 설정을 진행했습니다! 이제는 서비스 중단 없이 배포가 가능한 상태가 되었는데요. 이대로 서비스 하면 될까요? 뭔가 하나 놓친게 있지 않으신가요? 현재는 스프링부트에서 실제 운영 DB의 설정을 갖고 있지 않습니다. 즉, 아직은 프로젝트가 AWS RDS와 연동된 상태가 아닙니다. 그래서 이번 시간엔 스프링부트와 운영 DB 접근 등의 실제 운영환경 설정을 진행하겠습니다. 8-1. 운영 DB 접근 저번 시간에 저희는 운영 YAML (real-application.yml)만 별도로 분리해 EC2 서버에 추가했습니다. 간단하게 생각하면 운영 DB 접속 정보는 real-application.yml에 추가하면 됩니다. 하지만 이렇게 될 경우 set1, set2 설정에 같은 내용을 반복 추.. 2018. 2. 8.
[mysql] 대용량 테이블 스키마 변경하기 데이터가 100만, 1000만 정도일때 테이블 스키마 변경은 alter table로 가능했습니다. 천만건이라도 alter table은 5분안에 끝났기 때문입니다. 하지만 1억건이 넘어가면 이야기가 달라집니다. 3~4시간동안 진행될수도 있기 때문에 다른 방법으로 진행해야합니다. (대단한 방법은 아닙니다^^;) 간단한 내용이지만 필요하실 분들이 계실것 같아 작성하였습니다. 본문 전체적인 과정은 간단합니다. 복사테이블 생성 -> 복사테이블에 원본 테이블 데이터 복사 -> 테이블 이름 변경 순으로 진행됩니다. 그 사이에 짜잘한 내용들을 추가하였습니다. 모든 내용은 정기점검 등으로 외부에서 DB 사용이 중지된때라는 가정하에 진행합니다. 소개드리는 방법이라 하더라도 40~50분정도의 시간이 필요합니다. 1. 기존 .. 2017. 11. 8.
[mysql] 인덱스 정리 및 팁 MySQL 인덱스에 관해 정리를 하였습니다. MySQL을 잘 알아서 정리를 한것이 아니라, 잘 알고 싶어서 정리한 것이라 오류가 있을수도 있습니다. 1. 인덱스란? 인덱스 == 정렬 인덱스는 결국 지정한 컬럼들을 기준으로 메모리 영역에 일종의 목차를 생성하는 것입니다. insert, update, delete (Command)의 성능을 희생하고 대신 select (Query)의 성능을 향상시킵니다. 여기서 주의하실 것은 update, delete 행위가 느린것이지, update, delete를 하기 위해 해당 데이터를 조회하는것은 인덱스가 있으면 빠르게 조회가 됩니다. 인덱스가 없는 컬럼을 조건으로 update, delete를 하게 되면 굉장히 느려 많은 양의 데이터를 삭제 해야하는 상황에선 인덱스로 지.. 2017. 11. 5.

728x90