본문 바로가기

데이터베이스5

NoSQL 1. NoSQL이란? 관계형 데이터 모델을 지양하며 대량의 분산된 데이터를 저장하고 조회하는 데 특화되었으며 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소를 말한다. 2. SQL과 NoSQL의 차이 2.1 SQL SQL을 사용하면 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색할 수 있다. 관계형 데이터베이스에는 핵심적인 두 가지 특징이 있다. 데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다. 데이터는 관계를 통해 여러 테이블에 분산된다. 데이터는 테이블에 레코드로 저장되는데, 각 테이블마다 명확하게 정의된 구조가 있다. 해당 구조는 필드의 이름과 데이터 유형으로 정의된다. 따라서 스키마를 준수하지 않은 레코드는 테이블에 추가할 수 없다. 즉, 스키마를 수정하지 않는 이상은 정해.. 2022. 2. 7.
[DB] 트랜잭션(Transaction) -목차- 1. 트랜잭션(Transaction)이란? 2. 트랜잭션의 상태 3. 트랜잭션을 사용할 때 주의할 점 1. 트랜잭션(Transaction)이란? 트랜잭션은 작업의 완전성을 보장해주는 것이다. 즉, 논리적인 작업 셋을 모두 완벽하게 처리하거나 또는 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상이 발생하지 않게 만들어주는 기능이다. 사용자의 입장에서는 작업의 논리적 단위로 이해를 할 수 있고 시스템의 입장에서는 데이터들을 접근 또는 변경하는 프로그램의 단위가 된다. 트랜잭션과 Lock 잠금(Lock)과 트랜잭션은 서로 비슷한 개념 같지만 사실 잠금은 동시성을 제어하기 위한 기능이고 트랜잭션은 데이터의 정합성을 보장하기 위한 기능이다. 잠금은 여러 커넥션에서 동시에 동일한 자.. 2022. 2. 6.
[DB] 정규화(Normalization) -목차- 1. 정규화(Normalization)란? 2. 제1 정규형 3. 제2 정규형 4. 제3 정규형 5. BCNF(Boyce-Codd) 정규형 6. 정규화에는 어떠한 장점이 있는가? 6.1 정규화의 단점은 없는가? 6.2 반정규화 1. 정규화(Normalization)란? 한 릴레이션에 여러 엔티티의 애트리뷰트들을 혼합하게 되면 정보가 중복 저장되며, 저장 공간을 낭비하게 된다. 또 중복된 정보로 인해 갱신 이상이 발생하게 된다. 동일한 정보를 한 릴레이션에는 변경하고, 나머지 릴레이션에서는 변경하지 않은 경우 어느 것이 정확한지 알 수 없게 되는 것이다. 이러한 문제를 해결하기 위해 정규화 과정을 거치는 것이다. 정규화의 목적 데이터의 중복을 없애면서 불필요한 데이터를 최소화시킨다. 무결성을 지키.. 2022. 2. 6.
[DB] 인덱스(Index) -목차- 1. 인덱스(Index)란? 1.1 배경 2. 인덱스의 관리 2.1 인덱스의 장단점 2.2 인덱스 사용시 고려사항 3. 인덱스의 자료구조 3.1 해시테이블 3.2 B Tree 3.3 B+ Tree 마치며 1. 인덱스(Index)란? 인덱스란 추가적인 쓰기 작업과 저장공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 인덱스를 사용하는 목적은 RDBMS에서 검색 속도를 높이기 위함이라 할 수 있다. 테이블의 Column을 색인화 한다.(따로 파일로 저장) 해당 테이블의 레코드를 full scan(완전 탐색)하지 않는다. (B+ 트리 구조로)색인화된 Index 파일 검색으로 검색 속도 향상 1.1 배경 인덱스는 책의 목차에 주로 비유됨 하지만 일반적인 책을 생각해보면 목.. 2022. 2. 6.