본문 바로가기

database

(5)
PostgreSQL에 대해서 이번 포스팅에서는 PostgreSQL에 대해 알아보도록 하겠다.많은 DB들 중 PostgreSQL에 대해서 알아보는 이유는 이력서 넣던 도중 많이 보이는 RDBMS는 MSSQL, PostgreSQL, MYSQL이 가장 많이 보이고 NOSQL은 Redis, MongoDB이 많이 보인다. PostgreSQL란오픈 소스 객체 관계형 데이터베이스 시스템으로 ORDBMS이다.다른 관계형 데이터베이스 시스템과 달리 연산자, 복잡 자료형, 집계 함수, 자료형 변환자, 확장기능 등이 제공된다.다양한 DB 객체를 사용자가 임의로 만들 수 있는 기능을 제공함으로써 마치 새로운 하나의 프로그래밍 언어처럼 기능을 구현할 수 있다. 특징 및 기능 데이터 유형기본 요소 - 정수, 문자열, boolean 등구조화 - 날짜/시간,..
springboot 트랜잭션 AOP와 트랜잭션 전파 이번 포스팅은 스프링부트 트랜잭션 AOP와 전파에 대해 알아보자. 트랜잭션 추상화, 선언적 트랜잭션 AOP에 대해선 트랜잭션 포스팅에서 한 번 다뤘었다. 우선 선언적 트랜잭션의 적용과 적용되지 않는 것을 보자. @Slf4j @SpringBootTest public class TxBasicTest { @Autowired TxService txService; @Test void proxy() { log.info("proxy class={}", txService.getClass()); } @Test void txTest() { txService.tx(); } @TestConfiguration static class TxConfig { @Bean TxService txService() { return new T..
데이터베이스 데이터 접근 기술 자바에서 사용하는 데이터베이스 접근 기술로는 jdbctemplate, mybatis, jpa, 스프링데이터 jpa, querydsl 등이 있다. 이번 포스팅에서 다룰 내용은 jdbctemplate, mybatis이다. jpa 부분은 다른 카테고리에서 자세하게 다룰 예정이다. jdbctemplate에 대해 알아보자. JdbcTemplate은 spring-jdbc 라이브러리에 포함되어 있는데, 이 라이브러리는 스프링으로 JDBC를 사용할 때 기본으로 사용되는 라이브러리이다. 그리고 별도의 복잡한 설정 없이 바로 사용할 수 있다. 템플릿 콜백 패턴을 사용해서 직접 jdbc를 직접 사용할 때 발생하는 반복 작업을 대신 처리해준다. sql을 작성하고 전달할 파라미터를 정의하고 응답 값을 매핑하면 된다. 단점으로는..
Transaction에 대해서 이번 포스팅에선 트랜잭션 대해 다루도록하겠다. 트랜잭션 직역하면 거래라는 뜻인데 데이터베이스에서 트랜잭션 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻한다. 만약 내가 A라는 책이 10권 있는데 1권을 사면 A라는 책은 9권으로 수량이 줄어들어야 한다. 만약 내가 구매에는 성공했지만 남아있는 책이 9으로 줄어들지 않는다면 문제가 발생하게 된다. 이 문제를 트랜잭션을 사용하면 구매와 수량이 줄어드는 것이 둘 다 성공해야 저장하고 중간에 하나라도 실패하면 직전의 상태로 돌아갈 수 있다. 이것을 보장해주는 것이 트랜잭션이다. 트랜잭션 모든 작업이 성공해 데이터베이스에 정상 반영하는 것을 Commit, 커밋 작업 중 하나라도 실패하면 이전으로 되돌리는 것을 Rollback, 롤백이라 한다. 트랜잭션은 A..
데이터 베이스와 JDBC, ORM 이번 포스팅에서는 DB와 DB기술에 대해 간략히, ORM에 대해 알아보자. 데이터베이스란? 간단하게 데이터를 효율적으로 보관하고 꺼내볼 수 있는 곳이다. 데이터를 안전하게 사용하고, 관리하게 해준다. 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터로 정의할 수 있다. 데이터베이스 관리자 - DBMS 데이터베이스를 관리하기 위한 소프트웨어를 DBMS(DateBase Management System)라고 한다. 데이터베이스는 많은 사람이 공유할 수 있어야 하므로 동시 접근을 할 수 있어야 한다. dbms는 요구사항을 만족하며 효율적으로 데이터베이스를 관리하고 운영한다. dbms는 관리 특징에 따라 관계형, 객체-관계형, 도큐먼트형, 비관계형 등으로 분류한다. 가장 많이 사용하는 dbms는 관계형이..