일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux
- java
- git
- 오라클
- 인텔리제이
- JQuery
- 톰캣
- DBeaver
- 자바
- 이클립스
- svn
- 모바텀
- 자바스크립트
- SQL
- Server
- 디비버
- Eclipse
- 보안
- mybatis
- IntelliJ
- Javascript
- db
- 마이바티스
- HTTP
- 상태코드
- Tomcat
- JSON
- 자바문법
- Redis
- oracle
- Today
- Total
JongTachi의 개발 블로그
[DB] SQL(관계형 데이터베이스)과 NosSQL(비관계형 데이터베이스)의 특징과 차이 본문
데이터베이스를 공부하다보면 SQL과 NoSQL을 접하게 되는데요.
이 둘의 차이가 무엇인지 궁금하신 분들을 위해 설명드리겠습니다.
일단 이름부터 살펴보자구요.
SQL = 관계형 데이터베이스
NoSQL = 비관계형 데이터베이스
이름만 봤을 때는 뭔가 서로 상반될 것 같은데요. 관계형 데이터베이스 부터 하나하나 살펴보자구요.
1. SQL(관계형 데이터베이스)
1) SQL의 정의 : SQL은 structured query language의 줄임말인데요, 의미를 해석해보면 -> SQL은 데이터베이스에 어떤 질문 또는 문의를 하기 위해 어떤 구조를 가진 언어라고 해석할 수 있습니다. 즉 데이터베이스를 다루는 언어인셈이지요.
2) SQL의 특징
- 구조화된 데이터를 저장하고 관리하는 데 사용됩니다.
- 테이블 형태로 데이터를 저장하며, 각 테이블은 사전에 정의된 스키마에 따라 열(Column)과 행(row)로 구성됩니다.
- 데이터의 일관성과 무결성을 보장하기 위해 ACID(원자성, 일관성, 격리성, 지속성) 트랜잭션을 지원합니다.
- 정확한 데이터 모델링과 사전 계획된 스키마를 사용하기 때문에 데이터 일관성이 높고 복잡한 관계를 표현할 수 있습니다.
- 대량의 정형 데이터를 다루는 경우, 정확한 스키마와 데이터 일관성이 필요한 경우에 적합합니다.
- 종류: MySQL, PostgreSQL, SQLite, Oracle, MariaDB
2. NoSQL(비관계형 데이터베이스)
1) NoSQL의 정의: NoSQL은 전통적인 SQL 데이터베이스의 제약을 벗어나고, 비구조화된 데이터를 저장하고 처리하는 데에 중점을 두는 언어입니다.
2) NoSQL의 특징
- NoSQL은 스키마가 사전에 정의되지 않거나 동적으로 변경될 수 있는 데이터 모델을 사용합니다. 이는 데이터 모델을 유연하게 구성할 수 있으며, 새로운 데이터 필드를 추가하거나 변경하는 등의 작업이 용이합니다.
- NoSQL은 대부분의 경우 빠른 읽기 및 쓰기 성능을 제공합니다.
- 수평적 확장에 강점을 가지고 있습니다. 대랴으이 데이터를 여러 노드에 분산하여 저장하고 처리함으로써, 처리량을 증가시킬 수 있습니다.
- 종류 : MongoDB, Cassandra, Redis, Neo4j
3. SQL vs NoSQL -> 어떤 것이 더 좋을까?
사실 이런 질문은 의미가 없습니다. 애초에 두 녀석이 다르기 때문이죠. 자신에게 필요한 것을 골라 사용하면 됩니다. 평범한 프로젝트라(정형화된 데이터와 정확한 일관성이 필요한 경우)면 대부분 SQL을 사용하는 편이고, NoSQL의 특징을 사용해야하는 경우에는 NoSQL을 사용하시면 됩니다.
Tip. DBMS??
여러분 DBMS라고 아시나요?
DBMS란 DataBase Management System으로 DataBase를 관리하는 시스템을 말합니다.
즉 DataBase와 상호작용을 하려면 DBMS를 통해 이루어져야 합니다. 여러분은 DataBase와 직접적으로 소통할 수가 없습니다. SQL이라는 언어를 가지고 DBMS와의 소통을 통해 DataBase와 상호작용할 수 있습니니다. 깨알 상식이니 알아두세요!!
'DB' 카테고리의 다른 글
[DB] 테이블 컬럼 조회하기 (0) | 2023.07.20 |
---|---|
[DB] delete문 사용법 (완전 간단) (0) | 2023.07.20 |
[DB] ORM의 특징과 장단점 (0) | 2023.06.07 |
Multiple Primary Key (다중 PK) (0) | 2023.03.15 |
window에서 mariaDB, MySQL 서버 껐다 켜기 (0) | 2023.03.07 |