본문 바로가기

SQL8

ADSP - 데이터의 이해 #데이터의 정의 - 데이터는 추론과 추정의 근거를 이루는 사실 - 단순한 객체로서의 가치 뿐만 아니라 다른 객체와의 상호관계 속에서 가치를 가지는 것으로 설명되고 있다. #데이터의 특성 - 존재적 특성: 객관적 사실 - 당위적 특성: 추론·예측·전망·추정을 위한 근거 #데이터의 유형 - 정성적(qualitative) 데이터: 그 형태와 형식이 정해져 있지 않아서 저장, 검색, 분석하는데 많은 비용과 기술적 투자가 수반된다. 예) 언어, 문자 등 - 정량적(quantitative) 데이터: 데이터의 양이 크게 증가하더라도 저장, 검색, 분석하여 활용하기 용이하다. 예) 수치 #지식경영의 핵심 이슈 - 데이터는 지식경영의 핵심 이슈인 암묵지와 형식지의 상호작용에 있어 중요한 역할을 한다. 구분 의미 예 암묵.. 2021. 7. 13.
SQLP - 동시성 제어 1. 동시성 제어 DBMS는 다수의 사용자를 가정하며, 동시에 작동하는 다중 트랜잭션의 상호 간섭 작용에서 데이터베이스를 보호 할 수 있어야 하며, 이를 동시성 제어(Concurrency Control)이라 한다. 동시성을 제어할 수 있도록 하기 위해 모든 DBMS가 공통적으로 Lock 기능을 제공. SET TRANSACTION 명령어를 이용해 트랜잭션 격리성 수준을 조정할 수 있는 기능도 제공. SQL Server의 경우, 기본 트랜잭션 격리성 수준인 Read committed 상태에선 레코드를 읽고 다음 레코드로 이동하자 마자 공유 Lock을 해제하지만, Repeatable Read로 올리면 트랜잭션을 커밋될 대까지 공유 Lock을 유지 동시성과 일관성의 상관관계 가. 비관적 동시성 제어 (Pessi.. 2021. 4. 28.
[J STORY] SQLP - 트랜잭션 트랜잭션(Transaction)은 업무 처리를 위한 논리적인 작업 단위이다. 1. 트랜잭션의 특징 원자성(Atomicity) 트랜잭션은 더 이상 분해가 불가능한 업무의 최소단위이므로, 전부 처리되거나 아예 하나도 처리되지 않아야 함. 일관성(Consistency) 일관된 상태의 데이터베이스에서 하나의 트랜잭션을 성공적으로 완료하고 나면 그 데이터베이스는 여전히 일관된 상태여야 함. 격리성(Isolation) 실행 중인 트랜잭션의 중간 결과를 다른 트랜잭션이 접근할 수 없음 영속성(Durability) 트랜잭션이 일단 실행을 성공적으로 완료하면 그 결과는 데이터베이스에 영속적으로 저장. 2. 트랜잭션 격리성 가. 낮은 단계의 격리성 수준에서 발생할 수 있는 현상들 1) Dirty Read 다른 트랜잭션에 .. 2021. 4. 27.
[J STORY] SQLP - LOCK 1. LOCK 가. Lock이란? 같은 자원을 액세스하려는 다중 트랜잭션 환경에서 데이터베이스의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을보장할 수 있는 직렬화(Serialization) 장치이다. 나. 공유 Lock과 배타적 Lock 1) 공유 Lock 공유(Shared) Lock은 데이터를 읽고자 할 때 사용 다른 공유 Lock과는 호환되지만 배타적 lock과는 호환되지 않음 2) 배타적 Lock 배타적(Exclusive) Lock은 데이터를 변경하고자 할 대 사용되며, 트랜잭션이 완료될 때까지 유지 해당 Lock이 해제될 때까지 다른 트랜잭션은 해당 Resource에 접근할 수 없음 다. 블로킹과 교착상태 1) 블로킹 Lock경합이 발생해 특정 세션이 작업을 진행하지 못하고 멈춰 선 .. 2021. 4. 26.
[J STORY] SQLP - SQL 파싱 부하 1. SQL 처리과정 사용자는 구조화된 질의언어(SQL, Structured Query Language)를 통해 사용자가 원하는 결과집합을 정의 DBMS는 사용자의 SQL을 SQL옵티마이저를 통해 실행계획으로 작성해줌 가. SQL 파싱(Parsing) SQL을 실행하면 제일먼저 SQL 파서(parser)가 SQL 문장에 문법적 오류가 없는지 검사(Syntax 검사) 문법적 오류가 없다면 의미상 오류가 없는지 검사(Semantic 검사, 오브젝트 존재유무등) 검사를 다 마치면, 사용자가 발생한 SQL과 그 실행계획이 라이브러리캐시(프로시저캐시)에 캐싱되어 있는지 확인 캐싱되어 있다면 소프트파싱, 캐싱되어있지 않다면 하드파싱 파싱종류 소프트파싱 (Soft Parsing) SQL과 실행계획을 캐시에서 찾아 곧.. 2021. 4. 25.
[J STORY] SQLP - 관계형 데이터베이스 개요 1. 데이터베이스 데이터베이스는 일상적인 정보들을 모아 놓은 것 자체를 의미한다. 효율적인 데이터의 관리 뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요시 필요한 데이터를 복구하기 위한 강력한 기능의 소프트웨어를 필요로 하게 되었고 이러한 기본적인 요구사항을 만족시켜주는 시스템을 DBMS(Database Management System)라고 한다. 데이터베이스의 발전 1960년대 : 플로우차트 중심의 개발 방법을 사용하였으며 파일 구조를 통해 데이터를 저장하고 관리하였다. 1970년대 : 데이터베이스 관리 기법이 처음 태동되던 시기였으며 계층형(Hierarchical) 데이터베이스, 망형(Network) 데이터베이스 같은 제품들이 상용화 되었다. 1980년대 : 현재 대부분의 기업에.. 2021. 4. 11.