최근에 뭘 좀 해보겠다고 금융 데이터를 모으고 있습니다. 데이터 생성이 쉬운 CSV형태로 보관하고 있었는데, 여러 가지를 조합해서 데이터를 만들려니, DB형태로 저장하는 게 더 나을 것 같다는 생각을 했습니다. DB가 더 익숙하기도 하거니와 데이터를 조합해서 보려면 데이터를 로딩하고, 코드를 변경해야 하는 게 불편했습니다. 데이터가 데스크톱에 있다 보니, 집에서만 확인할 수 있었기에, 어디서든 생각날 때, 확인하고 싶었습니다.
지금까지 모아진 데이터는 약 1.3기가 정도 됩니다. 그리고 아직까지 취미로 하는 것이기에 비용을 따로 들이고 싶지는 않았습니다. 위의 두 가지 이유로 클라우드 DB 중 무료로 사용할 수 있는 것들을 찾아봤습니다.

제일 먼저 확인한 것은 Firebase였습니다. 무료로 사용할 수 있는 양을 보니 1Gb 까지였고, 이후로는 과금이 시작되었습니다. 제일 기대했던 firebase의 무료 제공량이 1Gb라는데 살짝 실망하고, 일부만 Firebase에 올리는 것도 생각해 보았으나, 지금보다 편할 것 같지는 않았습니다.

다음으로 AWS RDS를 고려했는데, 20Gb까지 사용할 수 있고, 월 750 시간을 12개월간 무료로 사용할 수 있습니다. 20Gb라는 큰 용량을 사용할 수 있고, 무료로 백업까지 해주니 가장 좋은 옵션으로 보였습니다. 다만 제가 이미 EC2 프리티어를 사용했었기에, 다시 계정을 만들어야 하고 내년에 다시 옮겨야 하는 개인적인단점이 있었습니다.
그리고 이건 처음에는 생각 못하고 있었는데, 집에서 쓰고 있는 NAS에 DB를 설치하는 것입니다. Docker를 설치할 수 있으니 거기에 DB를 올려보자라고 생각했습니다. 다만, 이 경우, 운용이나 백업을 어떻게 해야 하나를 고민이 필요했습니다만, 가장 현실 적인 대안이 아닐까 생각했습니다. 그리고 Docker를 설치하기 위해 패키지 센터를 열었는데,

MariaDB가 떡하니 보이네요. 마음을 진정하고 일단 설치를 누릅니다.

패키지가 다운로드가 완료되고 root 패스워드를 입력하면 DB를 설치하기 시작합니다. 포트 기본 값이 3307이네요.

설치가 완료되고 나면 사용할 볼륨과 TCP 연결 여부를 설정할 수 있고, 적용을 누르면 MariaDB가 시작합니다. 데스크톱에서 워크벤치를 실행해서 관리해도 되지만, NAS에 phpMyAdmin도 패키지로 설치할 수 있어서 같이 설치했습니다.

설치를 마치면 사용자명과 암호를 입력해서 DB에 접속할 수 있습니다.


디자인이 좀 투박하긴 하지만, 뭐 나쁘지 않습니다. 일단 맨 위에 메뉴로 보이는 내보내기 기능으로 백업하고 가져오기로 복원하면 되겠다는 생각이 들었습니다.
처음부터 이것저것 했던 고민이 의미가 없어져 버렸습니다. 귀찮더라도 매년 계정을 갱신해서 AWS를 사용하는 것을 선택하려고 했었는데, 쉽게 해결이 돼버렸습니다. 이제 백업만 해결하면 됩니다.
백업은 평소 서버에서 하듯이, 작업 스케쥴에 DB dump shell을 짜서 넣으면 되겠다 싶었습니다. 그전에 혹시 백업은 안 해주나?라는 생각에 문서를 찾아봤습니다.
역시! 있습니다.

하이퍼 백업이라는 툴을 통해서 할 수 있다라고 간단히 불친절하게 설명되어 있습니다. 하는 김에 백업 설정까지 했습니다. ( 하이퍼 백업을 처음 해봐서, 어떻게 해야 하는지 잘 몰랐고, MariaDB 옵션을 선택하기까지 여정이 복잡하여 좀 헤매었습니다. )

하이퍼 백업을 실행하고

백업이 될 위치를 지정해 줍니다. (백업 대상이라고 써있어서, 여기에 mariaDB가 있어야 한다고 생각해서 헤매었습니다. ) 저는 안 쓰는 드롭박스 계정이 있어서 그걸 사용하기로 했습니다.

드롭 박스에 접근이 가능하도록 권한을 주고,

드롭박스에 백업을 위한 폴더를 생성하고 디렉토리를 지정해 줍니다.


그리고 백업할 대상 폴더로 웹을 선택하면 그제서야 마리아 DB를 선택할 수 있습니다.

그런 다음 다음 스케줄을 선택합니다. 저는 매일 12:50분에 백업되도록 했습니다. 주로 퇴근 이후에 데이터를 만지고, 12:50분이면 제가 점심 먹을 시간이므로 가장 사용빈도가 적을 테니까요.


마지막으로 백업 파일의 로테이션을 지정하고 적용을 누르면 설정이 마무리됩니다. 저는 데이터 양 때문에 5일간의 데이터만 보관하는 걸로 설정했습니다. 추후 데이터가 어느 정도 데이터를 모으면 백업 로테이션을 더 줄일까 생각 중입니다.

이제 백업 설정까지 모두 마무리되었습니다.
데이터를 저장하기 위해 헤맸던 클라우드 탐색 여정은 싱겁게 끝이나 버렸습니다. 나스를 산지 5년이나 됐는데 아직도 기능을 다 모르는구나 싶기도 한데, 5년 만에 이제 돈값을 하는 것 같아 뿌듯합니다.