NoSQL vs SQL

서수·2022년 12월 11일
1

DataBase

목록 보기
1/3
post-thumbnail

SQL의 특징

구조화 된 쿼리 언어라는 뜻으로 Structured Query Language 라는 뜻입니다. 특정 유형의 데이터베이스와 상호작용을 하는데 사용하는 쿼리 언어입니다.
SQL을 사용하면 관계형 데이터베이스 관리 시스템에서 저장, 수정, 삭제 및 검색이 가능합니다.
가장 핵심적인 두 가지 특징은
1. 데이터는 정해진 데이터 스키마에 따라 테이블에 저장.
2. 데이터는 관계를 통해 여러 테이블에 분산
된다는 점 입니다.

데이터는 테이블에 레코드로 저장되는데, 각 테이블마다 명확하게 정의된 구조가 있습니다. 해당 구조는 필드의 이름과 데이터 유형으로 정의됩니다. 따라서 스키마의 규칙을 준수하지 않으면 테이블에 추가할 수 없습니다. 즉, 스키마를 수정하지 않는 이상 정해진 구조에 맞는 레코드만 추가가 가능 한 것이 관계형 데이터베이스의 특징 중 하나입니다.

관계형 데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 간의 다양한 관계를 나타냅니다.

SQL은 확장을 할 때 수직적 확장을 해야 하며 수직적 확장이라 함은 단순히 데이터 베이스의 성능을 높히는 방법입니다. (ex 컴퓨터 장비 성능 업그레이드 등)

SQL 문

SQL 문 또는 SQL 쿼리는 관계형 데이터베이스 관리 시스템에서 이해하는 유효한 명령입니다. SQL 언어 요소는 올바른 SQL문을 구성하는 식별자, 변수 및 검색 조건과 같은 구성 요소 입니다.

NoSQL의 특징

NoSQL은 테이블을 사용하여 데이터를 저장하지 않는 비관계형 데이터베이스를 뜻합니다. 개발자는 다양한 유형의 NoSQL 데이터 베이스에 그래프, 문서, 키값 등 정보를 저장합니다. NoSQL은 수평 확장이 가능하기 때문에 최신 어플리케이션에 널리 사용되고 있습니다. 수평확장이라 함은 NoSQL 소프트웨어를 실행하는 컴퓨터를 더 추가하여 처리 능력을 높히는 것을 의미합니다. (여러 호스트에서 작동)

SQL과 달리 NoSQL은 다른 구조의 데이터를 같은 컬랙션에 추가가 가능합니다.
Document는 Json과 비슷한 형태로 가지고 있습니다.

둘은 어떨 때 쓰는 것이 좋은가

SQL은 일관된 데이터 조작 언어를 제공하지만 NoSQL 구현은 서로 다른 기술에 따라 달라집니다.
개발자는 트랜잭션 및 분석 애플리케이션에 SQL을 사용하는 반면에 NoSQL은 응답성이 높고 사용량이 많은 애플리케이션에 적합합니다.
관계를 맺고 있는 데이터가 자주 변경되는 애플리케이션이나 변경 될 여지가 없고, 명확한 스키마가 사용자와 데이터에게 중요한 경우 SQL을 선택하고, 정확한 데이터 구조를 알 수가 없거나 변경이나 확장이 될 수 있는 경우나 읽기를 자주하지만 데이터 변경은 자주 없는경우, 데이터베이스를 수평으로 확장해야 하는 경우, 막대한 양의 데이터를 다뤄야 하는 경우에는 NoSQL 을 선택하고 있습니다.

참고 블로그

https://gyoogle.dev/blog/computer-science/data-base/SQL%20&%20NOSQL.html
https://parkadd.tistory.com/41

profile
패션디자인과 출신 비전공자가 개발자로 성장하려 만든 노트

0개의 댓글