일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- DDL
- docker
- static
- select_type
- Test
- Spring
- VUE
- MSA
- 테스트 코드
- 생성자 주입
- lambda
- jwt
- stream
- jpa
- DI
- 필드 주입
- StringBuilder
- KEVISS
- Exception
- 열 속성
- hashcode
- redis
- 조합
- AOP
- SQL
- equals
- 인덱스
- cache
- 재정의
- Today
- Total
목록DB (13)
백엔드 개발자 블로그
SQL과 NoSQL을 비교해보자https://usishi.com/category/yazilimSQLSQL은 '구조화 된 쿼리 언어 (Structured Query Language)'의 약자이다.특정 유형의 데이터베이스와 상호 작용하는 데 사용 하는 쿼리 언어이다.SQL을 사용하면 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있다.RDBMS 특징데이터는 정해진(엄격한) 데이터 스키마 (= structure)를 따라 데이터베이스 테이블에 저장된다.데이터는 관계를 통해서 연결된 여러개의 테이블에 분산된다.엄격한 스키마데이터는 테이블에 레코드로 저장되며 각 테이블에는 명확하게 정의된 구조(schema)이 있다.스키마를 준수하지 않는 레코드는 추가할 수 없다.데이터..
데이터베이스의 Index에 대해서 알아보자https://ittutorial.org/index-in-oracle-database-what-is-an-index-advantages-and-disadvantages-in-oracle-database/DB Index란?인덱스는 조회를 성능을 향상 시키기 위한 전략이다. 인덱스를 지정해 놓지 않았다면 데이터베이스는 해당 테이블을 처음부터 끝까지 조회하면서 값을 반환하기 때문에 트래픽에 따라 성능이 저하될 수 밖에 없다.이러한 이슈를 해결하고자 인덱스를 활용하여 자주 조회되는 Column에 대한 인덱스 테이블을 따로 만들어 해당 테이블로 조회할 수 있도록 최적화 하였다.INDEX 원리인덱스는 구체적으로 어떻게 조회 조건을 개선 하였는가?인덱스를 해당 컬럼에 추가한..
프로젝트를 하다보면 삭제 여부를 알수 있는 컬럼에 데이터가 값을 넣어서 표현하는 경우가 있습니다. 이건 왜 쓰는 것일까? 쓴다면 주의할 점은 무엇일까? 궁금증이 생겨 글을 작성해봅니다. Delete 종류 Soft Delete : UPDATE 명령어를 사용하여 삭제 여부를 알수 있는 컬럼에 데이터가 값을 넣어서 표현합니다. Hard Delete : SQL의 DELETE 명령어를 사용하여 직접 데이터를 삭제하는 방법입니다. 사용하는 이유 Soft Delete : 삭제를 해도 삭제하기전의 데이터를 보관해야 할 경우에 논리삭제를 사용합니다. Hard Delete : 삭제 대상인 데이터가 필요없을때 (추후에 조회할 필요가 없을때) 사용합니다. Soft Delete의 문제점 복잡성 증가 : delete에 대한 표시..

동시성 문제를 해결하기 위해 synchronized, Locking(비관적 락), Redis 분산락을 시도한 과정을 작성해봅니다. 문제 상황 모임 인원에 제한이 있는 그룹에 member가 참여하는 코드입니다. @RequiredArgsConstructor @Transactional(readOnly = true) @Service public class ParticipateService { private final MemberFindService memberFindService; private final GroupFindService groupFindService; @Transactional public void participate(Long groupId, Long memberId) { Group group..