일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 플러터 공부
- nestjs공부
- 스프링 공부
- JPA
- JPA공부
- JPA 공부
- querydsl
- nestjs
- 기술공부
- 코테준비
- 스프링부트
- 코테공부
- 스프링
- JPA예제
- Flutter
- 알고리즘공부
- JPA스터디
- 자료구조공부
- 플러터 개발
- Kafka
- K8S
- Axon framework
- 프로그래머스
- DDD
- 스프링부트공부
- 카프카
- 자바공부
- nestjs스터디
- 기술면접공부
- 스프링공부
- Today
- Total
목록[DataBase] (6)
DevBoi
Couldn't create database. MySQL said: Access denied for user 'root'@'%' to database 'honeybit' 라는 에러가 발생한다면 도커 컨테이너 접속해서 해당 커맨드를 실행하면된다. 컨테이너 접속해서 mariadb -u root -p GRANT ALL PRIVILEGES on *.* TO 'root'@'%' WITH GRANT OPTION
한글로 데이터를 넣게되면 마리아디비에서 해당과 같이 인코딩 문제가 발생한다. QueryFailedError: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xE3\x85\x85\xE3\x84\xB7...' for column `leeds`.`campaign`.`name` at row 1 at QueryFailedError.TypeORMError [as constructor] (/Users/ysj/leeds_profile_nest/src/error/TypeORMError.ts:7:9) at new QueryFailedError (/Users/ysj/leeds_profile_nest/src/error/QueryFailedError.ts:9:9)..
테스트 컨테이너와 Spock를 이용해서 테스트 환경을 구축하다가 DB autocommit을 끄는것에 대해서 공부를 해보려고했다. (팀에 고수분이 의견을 주셨다) 1.Autocommit은 무엇일까? 하나의 트랜잭션은 commit이나 rollback을 만나면 종료된다. 트랜잭션의 성질은 ACID를 따르는데 (이건 모르면 직접 찾아보시길) 1,2,3작업이 있다고 가정 한 트랜잭션에 있다면? 1번 작업 후 2번 작업중 이슈가 생기면? 1번 작업은 commit이 될까? 같은 트랜잭션 이라면 2번이 롤백되면서 1번도 롤백된다. 다만 오토 커밋이라고하면 commit을 따로 날려주지않아도 자동으로 커밋되는것이다. 즉 하나의 트랜잭션 내에 여러가지의 쿼리가 있다고 하더라도, 무용지물로 그냥 다 반영 되는것이다. 쉽게 얘..
인덱스 동작과정에 대해서 알아보자 RDBMS에서 대용량으로 데이터가 있을때, 해당 데이터를 full scan하는 것이아니라 특정 컬럼들을 키로, 해당 데이터들을 가지고있어서, 필요할때 range scan을 하면서 검색 효율을 높이는 것이다. range Scan이란, 특정 위치에서 검색을 시작해, 일치 하지 않는 범위를 만나면 멈추는 것을 의미한다. 가장 일반적인 인덱스 는 비트리 형태로 이루어져 있다. 비트리(B-tree)란? * 모든 리프 노드들이 같은 레벨을 가질수 있도록 관리되는 이진 트리이다. 비트리에서의 탐색과정은, 검색 대상을 key와 비교하고, 해당 key보다 크면, 더 큰 key값으로 이동하여, 범위에 맞는 예를 들면, 10,20이 키면, 18검색시에, 10과 20사이의 key값에 해당하는..
jpa 관련 공부를 하면서 RDB의 관계에서 자바의 상속관계를 구현할수있을까 라는 주제로 공부를 했다. 관계형 데이터 베이스에서도 자바의 상속 관계 같은 슈퍼 타입과 서브 타입이 존재한다. 물론 jpa 기본 전략 등을 공부하면서 느꼈던 것이지만 여러 테이블에서 공통된 특성이 있다고 가정하면, 공통 된 특성을 슈퍼타입을 뽑고 나머지를 서브타입으로 내리는 것이다. 1) Roll up , 서브타입과 슈퍼타입들을 그냥 한테이블로 합치는 경우 -JPA에서는 단일 테이블 전략이라고 하는데 해당 작업은 Roll up 이라고도 한다고 한다. 서브 타입에서 사용하는 특성들이 적을 때 유용하다. 장점 속도가 빨라질수있다 단점 특정 다른 특성들이 많아지면 한 테이블에 부하가 심하게 걸릴수있어 오히려 성능이 저하될 위험이 존..
데이터베이스의 인덱스란, 추가적인 쓰기작업과 저장공간을 활용하여, 검색 성능을 향상 시키는 방법이다. full scan을 하지않고, 인덱스를 활용하여 데이터가 존재하는 곳의 위치를 빠르게 찾을수 있다. 인덱스를 활용하면, select, update, delete를 빠르게 처리할수있다. 해당 사유는, 해당 작업을 하기 위해 선작업이 되는것이 먼저 select 이기 때문이다. index는 최신의 정렬상태를 유지해야하기 때문에, insert나, delete, update 작업을 할때, index가 걸려있는 것이라면, 추가적인 연사을 해준다. (index 재정렬이 필요하기 때문에) 일단, 구조를 알기전에 장단점을 알자 장점 : 검색속도 향상, 전반적인 시스템 부하를 줄일수있다. 단점 : 인덱스 관리를 위해 db..