개발이야기 007. talkit.bank 개발 서버 준비를 위한 데이터베이스 이야기

in kr •  2 days ago 

image.png

안녕하세요 @talkit.bank 입니다.

저는 구상만 하는 것을 별로 좋아 하지 않아서 ^^

개발 서버와 운영서버 분리를 생각하고 있습니다.

그래서 제 본 계정에

[개발이야기#075] 메시지 기반 처리 서비스 apache kafka vs apache activemq vs oracle connect hub — Steemit

위 글을 작성했습니다. ^^

업무를 메시지 서비스 기반으로 작성하기도 하지만,

데이터베이스의 실시간 백업을 고려해서 T.T

Kafka를 사용하기도 합니다.

저는 준실시간 백업을 고려하고 있고, 백업 서버겸으로 만들고 있는데

우선 제가 사용자고 있는 Oracle 클라우드가 T.T 메모리가 1GB 입니다.

그런데 카프카는 최소 2GB의 Free 메모리와 10GB의 Free 디스크를 원하고 있습니다. ㅎㅎㅎ

그래서 카프카는 메시지 기반 서비스용으로 남겨 두고, 다른데서 좀 메모리가 넉넉한 서버를 한대 사가지고 작업할 계획입니다.

그래서 python으로 어떻게 개발 해보자 해서 해봤는데

이것도 Oracle 클라우드에서 제가 root 권한을 가진게 아니라서 T.T

안되는 것 같습니다.

이제는 진짜로 로직을 고민하고 고민한 로직으로 개발을 해야할 것 같습니다.

물론 python으로 개발할 계획이구요.

위에서 한일은 python으로 mysql binlog를 읽고, 해당 binlog의 이벤트를 이용해서 거의 실시간 이관을 하는 것이었는데 ^^

제가 개발할 내용은

무식합니다.

1 Source MySQL에 접속한다.

2 원하는 테이블의 데이터를 1000건만 조회해 온다.

3 Target MySQL에 접속한다.

4 원하는 테이블에서 소스에서 조회한 내용이 PK가 있는지 조회 한다.

5 이벤트를 찾을 수 없기 때문에 해당 PK의 모덴 데이터를 조회한다.

6 해당 데이터가 동일하면 다음으로 넘어간다.

7 해당 데이터가 다르면 Update 한다.

8 PK 조회시 해당 데이터가 없으면 Insert 한다.

9 이작업을 10분 마다 반복하는 스케쥴러를 작성한다.

입니다.

제가 하려고하는 작업은 개발 서버 구축이어서 ^^ 1000건 정도로 했습니다.

백업 서버라면 저기에서 양을 좀 더 늘리고 트랜젝이 더 많을 수도 있으니까요 ^^

그리고 처음에 운영서버에 있는 내용을 백업해서 백업서버로 초기 이관을 해준다.가 추가 되겠습니다.

머리는 아프지만, 한번 만들어 보려고 합니다.

만들면서 또 글 적겠습니다.

감사합니다.



Posted through the ECblog app (https://blog.etain.club)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Upvoted! Thank you for supporting witness @jswit.