관리 메뉴

CASSIE'S BLOG

ec2 mysql 배포 -> mongoDB Atlas 마이그레이션 본문

PROGRAMMING/프로젝트

ec2 mysql 배포 -> mongoDB Atlas 마이그레이션

ITSCASSIE1107 2024. 7. 13. 17:30

ec2 월 3만원씩 든다.

 

무료 mongodb로 마이그레이션하는 것으로 결정했다. 

 

무료 mysql 웹페이지가 미국꺼는 많은데 너무 복잡하고..지원이 안되는게 많았다.

 

검토한 웹페이지는 

render.com

000webhost

 

이미 다 mysql로 구축한 자바 프로그램을 바꿔야하는데 생각보다 간단한 것 같아서 정리해본다. 

 

jpa로 다 이미 자동으로 테이블 만들어지게 설정했으니까 그냥 pom.xml에 의존성 mongodb로 설치하고 mongodb 클라우드 주소만 연결해보는 걸로 시도해보기

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

 

mongodb not found 떴을 때 프로젝트 눌러서 reload하면 에러 빨간줄 사라짐. 

 

cloud 가서 먼저 create database 해준다.

 

하위 개념이라서 collection name인데 일단 아무거나 만들어본다. 나중에 휴지통으로 지우면 됨.

 

 

MongoDB로 전환할 때 고려사항

  1. 데이터 모델 변경:
    • JPA로 작성된 엔티티를 MongoDB 도큐먼트 형태로 변경해야 합니다.
    • 관계형 데이터베이스의 테이블 구조를 MongoDB의 도큐먼트 구조에 맞게 변환해야 합니다.
  2. 리포지토리 변경:
    • JPA 리포지토리 인터페이스 대신 MongoDB 리포지토리 인터페이스를 사용해야 합니다.

 

shit .. 그러면 안되겠다. 

 

결론

  • JPA로 작성된 데이터 구조는 MongoDB와 호환되지 않으므로, 코드를 수정해야 합니다.
  • 데이터베이스 마이그레이션이 필요하며, MongoDB의 특성을 고려하여 데이터 모델을 재설계해야 합니다.

이런 과정이 번거로울 수 있지만, MongoDB는 비관계형 데이터베이스로서 다른 장점도 제공하니, 필요에 따라 적절히 선택하시면 됩니다.

 

 

MySQL은 정형 데이터(관계형 데이터베이스) 시스템이고, MongoDB는 비정형 데이터(비관계형 데이터베이스) 시스템입니다. MongoDB는 NoSQL 데이터베이스의 한 종류로 분류됩니다.

정형 데이터 vs 비정형 데이터

  • 정형 데이터 (Structured Data):
    • 관계형 데이터베이스에서 사용되며, 고정된 스키마를 가지고 있습니다.
    • 예: MySQL, PostgreSQL
  • 비정형 데이터 (Unstructured Data):
    • 스키마가 없거나 유연하며, 다양한 형식의 데이터를 저장할 수 있습니다.
    • 예: MongoDB, Cassandra

 

반응형