본문 바로가기
반응형

🌱 Computer Science/Database15

[Mysql 아키텍쳐1] 커넥션풀/Mysql엔진/스토리지엔진 내부적으로 어떻게 작동는지 이해하기 출처 RealMysql 서적을 기반으로 이해한 내용 정리 2020.01.19 - [Mysql 아키텍쳐1] 커넥션풀/Mysql엔진/스토리지엔진 2020.01.20 - [Mysql아키텍쳐2] 스레드구조/IO매커니즘/InnoDB 내부구조 2020.01.22 - [Mysql아키텍쳐3] InnoDB특징/MyISAM특징 1. 전체구조 1) 기본적으로 client-server구조 다수의 Client들이 하나의 DB 서버에 연결되는 구조 -> 클라이언트별 Connection 처리 -> 스레드증가 -> 멀티스레드 방식 이때 클라이언트가 접속해서 DB연결할 때 Connection Pool사용 왜 커넥션 풀을 사용해야하지? 한명의 클라이언트가 수행하는 DB커넥션도 많은데 클라이언트가 접속.. 2020. 1. 19.
정형데이터 vs 비정형데이터 (RDBMS VS NOSQL) 데이터를 구분하는 기준 1. 스키마 형태의 유무 (+스키마란? 데이터베이스를 구성하는 요소들 개체,속성,관계, 제약조건 등) 2. 연산가능 여부 (+연산이란? 데이터베이스와 통신하기 위해 SQL언어사용) 정형데이터 스키마 구조라는 특정한 형태를 가지고 있다.(ER모델로 관계를 정의가능) (+스키마 구조? 어떤 데이터가 테이블에 들어가고, 안들어가고를 정의하는 필드집합) 연산이 가능하다(관계 정의가 가능하다)(트랜잭션을 수행함) 마리아/오라클/MySQL과 같은 RDBMS에 저장합니다. 비정형데이터 스키마 구조라는 형태 없음(텍스트나 영상데이터처럼 특정한 형태가 없음) 연산도 불가능합니다.하지만 필요한 형식으로 저장이 되는 유연한 구조로 몽고디비와 같은 NoSQL에 저장합니다. 반정형데이터 정형데이터처럼 특.. 2020. 1. 19.
OLAP/OLTP/DW/ETL 용어정리 1.OLTP: 트랜잭션 기반으로 하는 데이터작업 2.OLAP : 데이터들을 효과적으로 활용하기 위해 여러 관점에서 분석해서 정보화 하는 작업 *둘의 차이점 OLTP는 현재 업무의효율적인 처리에만관심이 있는데 그래서 최대목적은 데이터에 대한 무결성을 확보하는 것이다 트랜잭션은 동시에 수백,수천명의 사용자들이 수행하기 때문에. ex)금융의 계정계작업, 잘못해서 10원이라도 다른 계좌에 이체하면 손해가 엄청나다. 그래서 데이터의 분석보다는 트랜잭션 성능 및 데이터 무결성 확보를 위해 설계한다 OLAP는 의사결정에 도움이되는 데이터분석에 관심이 있음 데이터의 무결성을 확보할 필요가 없다 이미 무결성이 확보된 데이터를 ETL작업한 상태로 저장한 DW에서 이루어지기 때문에 솔루션 : CRM, 데이터웨어하우스, 데이.. 2020. 1. 17.
PLSQL 트리거/프로시져/함수차이점 PL/SQL SQL을 확장한 절차적인 언어 오라클에서 제공 쿼리문을 하나씩 수행하는 SQL과 다르게 프로시져, 트리거를 통해 반복적으로 수행할 수 있습니다. 구조 (DECLARE) : 변수,상수,커서, 사용자 지정 예외 선언부 BEGIN : SQL문장, PL/SQL제어문장 (EXCEPTION) : 에러발 생시 수행될 액션 END 프로시저 반복적인 트랜잭션을 수행할 수 있는 PL/SQL블록 SQL뿐만 아니라 IF문이나 WHILE문이등 제어문이나 반복문을 구현가능 DB내에 미리 컴파일되어 저장되므로 필요할떄마다 매번 다시 사용가능 함수 매개변수를 받아서 반복적으로 수행하는 PL/SQL블록 *함수와 프로시져 차이는 리턴값의 유무입니다. 프로시저는 수행하는 절차가 목적이 되어 리턴값이 없으며 함수는 어떠한 결과.. 2020. 1. 14.
트랜잭션 특징(ACID) /Rollback /Commit 트랜잭션 데이터베이스의 상태를 변화시키는 하나의 작업단위를 의미합니다. DB의 상태는 딱! 2개 Rollback과 commit만 있음 그래서 두가지 상태를 작업하는 실행단위들 왜 트랜잭션이 필요할까? 왜 DB는 트랜잭션 기준으로 작업을 처리할까? 1. 데이터의 무결성을 유지하기 위해 (즉 부정합을 방지하고자) DB서버에 여러가지 클라이언트들이 동시에 들어와서 작업을 처리하는데 이때 데이터들의 일관성이 깨질수 있다. 2. 직렬화 기능으로 작업을 하나씩 순차적으로 진행하기 위해 하나하나 한번에 하나의 프로세스를 처리하도록 한다. 그런데 이러면 효율이 너무 떨어지기 때문에 트랜잭션이라는 작업단위로 처리하는것. 트랜잭션은 다수의 클라이언트가 사용해서 여러개의 트랜잭션이 동시에 수행될 수 있음(동시성 4가지 특징.. 2020. 1. 12.
728x90