Development/DataBase

    데이터베이스도 깃허브처럼 써볼 수 있다고? Flyway에 대해 알아보자

    데이터베이스도 깃허브처럼 써볼 수 있다고? Flyway에 대해 알아보자

    일단 난 이런게 있는줄도 몰랐다!(자랑임) 부트캠프를 진행하면서 팀원들과 CS 스터디를 진행했는데, 그 과정에서 알게 된 내용이며, 팀 블로그에 작성한 글을 조금 다듬어서 올려본다. (알려주셔서 감사,,,ㅠㅠ) (정의) 데이터베이스 마이그레이션 툴 (오픈소스) 마이그레이션 : 한 DB에서 다른 DB로 이동을 의미하나, 여기선DB에서 진행하는 모든 동작을의미. 소스코드의 깃허브와 동일한 작업이라 생각하면 편하다. 데이터베이스를 이관할 때 사용할 수 있음. 배포 이후에 많이 활용한다. 1. 이거 왜 씀?? 나와 같은 주니어(난 주니어 레벨도 안되지만) 취준 개발자 입장에선 일단 서비스를 만드는거 자체에 집중하는 경향이 큰데, flyway는 그 이후를 봐야할 때 빛을 보는 tool 이다. 프로젝트에서는 loc..

    Lock & JPA Lock..중간에 겐세이 놓으시면 안됩니다.

    Lock & JPA Lock..중간에 겐세이 놓으시면 안됩니다.

    아무것도 모르는 날 위해 Lock과 JPA Lock에 대해 공부해보자. (그 전에 트랜잭션부터 알아보자) 트랜잭션이란, DB 상태를 변환시키는 하나의 논리적인 기능을 수행하는 작업 단위로, 하나의 트랜잭션은 구분될 수 없다. 이처럼 트랜잭션의 가장 큰 특징은 작업의 원자성을 보장하는 것이다. LOCK 1. Lock이란? (what) Lock이란, 트랜잭션 처리의 순차성(즉, 데이터 일관성)을 보장하기 위한 매커니즘. 결국 LOCK도 다양한 트랜잭션 격리 수준의 일부이다. 즉, 사용자 A가 Data에 접근 할 때 데이터에 Lock을 걸어 나머지 사용자들이 이 데이터에 접근하지 못하도록 하는 것. 2. 그러면 Lock이 왜 필요해?? (why?) [배경] 우리는 어플리케이션을 사용하다 보면 Database에..