MYSQL5 Spring Batch MongoDB 빠르게 수집하기 (MongoCursorItemReader) 개요MSA 구조로 개발하면서 서비스는 점점 작은 기능 단위로 나눠지고 그로 인해 데이터 구조도 단순해지면서 MySQL과 같은 RDB에서 MongoDB 같은 NoSQL로 이동하고 있고, Spring에서도 RDB만 지원 기능이 점점 MongoDB도 지원하도록 기능이 추가되고 있다. (Spring Batch에서 MongoDB를 JobRepository로 제공 예정 https://github.com/spring-projects/spring-batch/issues/877) MongoDB를 사용하는 곳이 늘어 남에 따라 Spring Batch에서도 지속적으로 MongoDB 관련 기능이 추가되고 있는데 그중 MongoDB에서 데이터를 조회하는 MongoCursorItemReader에 대하여 알아본다. MongoPa.. 2024. 11. 8. [Spring] Flyway DB Migration 개요수년 전 개발했던 프로젝트 중 mysql 5.x 버전으로 개발된 프로젝트의 Mysql 버전을 8.x 버전으로 올리고, 간단한 마이그레이션이 필요하여 Spring sql init으로 사용하던 DB 스키마 정의를 Flyway를 적용하여 마이그레이션 한다. FlywayDatabase migrations made easyFree - API/CLI and Desktop GUIBuil on Open SourceVersion control your database migration scriptsPowered by the Flyway commnity and RedgateFlyway는 DB 마이그레이션을 지원하는 도구로 API/CLI와 GUI 툴을 제공하며 다양한 데이터베이스를 제공한다.또한 Spring Boot와 .. 2024. 8. 5. Mysql InnoDB 성능 개선(innodb_flush_log_at_trx_commit) 서비스 성능테스트를 진행하다보면 Mysql 성능이 전체 시스템 성능을 결정하는 경우가 있다.mysql 때문에 성능이 나오지 않는다면 성능을 위해 redis와 같은 다른 솔루션을 선택할 수 있지만 운영중인 서비스에서 쉽게 솔루션을 변경하기는 쉽지 않다. mysql 성능을 향상시키는 방법은 여러개가 있지만. 간단하게 설정을 변경하여 성능을 개선할 방법이 있다. innodb_flush_log_at_trx_commit 는 요약하자면 커밋 로그에 대하여 디스크 플러시가 언제 발생할지 설정할 수 있다.기본으로 1로 설정이 되어있고 1은 트랜젝션이 발생할 때마다 디스크에 플러시가 발생한다. 2로 설정하면 1초마다 디스크로 플러시가 발생하게되고, 그만큼 io가 줄어들기때문에 성능 향상을 기대할 수 있다.(단 장애시 1.. 2014. 6. 11. 선택한 row 를 기준으로 위, 아래로 row 가져오기 게시판을 보면 선택한 글을 기준으로 선택된 글이 가운데 있고 위, 아래로 글이 있는걸 볼 수 있습니다.간단하게 쿼리 한줄로 가능한데요.SELECT * from ( (SELECt id FROM posts WHERE id UNION ALL (SELECt id FROM posts WHERE id >= #선택된글번호# ORDER BY id ASC LIMIT 3) ) set_row, posts pWHERE set_row.id = p.id이런식으로 하면 선택된 글번호를 기준으로 위에 2, 아래 2개의 글이 나오게 됩니다. 2009. 3. 19. Mysql 랜덤으로 row 가져오기 프로그래밍 하다보면 간혹 랜덤으로 테이블에서 항목을 뽑아올 일이있다.간단하게 SELECT * FROM 테이블 ORDER BY RAND() LIMIT 개수항상 프로그래밍으로 id값을 랜덤하게 가져왔었는데 그냥 쿼리로 가져다 써야겠다 . 2009. 3. 4. 이전 1 다음