728x90 반응형 분류 전체보기279 [PostgreSQL] DB Test 서버 세팅하기 (feat. Data dump) 기존에 Test Server가 따로 없어 Dev Server의 DB를 사용하여 Test Case들을 작성했더니 데이터가 변경되며 문제가 생겨 Test용 DB Server를 구축하는 과정이다..Postgres 서버 세팅하기우선 개발 서버의 데이터베이스의 스키마와 데이터를 포함한 전체를 그대로 복사해와야 하기 때문에 개발 서버의 PostgreSQL 버전과 설치 경로 등을 먼저 확인하고 똑같은 경로에 설치 후 접근 권한이나 사용자 권한 등을 세팅해주면 된다. 서버 세팅이 끝났으면 데이터베이스를 복사해오면 되는데 그 전에 꼭 해줘야 할 작업이 있다. ! 테이블 스페이스 디렉터리 생성 !PostgreSQL의 dumpall은 전체 데이터베이스 클러스터를 덤프하는 유틸리티로 데이터베이스 객체의 스키마와 데이터를 덤프.. 2024. 3. 17. [PostgreSQL] generate_series() 숫자/날짜 시퀸스 생성 Query에서 숫자 또는 날짜에 대한 시퀸스 데이터를 생성하여 사용할 수 있다. Query문을 작성하다 보면 반복되는 숫자, 날짜 데이터가 필요한 경우가 있는데 Postgresql에서는 generate_series() 함수로 순차적인 숫자 또는 날짜 데이터를 생성할 수 있또록 지원한다. python의 for문과 비슷한 형식이다. generate_series() 함수란? 'generate_series()' 함수는 PostgreSQL에서 사용되는 유용한 함수 중 하나로, 숫자 또는 날짜에 대한 범위 데이터를 생성하는데 사용된다. 주로 테이블에 가상의 데이터를 생성하거나 특정 범위에 대한 반복 작업을 수행할 때 유용하다. generate_series(start, stop, step) start: 시작 값 st.. 2024. 3. 10. [Intellij IDEA] Intellij 느려짐 문제 해결하기 (Memory↑) Intellij 자체 메모리 사용량을 늘려 느려짐, 버벅거림 등의 현상 개선 회사에서 개발 업무를 하다보면 프로젝트의 여러 버전을 같이 봐야하거나 비교, 데이터 검증 등의 작업을 할 때 Intellij 프로젝트 창을 2~3개 띄워 서버를 돌리게 되는데 그렇게 되면 Intellij는 생각보다 많은 리소스를 잡아먹는다. 이러한 이유로 속도가 느려지고 종종 끊기거나 강제로 종료되버리는 등의 현상이 발생할 수 있는데 우선 PC의 스펙이 밑의 사진과 같이 JetBrains에서 말하는 시스템 요구 사항보다 부족하다면 PC스펙을 업그레이드 해야한다.. 하지만 PC스펙이 충분한데도 위와 같은 문제가 발생한다면 Intellij가 사용할 수 있는 리소스가 적은것이다. 즉 Intellij의 메모리 사용량을 늘려주면 쉽게 해.. 2024. 3. 3. [PostgreSQL] Postgre 인덱스(index) 사용 방법 Postgre에서 인덱스를 조회, 생성, 삭제, 확인하는 방법과 인덱스를 어디에 어떻게 생성해야 하는지 인덱스는 조회 속도를 향상시킬 수 있는 중요한 역할을 한다 .하지만 인덱스를 막 사용하게 되면 인덱스를 효울적으로 사용하지 못하기도 하고, 오히려 삽입, 수정, 삭제 등의 연산 작업을 느리게 하여 역효과가 날 수 있다. 인덱스는 어떤 컬럼에 걸어야 할까?기본키(Primary Key): 기본키는 테이블에서 각 행을 고유하게 식별하는데 사용되기 때문에 자동으로 인덱스가 생성된다. 외래키(Foreign Key): 외래키를 포함하는 컬럼은 다른 테이블과의 관계를 나타내므로 조인 연산 및 외래키 제약조건 검색을 최적화하는데 도움된다. 조회(검색)가 자주 발생하는 컬럼: 데이터 검색 (WHERE, JOIN, .. 2024. 2. 24. [Database] 데이터베이스 성능 최적화 작업 (feat. Data Mart) 대량의 데이터 처리로 부하가 많은 기능에 대한 속도 개선을 위한 Database 성능 최적화 작업 프로젝트를 개발하다 보면 간단하게 처리할 수 있는 기능들도 있지만 매우 많은 양의 데이터를 복잡하게 처리해야 하는 기능들도 필요하다. (이런 시간/공간 복잡도가 높은 기능들을 잘 처리해야 프로젝트의 성능을 높일 수 있다!) 우선 어떤 부분에서 어느 로직이 문제인지 정확하게 파악하는게 중요한데 이 글에서 다루고자 하는 경우는 대량의 통계 데이터를 with, group by, join이 무분별하게 사용된 매우 복잡한 쿼리로 처리하다 보니 데이터베이스에서 데이터를 처리하는 속도가 매우 늦어져서 발생한 성능 이슈이다. 데이터베이스 성능 최적화에는 인덱스 튜닝, 쿼리 최적화, 정규화/비정규화, 캐시 사용, 데이터 분.. 2024. 2. 24. [SpringBoot] Thread starvation or clock leap detected (feat. 쓰레드 기아 현상) 트러블슈팅 Spring을 위해 열일하는 우리의 작고 귀여운 EC2가 자주 죽는 이유인 쓰레드 기아 현상이란? 제목에 있는 Thread starvation or clock leap detected 해당 에러가 어떤 에러이며, 왜 발생하는지 또 해당 에러로 인한 문제와 해결 방법에 대해 알아보자. 우선 EC2 서버가 갑자기 다운되는 상황은 자원 부족, 예외 처리 미흡, 서버 설정 문제 등 이 외에도 매우 다양한 원인들로 인해 갑작스럽게 돌연사 해버릴 수 있는 개복치 같은 서버의 사망 원인을 파악하기 위해서는 가장 쉬우면서도 중요한 서버의 로그를 확인해보면 서버의 상태나 죽었다면 죽은 이유를 파악할 수 있다. 서버가 이런 로그를 계속하여 뱉어냈다면 이 글에서 다루는 쓰레드 기아 문제이다. WARN 23318 --- [l.. 2024. 2. 11. [SQL] 파티션(Partition) 사용하여 데이터 조회하기. 파티션은 데이터를 효율적으로 저장하고 관리하기 위한 기술로, 테이블이나 인덱스를 더 작은 논리적(물리적) 단위로 분할하는 것을 의미한다. 주요 특징1.성능 향상: 특정 파티션에 대한 쿼리를 실행할 때는 해당 파티션에만 접근하면 되므로 데이터 검색이 빨라질 수 있다. 2.유지 보수 용이성:대용량 테이블을 파티션으로 나누면 데이터 관리가 용이해진다. 특히, 특정 파티션의 데이터를 백업하거나 삭제하는 작업이 간편해진다.3.병렬 처리:파티셔닝은 쿼리를 병렬로 실행할 때 도움이 된다. 각 파티션을 서로 독립적으로 처리될 수 있으므로 병렬 처리를 통해 전체 쿼리의 성능을 향상시킬 수 있다. *파티션 유형: List partition, Range partition, Hash partition, Composite pa.. 2024. 2. 9. [SQL] WITH 문법 (feat. recursive) WITH를 사용하여 복잡한 쿼리를 간결하게 표현하고, 임시 결과를 생성하여 가독성을 향상시킬 수 있다. SQL WITH절은 임시적인 결과 집합을 생성하여 쿼리 내에서 사용할 수 있게 해주는 기능이다. 주로 서브커리의 가독성 향상이나 동일한 서브쿼리를 여러번 사용 하는 등의 경우에 유용하게 사용할 수 있다. 일반적인 사용 예시 > WITH cte_name (column1, column2, ...) AS ( -- 임시 결과 집합을 생성하는 쿼리 SELECT column1, column2, ... FROM your_table WHERE your_conditions ) -- 기본 쿼리에서 WITH 절에 정의된 임시 결과를 활용 SELECT * FROM cte_name; 위의 쿼리에서 'cte_name'은 임시 .. 2024. 2. 9. [Junit] Jasper Report PDF 문서 검증하기 (feat. JpdfUnit) JasperReport 라이브러리를 사용하여 PDF형식의 보고서를 생성할 때 데이터가 제대로 가공되어 보고서가 정상적으로 생성 되는지 테스트 하기 위해 JpdfUnit을 사용하게 되었다. *JasperReport에 대한 내용은 해당 글 참조. https://inbeom.tistory.com/entry/JasperReports-JasperReports%EB%9E%80-feat-Jaspersoft-Studio 기존 Java에서는 Junit을 사용하여 데이터를 검증하고 서비스 로직 등을 테스트 하지만 JasperReport를 사용하여 생성한 PDF형식의 보고서의 데이터를 검증하기 위해서는 다른 방법이 필요하여 리서치를 통해 여러 개발자들이 PDF 데이터 검증에 활용하고 있는 JpdfUnit이라는 오픈소스 프레.. 2024. 1. 23. 이전 1 2 3 4 5 6 7 ··· 31 다음 728x90 반응형