data

· MongoDB
데이터형 몽고DB는 도큐먼트의 값으로 다양한 데이터형을 지원한다. 기본 데이터형 몽고DB에서 도큐먼트는 자바스크립트 객체와 개념적으로 닮았다는 점에서 JSON과 닮았다라고 생각할 수 있다. JSON은 데이터의 간단한 표현이다. 명세는 한 단락 정도로 설명되며 여섯 가지 데이터형만을 열거한다. 따라서 이해하고, 구문을 분석하고, 기억하기가 쉬워 여러 방면에서 유용하다. 한편으로는 데이터형이 null, 불리언, 숫자, 문자열, 배열, 객체만 지원하기 때문에 JSON의 표현력은 제한적이다. 하지만 JSON은 데이터베이스와 연동할 때는 날짜형이 따로 없어 다루기가 성가시고, 숫자형이 있기는 하지만 한 가지 뿐이다. 부동소수점형(float)과 정수형을 표현하는 방법은 없으며 32비트와 64비트도 구별되지 않는다...
· Spring
회사 업무 중에 데이터 마이그레이션을 해야했는데 약 9만건의 데이터와 13만건의 데이터를 옮기는 작업을 해야했다. Connection는 총 3개고 A Database에서 각각 B, C Database로 마이그레이션을 하는 상황이다. 업무를 하면 작성한 코드를 기준으로 예제를 정리해보겠다. 해당 예제는 Spring Boot, Gradle을 기준으로 하겠다. Spring Batch의 개념 및 설정하는 방법은 얼마전에 작성한 블로그 글을 참고 바란다. 1. application.yml Docker를 통해 mysql를 생성하고 hikariCP와 JPA를 사용해 마이그레이션 하려고 한다. spring: datasource: hikari: a-database: jdbc-url: jdbc:mysql://localho..
· Spring
앞서 Spring Batch를 소개하고 간단한 예제를 작성하고 실행해보았다. Spring Batch는 메타 테이블이 있어야 정상적으로 작동하고 MySQL을 사용할때는 직접 메타 테이블을 생성해야 한다고 했다. 그렇다면 메타 테이블에는 어떤 정보들이 있는지 간단히 알아보자. BATCH_JOB_INSTANCE BATCH_JOB_INSTANCE 테이블은 Job Parameter에 따라 생성되는 테이블이다. Job Parameter는 Spring Batch가 실행될때 외부에서 받을 수 있는 파라미터를 의미한다. 예를 들어, 특정 날짜를 Job Parameter로 넘기면 Spring Batch에서는 해당 날짜 데이터로 조회/가공/입력 등의 작업을 할 수 있다. @Slf4j @RequiredArgsConstruct..
· JPA
Spring Data JPA Spring Data JPA는 Spring Data 프로젝트 하위 프로젝트 중 하나다. Spring Data 프로젝트는 JPA, 몽고 DB, NEO4J, REDIS, HADOOP, GEMFIRE 같은 다양한 데이터 저장소에 대한 접근을 추상화해서 개발자 평의를 제공하고 지루하게 반복하는 데이터 접근 코드를 줄여둔다. Spring Data JPA는 스프링 프레임워크에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트다. Spring Data JPA는 애플리케이션을 실행할 때 basePackage에 있는 리포지토리 인터페이스들을 찾아서 해당 인터페이스를 구현한 클래스를 동적으로 생성한 다음 스프링 빈으로 등록한다. 그래서 JpaRepository만 상속받고 구현체를 구현하지..
· JPA
JPA란? 자바 ORM 기술에 대한 표준 명세로, JAVA에서 제공하는 API 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. SQL을 매핑하지 않고 자바 클래스와 DB테이블을 매핑한다. ORM이란? Object Relation Mapping의 약자로 객체를 통해 간접적으로 DB를 다루고 객체와 데이터를 자동으로 매핑한다. Query가 아닌 메서드로 데이터를 생성하고 조작할 수 있다. JPA 동작 과정 JPA는 애플리케이션과 JDBC 사이에서 동작한다. 개발자가 JPA를 사용하면, JPA 내부에서 JDBC API를 사용하여 SQL을 호출하여 DB와 통신한다. 즉, 개발자가 직접 JDBC API를 쓰는 것이 아니다. JPA 특징 데이터를 객체지향적으로 관리할 수 있기 때문..
beekei
'data' 태그의 글 목록