2024-01-07[WIL]

jenna·2024년 1월 7일
0

TIL/WIL

목록 보기
52/59

NOSQL & SQL

SQL(Structured Query Language)

:SQL(Structured Query Language)은 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어

  • 관계형데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 간의 다양한 관계를 나타낸다(테이블 형식으로 데이터를 저장하며, 각 테이블은 고유한 데이터 필드(열) 세트를 가진다. 테이블 간에는 관계를 설정할 수 있으며, 이를 통해 복잡한 쿼리와 분석을 수행할 수 있다)

  • 구조화된 쿼리 언어(SQL)를 사용: SQL을 사용하면 강력한 쿼리를 작성할 수 있고 데이터 조작 및 정의 언어를 포함한 많은 기능을 제공한다.

  • 스키마 기반: 데이터는 테이블에 미리 정의된 스키마에 따라 저장된다. 스키마는 데이터의 구조(데이터 타입, 값의 유무 등)를 정의한다.

  • ACID 트랜잭션: SQL 데이터베이스는 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)을 보장하는 ACID 트랜잭션을 지원한다.

NOSQL(Not Only SQL)

:NoSQL(Not Only SQL)은 테이블을 사용하여 데이터를 저장하지 않는 비관계형 데이터베이스

NoSQL 데이터베이스는 대규모 데이터 집합을 저장하고 분석하는 데 유용하며, 키-값 쌍, 넓은 열, 그래프 또는 문서와 같이 다양한 데이터 모델을 지원한다

  • 스키마 없음: NoSQL 데이터베이스는 유연한 데이터 모델을 지원하므로, 애플리케이션의 요구 사항에 따라 데이터를 저장하고 검색할 수 있다.
  • 수평적 확장성: NoSQL 데이터베이스는 데이터를 여러 서버에 분산시키는 데 효과적이다. 이로 인해 데이터베이스는 많은 양의 트래픽과 데이터를 처리할 수 있다.
  • BASE 트랜잭션: NoSQL 데이터베이스는 일반적으로 ACID 트랜잭션 대신 BASE(Basically Available, Soft state, Eventually consistent) 트랜잭션을 지원한다.

정형화된 데이터와 복잡한 쿼리를 다루는 경우 SQL이 적합할 수 있으며, 대규모의 비정형 데이터를 다루는 경우 NoSQL이 더 적합할 수 있다.

profile
https://github.com/jennaaaaaaaaa

0개의 댓글