Database

· Database/H2
H2 는 자바로 작성된 RDBMS이다. 자바에서 간단한 테스트 등을 하기 위해 만들어졌다. 주로 스프링 부트와 같은 자바로 개발하는 프레임워크에서 사용한다. Mode In-Memory Mode: 메모리에 디비를 올리는 방식이다. 휘발성이기 때문에 간단한 테스트 등에 사용된다. Embedded Mode: 데이터를 PC에 저장하는 방식이다. 데이터가 비휘발성이기 때문에 개발 초기 단계에 사용된다. Server Mode: 서버를 구축해서 사용하는 방식이다. 테스트 서버로 사용된다. 최근 스프링 부트와 같은 자바를 사용하는 프레임워크에서 H2를 사용할 때 H2를 자동으로 설치해주는 기능이 1.4.x 버전부터 없어졌다. 그래서 H2를 설치하는 방법을 다룬다. 설치 아래 링크로 들어가 가장 최신의 버전을 다운받는다..
PostgreSQL에선 카탈로그도 시스템 테이블로 구성되어서 사용자도 SQL을 통해 카탈로그를 조회할 수 있다. 해당 카탈로그 테이블의 이름은 pg_catalog 이다. 이 카탈로그 안의 pg_stat_activity 테이블은 세션 정보, 세션 PID, 세션 설명 등의 정보를 담고 있다. 해당 테이블의 로우의 갯수는 커넥션의 갯수이며 제공된 PID를 이용해 세션을 종료할 수 있다. pg_stat_activity 테이블 조회 SELECT * from pg_catalog.pg_stat_activity; 세션의 쿼리 종료 SELECT pg_cancel_backend(PID); 세션 종료 SELECT pg_terminate_backend(PID);
PostgreSQL의 Docker 이미지에선 처음 디비를 빌드할 때 /docker-entrypoint-initdb.d/init.sql 위 경로의 sql 스크립트를 실행한다. .env 파일은 아래와 같다. POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres docker-compose.yaml 파일은 아래와 같다. postgresql-default: image: postgres:latest container_name: postgres-default ports: - "5432:5432" env_file: - .env volumes: - ./postgres/default/data:/var/lib/postgresql/data - ./postgres/default/init.sq..
해당 쿼리는 매우 위험하므로 주의해서 사용해야 한다. curruent_schemas() 함수로 가져온 모든 테이블 명을 프로시저에서 반복문을 이용해 drop table if exists 쿼리로 삭제한다. DO $$ DECLARE r RECORD; BEGIN -- if the schema you operate on is not "current", you will want to -- replace current_schema() in query with 'schematodeletetablesfrom' -- *and* update the generate 'DROP...' accordingly. FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = curre..
· Database
항목 주소 공지사항 알림 상품 카테고리 후기 광고 채팅 파일 신고 유저 로그 직접 제작한 ERD로써 저작권은 나에게 있으므로 복붙해서 써도 상관 없다. 지속적으로 작성 중에 있어서 수정될 수 있고 항상 정상 작동 할 지는 불분명하다. 회원이 중심이 되도록 만들어서 그런지 스노우 플레이크의 형태를 띈다. 그런데 이러면 수평적 확장이 힘들어 보일 수 있는데 스노우 플레이크 형태이므로 수평적으로 확장될 필요는 없다. 각 서비스의 경계를 명확하게 표기 해주기만 하면 문제 없이 모든 방향으로 확장해 나갈 수 있다. 화질이 깨지므로 자세하게 보고 싶다면 아래 erdcloud의 링크를 참고 https://www.erdcloud.com/d/98H5gmB6imWXe4ecc 중고거래_khw 회원을 가장 왼쪽에 두고 각 구..
출처 주문 기록에 대해서 수십만건의 많은 데이터가 발행 돼 기존 기록 때문에 조회하는데 시간이 너무 많이 소요 돼 성능을 최적화 하는 방법을 찾는 중 아래와 같이 유용한 글을 읽고 퍼왔다. https://jaimemin.tistory.com/1913 [PostgreSQL] 월별로 DB 파티셔닝 예제 개요 제가 담당하고 있는 파트에서 매일 몇 만 건씩 데이터가 쌓이는 DB가 있었습니다. DB에 너무 많은 데이터들이 쌓일 경우 조회 성능이 떨어질 수 있으므로 월별 DB 파티셔닝을 진행했고 진행 jaimemin.tistory.com 개요 제가 담당하고 있는 파트에서 매일 몇 만 건씩 데이터가 쌓이는 DB가 있었습니다. DB에 너무 많은 데이터들이 쌓일 경우 조회 성능이 떨어질 수 있으므로 월별 DB 파티셔닝을..
Say simple
'Database' 카테고리의 글 목록