[DB] Postgresql 14 간단 설치 및 DBeaver에서 데이터베이스 생성(macOS)
·
DB
macOS에서 Postgresql 14버전을 설치하고 DBeaver에서 데이터베이스 생성 및 연결하는 과정을 정리 해보겠습니다. 만약 Homebrew를 설치 하지 않으셨다면 아래 블로그를 참고하셔서 Homebrew를 설치해주세요. 맥북 Homebrew 홈브류 설치하기Homebrew 홈브류란? 오픈소스 기반의 Mac OS용 패키지 매니저입니다. 패키지 매니저란 컴퓨터 프로그램의 설치, 업그레이드, 구성, 제거 과정을 자동화하는 소프트웨어 도구들의 모임을 의미합니다.m-ur-phy.tistory.com Homebrew를 설치하셨다면 과정은 매우 간단합니다. 아래의 작업은 Terminal에서 진행해주시면 됩니다.Postgresql 설치과정1. Homebrew 버전 확인2. Postgresql 설치3. Post..
[DB] 트랜잭션(Transaction)매니저 & 프록시 & 트랜잭션 AOP
·
DB
1. 트랜잭션애플리케이션구조 순수한 서비스 계층가장 중요한 계층은 핵심 비즈니스 로직이 들어있는 서비스 계층이다서비스 계층은 특정 기술에 종속적이지 않게 개발해야 한다계층을 나눈 이유도 서비스 계층을 최대한 순수하게 유지하기 위한 목적이 크다. 즉, JDBC를 쓰다 JPA로 변경 등에 대한 과정으로 인해 서비스 계층에 수정이 있으면 안된다 2. 트랜잭션 추상화트랜잭션은 원자적 단위의 비즈니스 로직을 처리하기 위해 사용한다JDBC, JPA 등 구현 기술마다 트랜잭션을 사용하는 방법이 다르다.JDBC: con.setAutoCommit(false)JPA: transaction.begin() 문제 해결아래와 같이 TxManager 인터페이스를 기반으로 각 기술에 맞는 구현체를 만들면 된다.서비스는 특정 트랜잭션..
[DB] 트랜잭션(Transaction) 개념 및 동작원리
·
DB
스프링 DB 1편 - 데이터 접근 핵심 원리 강의 | 김영한 - 인프런김영한 | 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니www.inflearn.com1. 트랜잭션 개념트랜잭션을 이름 그대로 번역하면 거래라는 뜻이다.즉, 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻한다.데이터를 저장할 때 파일 저장이 아닌, 데이터베이스에 저장하는 이유 중 대표적인 이유는 트랜잭션을 지원하기 때문이다.하나의 트랜잭션이 모두 성공해서 데이터베이스에 반영되는 것을 커밋이라하고, 작업 중 하나라도 실패해서 거래 이전으로 되돌리는 것을 롤백이라 한다. 2..
[DB] 관계형 데이터베이스(RDBMS) 개념 용어 정리
·
DB
Relation기본적으로 수학의 개념에서 파생되었다Relation Data modelDomain(=Set)Atomic한 Value들의 집합ex) students_ids, human_names, university_grades 등등AttributeDomain에서 맡은 역할에 따라 세부화ex) 테이블에서 연락처를 phone_num, emr_phone_num로 나눠서 세부화 할 수 있음ex) id, name, grade, major 등등TupleAttribute들의 집합체(List)Relation위의 Tuple(Instance)들의 집합쉽게 말해 Table[아래 그림 참조]Relation Schemarelation의 구조를 나타낸다.relation 이름과 attributes 리스트로 표기된다.ex)STUDEN..
[DB] 데이터베이스 기본개념 용어 정리
·
DB
DataBase전자적으로 저장되고 사용되는 관련있는 데이터들의 조직화된 집합DBMS사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템ex) mysql, oracle, postgreSQL, noSQL 등등MetaDataDB를 정의하다 보면 생기는 부가적인 데이터를 metadata라고 부른다.database를 정의하거나 기술하는 dataex)데이터 유형, 구조, 제약 조건, 보안, 저장, 인덱스, 사용자 그룹 등등metadata 또한 DMBS를 통해 저장/관리 된다.DataBase Systemdatabase + DBMS + 연관된 applications줄여서 database라고도 부름Data ModelsDB의 구조를 기술하는데 사용될 수 있는 개념들이 모인 집합DB 구조를 추상화해서..
[DB] Connection Pool 과 DataSource
·
DB
스프링 DB 1편 - 데이터 접근 핵심 원리 강의 | 김영한 - 인프런김영한 | 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니www.inflearn.com1. Connection Pool 이해[데이터베이스 커넥션을 획득할 때는 다음과 같은 복잡한 과정을 거친다]애플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회.DB 드라이버는 DB와 TCP/IP 커넥션을 연결. 물론 이 과정에서 3 way handshake 같은 TCP/IP 연결을 위한 네트워크 동작이 발생.DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW와 기타 부가정보를 DB에 전달.DB는 ID, PW..
[DB] JDBC란?
·
DB
스프링 DB 1편 - 데이터 접근 핵심 원리 강의 | 김영한 - 인프런김영한 | 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니www.inflearn.com1. JDBC 등장 이유애플리케이션을 개발 할 때 데이터는 대부분 데이터베이스에 보관한다.클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회하면, 애플리케이션 서버는 다음 과정을 통해서 데이터베이스를 사용한다.[애플리케이션 서버와 DB - 일반적인 사용법]커넥션 연결: 주로 TCP/IP를 사용해서 커넥션을 연결.SQL 전달: 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전..
[DB] 데이터베이스 정규화 / 반정규화의 개념
·
DB
1. 정규화(Normalization) 란?정규화(Normaliztion): 이상 현상이 있는 테이블을 분해하여 이상 현상을 없애는 방법테이블을 분해하는 정규형 단계가 높아질수록 이상 현상이 줄어든다.정규화의 목적데이터의 중복을 줄여 저장공간을 최소화 하고, 데이터 무결성을 유지데이터의 변경이 있을 때 이상 현상을 줄일 수 있다.테이블을 논리적, 직관적으로 구성할 수 있다.정규화의 장점데이터베이스 변경 시 이상 현상을 제거할 수 있다(올바른 데이터를 얻는다).정규화된 데이터베이스 구조에서는 새로운 데이터 형을 확장 하려고 할때, 테이블 구조를 변경하지 않거나 일부만 변경해도 된다.정규화의 단점테이블을 분해하는 과정에서 테이블 간의 JOIN 연산이 많아진다.지나치게 많은 JOIN 연산 때문에 생긴 성능 저..
하부루
'DB' 태그의 글 목록