-
[Careerthon] 데이터베이스 기초 2구버전/CS Study 2023. 11. 16. 11:56
개요
- DB의 종류
- 인덱스
- B-트리
- DB최적화
- 조인
DB의 종류
- 계층형 (1960 ~ )
- 역사가 오래된 DBMS로 폴더와 파일등의 계층 구조로 데이터를 저장
- 하드디스크나 DVD 파일 시스템
- 현재 거의 사용되지 않음
- 네트워크형 (1960 ~ )
- 계층형의 단점을 보완하여 데이터 간 N 대 N 구성이 가능한 망형 모델
- 구조가 복잡해 유지보수가 어려움
- 관계형 (1970 ~ )
- key와 value로 이루어진 데이터들을 행과열로 구성된 테이블구조로 단순화 시킨 모델
- SQL을 사용하여 데이터를 처리
- 데이터 모델링이 간단하지만 비정형 데이터들을 다루거나 실시간 분석에 적합하지 않음
- MYSQL
- 객체지향형 (1980 ~ )
- 객체지향 프로그래밍 개념에 기반하여 만든 데이터베이스 모델
- 비정형 데이터들을 데이터베이스화 할 수 있도록 하기 위해 만들어짐
- O2, ONTOS
- 5객체 관계형 (1990 ~ )
- 관계형 데이터베이스에 객체지향개념을 도입하여 만든 데이터베이스 모델
- 표준 SQL을 사용할 수 있고, 데이터 타입도 관계형 데이터베이스보다 더 다양하게 추가 됨
- UniSQL, Object store
- noSQL (2000 ~ )
- SQL 뿐만아니라 다양한 특성을 지원한다는 의미
- 데이터간에 관계를 정의하지 않는 데이터베이스 모델
- 비정형 데이터 처리에 유리하지만 스키마 변경이 불가능해 데이터값에 문제가 발생하면 감지가 어렵다
- newSQL (2010 ~ )
- RDBMS의 SQL 과 NoSQL의 장점을 결합하여 관계형 모델, 트랜잭션 지원 및 확장성과 가용성을 모두 만족하려는 목적에서 만든 모델
- VoltDB
인덱스
데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료구조
책에서 목차라고 생각하면 이해가 쉬움 원하는 내용을 찾고 싶을 때 이를 이용하면 빠르게 찾을 수 있듯이 테이블에서 원하는 데이터를 찾을 때 인덱스를 이용하면 빠르게 찾을 수 있다
B -Tree
빠른 데이터 엑세스를 위해 여러 자료구조/알고리즘에 대한 논의 가 있었는데 그 중 대표적인 구조가 B-Tree이다.
Binary-Tree에서 파생된 트리구조 하나의 노드는 2개 이상의 데이터를 가질 수 있다는 면에서 차이점이 있다
데이터베이스 성능 개선 방법
- 데이터베이스 인덱스
- 옵티마이저
- 클러스터링
- 레플리케이션
- 샤딩
Join
두개이상의 테이블을 하나의 집합으로 만드는 연산
https://velog.io/@jungmyeong96/SQL-DB-%EC%B5%9C%EC%A0%81%ED%99%94-%EA%B8%B0%EB%B3%B8
'구버전 > CS Study' 카테고리의 다른 글
[CS study] TDD의 중요성 (0) 2023.11.30 [모각CS] DOM과 가상DOM (2) 2023.11.21 [Careerthon] 정규화의 필요성과 과정 (0) 2023.11.15 [Careerthon] 데이터베이스 기초 (0) 2023.11.15 [Careerthon] HTTPS 동작 방식 (0) 2023.11.14