본문 바로가기

Study/개발일지

[백엔드온라인TIL] database종류 (63일차)

DBMS란 Database Management system의 준말로 데이터를 한곳에 모은 저장소를 만들고 그 저장소에 여러 사용자가 접근하여 데이터를 저장 및 관리 등의 기능을 수행하며 공유할 수 있는 환경을 제공하는 응용 소프트웨어 프로그램 튜플(Tuple)- 테이블에서 행을 의미합니다.
- 같은 말로는 레코드(Record) 혹은 로우(Row) 어트리뷰트(Attribute)- 테이블에서 열 릴레이션(Relation=Table)- 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위 키(Key)- 테이블에서 행의 식별자로 이용되는 테이블의 열을- 주키(PK) : 현재 테이블에서 행을 식별하는 식별자
- 외래키(FK) : 현재 테이블과 연관되어있는 외부 테이블과 연관된 행을 식별하는 식별자nosql  종류## (1) MongoDB
- 유연한 스키마: MongoDB는 유연한 문서 지향 데이터 모델을 사용하여 데이터를 저장합니다. 이는 데이터의 구조를 동적으로 변경할 수 있음을 의미합니다.
- 분산 아키텍처: MongoDB는 수평적으로 확장 가능한 분산 아키텍처를 제공하여 대규모 데이터 처리 및 고가용성을 지원합니다.
## (2) Redis
- 인메모리 데이터 저장소: Redis는 데이터를 메모리에 저장하므로 매우 빠른 데이터 액세스와 응답 시간을 제공합니다.
- 다양한 데이터 구조: Redis는 문자열, 해시, 목록, 집합, 정렬된 집합 등 다양한 데이터 구조를 지원하여 유연한 데이터 모델링을 가능하게 합니다.
## (3) DynamoDB
- 관리형 서비스: DynamoDB는 아마존 웹 서비스(AWS)의 관리형 NoSQL 데이터베이스 서비스로, 서버 관리와 확장성에 대한 부담을 줄여줍니다.
- 높은 확장성: DynamoDB는 데이터의 크기나 트래픽의 증가에 따라 자동으로 확장되어 수평적으로 확장 가능한 성능을 제공합니다.
## (4) HBase(Wide-column Store)
- 분산 저장 시스템: HBase는 Hadoop 분산 파일 시스템(HDFS) 위에서 작동하며, 대용량 데이터의 분산 저장과 처리를 지원합니다.
- 일관된 읽기/쓰기 성능: HBase는 일관된 읽기와 쓰기 성능을 제공하여 대규모 데이터에 대한 실시간 액세스를 지원합니다.
## (5) Neo4j
- 그래프 데이터베이스: Neo4j는 그래프 데이터베이스로서 데이터 간의 관계를 중요시하고 효과적으로 저장하고 조회할 수 있습니다.
- ACID 트랜잭션: Neo4j는 원자성, 일관성, 고립성, 지속성(ACID)을 보장하는 트랜잭션을 지원하여 데이터의 정합성과 신뢰성을 유지합니다.

728x90