[Django] Sqlite DB를 Mysql DB 변환(1)

Posted by MIKY   2025-05-05

Django   mysql   Sqlite  

Sqlite를 Mysql로 바꾸는 이유는 무엇일까?

먼저 각각의 장단점을 알려드리겠습니다.

sqlite의 장점

  1. 별도의 설치 과정 및 서버가 필요 없으며, 즉시 사용이 가능합니다.
  2. 소규모 프로젝트에 적합하며, 개인이 혼자 사용하기에는 매우 편리합니다.

sqlite의 단점

1.확장성이 뛰어나지 않습니다.
2.동시에 작업이 힘듭니다.

Mysql의 장점

1.대규모 애플리케이션 작업에 용이합니다.
2.다중 사용자 환경에 적합하여, 동시 작업이 가능합니다. 그렇기에 확장성이 뛰어납니다.

Mysql의 단점

1.별도의 서버를 구축해야 사용가능함에 따라, 비용이 발생합니다. 2.복잡한 설정이 가능하고, 기능이 많아 익히려면 시간이 필요합니다.

그럼에도 바꾸는 이유는?

  1. 제가 현업에서 느끼기에는 혼자 모든 일을 할 수 없기에 동시 작업은 필수적이라 생각합니다.
  2. 제가 사용하는 DB인 Sqlite의 한계점이 이제는 보이고, 느껴지기 때문에 바꾼 후에 새로운 DB를 설계하여 좀 더 확장성 있는 블로그를 만들기 위해서 입니다.
  3. 근래에는 여러가지 보안 이슈들을 보며, 좀 더 복잡하더라고 보안이 뛰어난 DB를 사용하고 싶었기 때문입니다.
  4. 2번과 관련이 있는 부분이지만, 웹사이트 설계를 하는 아키텍처 설계 시 Sqlite의 확장성은 발목을 잡기 때문입니다.

    아키텍처 설계는 여러가지 방법이 있겠지만, 현재 저의 계획은 가장 익숙한 Django ORM을 메인으로 하여, 새로운 백엔드 프레임워크들을 적재 적소에 사용하여, 최적화 된 블로그를 만들고 싶으나, 그 부분에 있어 Sqlite의 한계점이 현재는 명확하게 느껴진다고 생각합니다.

그렇기에 1,2,3,4이라는 큰 생각을 바탕으로 DB를 바꾸기로 마음먹었습니다!

그렇다면 새로운 DB를 쓰려면 기존 데이터는 버려야 될까?

물론 DB설정을 바꾼 후 처음부터 새롭게 데이터를 넣는 방법도 있습니다. 하지만 기존 데이터가 아깝기도 하고, 저희는 IT인들로써 그런 여러 부분들을 해결하고 고민하는 사람들이기에 방법을 생각해봤습니다.

이제 시작합니다. 절차를 보며 하나씩 따라해주세요!

목차 1. Mysql를 설치한다. 2. 데이터베이스를 만듭니다. 3. 기존 Sqlite 설정인 상태에서 DB.json 덤프 파일을 만듭니다. 4. 현재 Django 프로젝트 셋팅을 만든 Mysql 셋팅으로 변경합니다. 5. 그 후 Python manage.py migrate를 실행합니다. 6. 마지막으로 덤프 파일을 Mysql DB에 이식해줍니다.

이번에는 글을 조금 나누어서 작성하여, 모두의 스크롤 압박을 완화하도록 해보겠습니다. 이 이후는 다음 글로 이어집니다.

Comments