Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- PERT/CPM
- 처리량
- CPU 스케줄링
- 요구사항 분석
- modebit
- MongoDB
- 관계형 데이터베이스
- 노출모듈패턴
- 럼바우
- 페이징 교체 알고리즘
- 3-way handshake
- 다크모드
- 스레싱
- 선언형
- 지연시간
- 프로젝트 계확
- 개발 모델
- redis
- 프로그래머스 데브코스
- 인터넷계층
- nosql
- M/M
- 다단계 큐
- 링크계층
- MVVM
- 메모리
- 4-way handshake
- 프록시패턴
- 절차형
- 함수형
Archives
- Today
- Total
노트
데이터베이스의 종류 본문
1. 관계형 데이터베이스(RDBMS)
행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스, SQL 언어를 써서 조작
MySQL, PostgreSQL, 오라클, SQL Server, MSSQL 등
표준 SQL은 지키지만 각각의 제품에 특화시킨 SQL을 사용
- MySQL: SQL
- 오라클: PL/SQL
- SQL Server: T-SQL
MySQL
- 대부분의 운영체제와 호환되며 현재 가장 많이 사용하는 데이터베이스
- C, C++로 만들어졌으며 MyISAM 인덱스 압축 기술, B-트리 기반의 인덱스
- 스레드 기반의 메모리 할당 시스템, 매우 빠른 조인, 최대 64개의 인덱스를 제공
- 대용량 데이터베이스 위해 설계, 롤백, 커밋, 이중암호 지원 보안 등 기능을 제공
스토리지 엔진: 데이터베이스의 심장 역할
- 모듈식 아키텍처로 쉽게 엔진을 바꿀 수 있음
- 데이터 웨어하우징, 트랜잭션 처리, 고가용성 처리에 강점
- 스토리지 엔진 위에 커넥터 API 및 서비스 계층을 통해 MySQL 데이터베이스와 쉽게 상호 작용
- 쿼리 캐시를 지원, 입력된 쿼리 문에 대한 전체 결과 집합을 저장하기 때문에 작성한 쿼리가 캐시에 있는 쿼리와 동일하면 서버는 단순히 구문 분석, 최적화 및 실행을 건너뛰고 캐시의 출력만 표시
PostgreSQL
- 디스크 조각이 차지하는 영역을 회수할 수 있는 장치인 VACUUM이 특징
- 최대 테이블의 크기는 32TB, SQL뿐만 아니라 JSON을 이용해서 데이터에 접근 가능
- 지정 시간에 복구하는 기능, 로깅, 접근 제어, 중첩된 트랜잭션, 백업 등
2. NoSQL(Not only SQL) 데이터베이스
SQL을 사용하지 않는 데이터베이스를 말하며, 대표적으로 MongoDB와 redis 등
MongoDB
- JSON을 통해 데이터에 데이터에 접근, Binary JSON 형태(BSON)로 데이터가 저장
- 와이어드타이거 엔진이 기본 스토리지 엔진으로 장착된 키-값 데이터 모델에서 확장된 도큐먼트 기반의 데이터베이스
- 확장성이 뛰어나며 빅데이터를 저장할 때 성능이 좋고 고가용성과 샤딩, 레플리카셋을 지원
- 스키마를 정해 놓지 않고 데이터 삽입 가능
- 다양한 도메인의 데이터베이스를 기반으로 분석, 로깅 등을 구현할 때 강점
- 도큐먼트를 생성할 때마다 다른 컬렉션에서 중복된 값을 지니기 힘든 유니크한 값인 ObjectID가 생성
redis
- 인메모리 데이터베이스이자 키-값 데이터 모델 기반의 데이터베이스
- 기본적인 데이터 타입은 문자열(String) 최대 512MB까지 저장, set, hash 등을 지원
- pub/sub 기능을 통해 채팅 시스템, 다른 데이터베이스 앞단에 두어 사용하는 캐싱 계층
- 단순한 키-값이 필요한 세션 정보 관리, 정렬된 셋(sorted set) 자료 구조를 이용한 순위표 서비스에 사용
'면접을 위한 CS 전공지식 노트'를 기반으로 작성한 글입니다.
'CS' 카테고리의 다른 글
데이터베이스 (0) | 2024.01.26 |
---|---|
CPU 스케줄링 알고리즘 (2) | 2024.01.25 |
프로세스와 스레드2(멀티프로세싱, 멀티스레딩) (0) | 2024.01.24 |
프로세스와 스레드1(프로세스의 메모리 구조, PCB) (0) | 2024.01.23 |
메모리2(메모리 관리) (0) | 2024.01.22 |