본문 바로가기
반응형

2018/089

서로 다른 계정의 RDS에 대량 데이터 복사하기 다른 계정의 RDS 데이터를 대량으로 복사해야할 때가 있습니다. 예를 들어 테스트를 위해 운영 DB의 데이터를 개발 DB로 복사해야하는 등의 일이 될수 있겠죠? 이런 일이 있을때 해결할 수 있는 방법 2가지를 소개합니다. 1. 스냅샷으로 전체 백업하기 RDS간 데이터 복사에 가장 흔한 방법이 스냅샷을 이용하는 것입니다. 여기선 좀 더 현실감 있고, 이해하기 쉽게 운영 RDS의 데이터를 개발 RDS로 복사하는 과정이라고 하겠습니다. 다만 스냅샷은 새로운 DB를 생성할때만 사용할 수 있습니다. 기존 DB에 데이터를 넣을때는 사용할 수 없습니다. 만약 전체 데이터와 스키마를 이미 생성된 DB에 넣고 싶다면 DB Dump를 사용해보세요. 먼저 운영 RDS의 Snapshots 페이지로 가보겠습니다.대부분의 RDS.. 2018. 8. 30.
2018년 상반기 회고 2017년 회고에서 얘기했었지만, 이제부터는 1년 단위가 아닌 분기 혹은 반기 단위로 회고를 남길 계획이다. 원래는 분기 단위로 하려고 했었지만, 3월에 개인 사정으로 1분기가 그냥 지나가버리고 4월부터는 신규 프로젝트로 바빠서 어쩔수 없이 상반기로 회고를 하게 됐다. 상반기인데 7월도 아니고 웬 8월에 상반기 회고냐 라고 생각할수도 있다. 회사 프로젝트가 7월 말에 최종 오픈하고 8월 초에는 오픈 안정화를 하다보니 늦어지게 됐다. 그래도 프로젝트가 잘 끝나서 기분 좋게 회고를 쓴다. 회사 회사의 일은 2개의 챕터로 분리할 수 있을것 같다. 1 ~ 2 월 - 정산 시스템 운영 기억이 가물가물해서 Jira 티켓을 보니 1월까지는 신규 SAP 연동 시스템 연동작업을 계속 했었다. 작년 연말에 정산 파트의 연.. 2018. 8. 26.
6. Spring Batch 가이드 - Chunk 지향 처리 Spring Batch의 큰 장점 중 하나로 Chunk 지향 처리를 얘기합니다. 이번 시간에는 Chunk 지향 처리가 무엇인지 한번 살펴보겠습니다. 6-1. Chunk? Spring Batch에서의 Chunk란 데이터 덩어리로 작업 할 때 각 커밋 사이에 처리되는 row 수를 얘기합니다. 즉, Chunk 지향 처리란 한 번에 하나씩 데이터를 읽어 Chunk라는 덩어리를 만든 뒤, Chunk 단위로 트랜잭션을 다루는 것을 의미합니다. 여기서 트랜잭션이라는게 중요한데요. Chunk 단위로 트랜잭션을 수행하기 때문에 실패할 경우엔 해당 Chunk 만큼만 롤백이 되고, 이전에 커밋된 트랜잭션 범위까지는 반영이 된다는 것입니다. Chunk 지향 처리가 결국 Chunk 단위로 데이터를 처리한다는 의미이기 때문에 그.. 2018. 8. 25.
5. Spring Batch 가이드 - Spring Batch Scope & Job Parameter 이번 시간에는 Spring Batch의 Scope에 대해서 배워보겠습니다. 여기서 말하는 Scope란 @StepScope, @JobScope를 얘기합니다. 무의식적으로 사용하는 이 어노테이션들이 실제로 어떤 일들을 하는지 알아보겠습니다. 그리고 이 둘과 떨어질 수 없는 Job Parameter도 함께 배워보겠습니다. 5-1. JobParameter와 Scope Spring Batch의 경우 외부 혹은 내부에서 파라미터를 받아 여러 Batch 컴포넌트에서 사용할 수 있게 지원하고 있습니다. 이 파라미터를 Job Parameter라고 합니다. Job Parameter를 사용하기 위해선 항상 Spring Batch 전용 Scope를 선언해야만 하는데요. 크게 @StepScope와 @JobScope 2가지가 있.. 2018. 8. 17.
Mac에 Java 여러 버전 설치 & 사용하기 Java9부터 jshell이 등장했습니다. 그러다보니 가끔 간단한 Java 코드 작성이 필요할때 굳이 IDE 실행 없이 마치 Bash를 작성하듯이 간단하게 코드를 작성할 수 있게 되었습니다. 하지만 대부분의 프레임워크와 라이브러리가 Java8에 최적화되어있어 함부로 버전업하기가 쉽지 않은데요. 그런 경우를 대비해 jenv가 있습니다. 이번 시간에는 Mac 환경에서 기존에 사용하는 Java와 Java10을 함께 사용하는 방법을 공유드리겠습니다. 현재 제 PC에는 Java8이 설치되어있어 Java8과 Java10을 함께 사용하는 과정이 됩니다. 1. Homebrew Cask 일단 Homebrew를 최신으로 업데이트 합니다. brew update && brew upgrade brew-cask && brew c.. 2018. 8. 13.
4. Spring Batch 가이드 - Spring Batch Job Flow 자 이번 시간부터 본격적으로 실전에서 사용할 수 있는 Spring Batch 내용들을 배워보겠습니다. 작업한 모든 코드는 Github에 있으니 참고하시면 됩니다. 앞서 Spring Batch의 Job을 구성하는데는 Step이 있다고 말씀드렸습니다. Step은 실제 Batch 작업을 수행하는 역할을 합니다. 이전에 작성한 코드를 보시면 Job은 코드가 거의 없죠? 실제로 Batch 비지니스 로직을 처리하는 (ex: log.info()) 기능은 Step에 구현되어 있습니다. 이처럼 Step에서는 Batch로 실제 처리하고자 하는 기능과 설정을 모두 포함하는 장소라고 생각하시면 됩니다. Batch 처리 내용을 담다보니, Job 내부의 Step들간에 순서 혹은 처리 흐름을 제어할 필요가 있는데요. 이번엔 여러 .. 2018. 8. 12.

728x90
반응형