Programming/Database 13

트랜잭션에 락을 사용하는 경우 (격리 레벨 Isolation Level)

트랜잭션(Transaction)의 이론적 개념과 특성, 먼저 트랜잭션의 이론적 개념은 데이터베이스 관리 시스템(DBMS)에서 '데이터를 조작하는 최소한의 작업(unit of work)'을 이야기합니다. 그리고 트랜잭션은 'ACID'라는 특성을 보장해야 하는데요. 원자성(Atomicity) - 원자 단위로서 더 이상 쪼갤 수 없는 논리적 최소 단위임을 말합니다. - 한 트랜잭션 내에서 실행한 작업들은 하나로 간주하는 것으로 모두 성공하거나 모두 실패해야 합니다. (All or Nothing) 일관성(Consistency) - 트랜잭션이 성공했다면 데이터베이스는 항상 일관성 있는 상태로 유지되어야 한다는 것을 말합니다. 격리성(Isolation) - 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않도록 격..

JPA와 Spring Data JPA 구분하기

해당 포스팅은 JPA에 대해 세부적으로 다루기보다는 전체적인 개념과 함께 JPA와 Spring Data JPA를 구분하는데 초점을 두었습니다. 참고 부탁드리겠습니다. - ORM(Object Relational Mapping) JPA에 대해 알아보기 전 더 큰 개념인 ORM 부터 간단하게 살펴보겠습니다. 객체 관계 매핑(Object Relational Mapping)이란? 객체와 관계형 데이터베이스의 데이터를 ORM 프레임워크가 중간에서 자동으로 매핑해주는 것을 말합니다. (대부분의 대중적인 언어에는 ORM 기술이 존재) 객체를 객체대로 설계하고, 관계형 데이터베이스는 관계형 데이터베이스대로 설계했을 때 객체 모델과 관계형 모델 간의 불일치가 존재하는데, 이때 ORM을 통해 객체 간의 관계를 바탕으로 SQ..

NoSQL mongoDB란? (+ macOS mongoDB 설치 명령어)

- NoSQL SQL이 없다는 의미의 No가 아닌 'Not Only SQL'라는 의미로 기존 RDBMS(관계형 데이터베이스)의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터베이스입니다. 빅데이터를 다룰 때 RDBMS만으로 트래픽을 감당하기 어려워져서 이를 해결하기 위해 만들어진 것으로 NoSQL은 더 유연한 방법을 통해 데이터를 관리하는 방식으로 소프트웨어 개발에 혁신으로도 불립니다. NoSQL을 사용하는 곳 중 잘 알려진 회사로는 여행 예약 사이트인 Expedia가 있습니다. * RDBMS(Relational Database Management System) 관계형 데이터베이스 관리 시스템 행과 열로 된 2차원의 Table로 데이터를 관리하는 시스템으로 Oracle, Mysql, MariaDB 등..