NoSQL ( Not only SQL DB ) : redis , elastic search , Mongo DB 。Schema 없이 다양한 Type의 데이터를 처리하는 데이터베이스 시스템 。Table 등 DB Schema의 개념이 없으므로 RDM

SQL ( Structured Query Language ) 。RDBMS에서 데이터를 조작하고 관리하기 위한 선언형 언어 ▶ DB의 구조를 설계하고, DB에 저장된 데이터를 효율적으로 조회 및 수정하며, DB의 접근 권한을 제어 。DDL, DML, DCL이 존재 ▶
DDL ( Data Definition Language ) 。DB Schema를 구축하는 SQL ▶ 테이블, 인덱스를 정의, 수정, 삭제 시 사용하는 SQL 。자동으로 Auto Commit 되는 특성이 존재 。CREATE , DROP , ALTER , TRUNC

트랜잭션 ( Transaction )트랜잭션 4대 원칙Atomicity ( 원자성 )。단위 트랜잭션 내 모든 작업이 전부 성공하거나 전부 실패해야함.▶ 한 작업이라도 실패 시 성공한 작업도 롤백Consistency ( 일관성 )。트랜잭션 실행 전 후의 DB 상태가 항상
트랜잭션 상태 。트랜잭션은 실행되는 동안 여러 상태를 거치며 진행 활성 ( Active ) 。트랜잭션이 시작되어 수행중인 상태▶ 메모리 내 캐시 용도의 Buffer 내에서 저장되며 아직 보조기억장치 상 DBMS에 반영되지 않음. 부분 완료 ( Partiall
도커허브Dockerhub-PostgreSQLdocker pull bitnami/postgresql:latest。Exposed Port : 5432▶ docker run -d -p 5432:5432 --name prac-postgres -e POSTGRES_PASSWOR

DB Index。DB에 저장된 데이터 중 원하는 데이터를 빠르고 효율적으로 검색하기위해 사용하는 방법 ▶ 테이블 전체를 검색할 필요 없이 DB Index를 활용하여 필요한 데이터를 빠르게 조회가능. 。기본적으로 B-Tree Index를 사용 ▶ 데이터를 이진

DB 성능 최적화에서 가장 중요한 성질 : 디스크 I/O 성능DB의 I/O 종류。 랜덤 I/O , 순차 I/O랜덤 I/O ( Random Input / Output )。데이터를 찾을때 여러 위치를 랜덤하게 접근해서 읽는 방식 ▶ 디스크 헤더가 여러곳을 찾아야하므로 속

인덱스 튜닝 ( Index Tuning )。SQL Query를 빠르게 처리하기 위해 테이블의 인덱스를 설계·추가·수정·제거하는 작업▶ SQL Query 수행 시 Full Scan을 방지하고 Index Scan을 수행하기위해 튜닝인덱스 튜닝이 중요한 이유?。인덱스가 없는
DBMS에서 JOIN을 수행 시 드라이빙 테이블과 드리븐 테이블로 구분되어 JOIN 연산이 수행。드라이빙테이블 : 드리븐 테이블 = 1:N드라이빙 테이블 ( Driving Table = Outer Table )。SQL Query에서 JOIN 시 가장 먼저 ACCESS되
DB Table 제약조건 。각 column에 설정하여 저장되는 데이터가 임의의 규칙을 항상 만족하도록 강제하는 조건 ▶ 여러 제약조건을 조합하여 부여가능 。데이터 입력 / 수정 / 삭제 시 자동으로 검증 ex ) empno in

DB 마이그레이션 Tool : 。DB Schema의 변경 이력을 추적하면서 코드로 관리하고, 버전 별로 구분하여 자동 적용하는 도구▶ 수작업으로 SQL 작업을 수행하는게 아닌, 버전 관리 가능한 코드로 관리。Git과 비슷한 형상관리 역할을 수행하며, UNDO를 수행
CQRS ( Command and Query Responsibility Segregation ) 。어플리케이션의 데이터 수정과 조회작업을 별도로 분리하는 아키텍처 패턴 。읽기 DB와 쓰기 DB를 분할해서 작업하는 개념 ▶ 쓰기 DB를 읽기 DB와 항상 동