언제나 Nuita를 이용해 주셔서 감사합니다.
이번에 Nuita의 데이터베이스가 다이어트에 성공했습니다. 사용 메모리는 2.4GB에서 0.7GB로, 약 7할 감소입니다. 체중 70kg인 사람으로 치면 20kg이 되는 셈입니다. 게다가 예전보다 더 씩씩하게 일하고 있습니다.
지난번 싱가포르 이사에 이어, 또다시 뒤편의 이야기입니다. 여러분이 사정에 몰두하고 계시는 동안에도, 개발진은 서버 깊숙한 곳에서 몰래 일하고 있습니다.
데이터베이스가 뭔가요?
데이터베이스란 여러분의 누윗과 딸감 기록을 전부 보관하고 있는, 서비스의 심장부에 해당하는 소프트웨어입니다. 여러분이 「뽑았다!」라고 보고할 때마다 그 한 건을 꼼꼼하게 장부에 적어 넣는 담당자라고 생각해 주세요. 물론 장부의 내용은 누구에게도 보여 드리지 않습니다.
Nuita는 지금까지 MySQL(세계에서 가장 널리 쓰이는 데이터베이스 소프트웨어)을 사용해 왔습니다만, 이번에 MariaDB(MySQL을 만든 사람이 새로 만든, 말하자면 형제뻘 소프트웨어)로 갈아탔습니다. 장부의 내용은 그대로 고스란히 이어받을 수 있는데, 어째서인지 훨씬 소식가입니다.
얼마나 살이 빠졌나요?
개발진이 실제로 측정한 숫자가 이렇습니다.
- 갈아타기 전(MySQL): 메모리 사용량 약 2.4GB
- 갈아탄 후(MariaDB): 메모리 사용량 약 0.7GB
같은 장부로 같은 일을 시켰는데 이만큼 차이가 납니다. 사전에 운영 환경의 사본으로 검증해 본 결과, 검색 결과는 완전히 일치했고 페이지 표시 속도도 달라지지 않았습니다. 즉 참아야 할 것을 하나도 늘리지 않고 살을 뺀 셈입니다.
돈 이야기
서버 이용료는 메모리를 쓴 만큼 청구되는 구조입니다. 즉 데이터베이스가 살을 빼면 청구서도 살이 빠집니다.
- 갈아타기 전: 데이터베이스 비용 월 약 34,000원
- 갈아탄 후: 데이터베이스 비용 월 약 12,000원
약 3분의 1이 되었습니다. 연간으로는 약 26만 원의 절약입니다. Nuita는 여러분께 한 푼도 받지 않고 운영되고 있으므로, 가벼워진 만큼은 앞으로의 개선에 돌리도록 하겠습니다. 싱가포르 이사로 아낀 몫까지 합치면, Nuita의 서버 비용은 이번 여름에만 절반 이하가 되었습니다. 지출이 이렇게나 기분 좋게 줄어드는 것은 개발진에게 있어 일종의 사정입니다.
이사 작업은 어땠나요?
장부를 옮겨 싣는 작업을 위해 8월 24일 저녁에 약 20분 서비스를 중단했습니다. 106,420건의 누윗을 한 건도 빠뜨리지 않고 세어, 새 장부와 옛 장부의 건수가 완전히 일치하는 것을 확인한 뒤에 전환했습니다. 여러분의 사정의 역사는 단 한 발도 사라지지 않았습니다.
중단되었던 약 20분 사이에 하필 사정해 버려서 보고할 기회를 놓치신 분이 계시다면 죄송합니다. 그 한 발은 부디 마음속 타임라인에 새겨 두시기 바랍니다.
마치며
이번 갈아타기로 겉모습이나 사용법이 달라지는 곳은 전혀 없습니다. 달라진 것은 뒤편의 데이터베이스가 날씬해졌다는 것과, Nuita의 운영이 또 조금 가벼워졌다는 것뿐입니다.
혹시 문제가 있으시면 문의 폼으로 연락해 주세요. 앞으로도 Nuita를 잘 부탁드립니다.