데이터베이스란
여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합입니다.
DBMS
DBMS는 데이터베이스를 생성, 관리, 사용하는 프로그램 및 도구들의 집합입니다. DBMS는 데이터베이스를 효과적으로 관리하기 위해서 생겨났습니다. DBMS의 역할은 이러한 다양한 데이터에 대한 동시 접근을 관리하고, 데이터의 보안, 무결성, 백업, 복구 등을 제공하여 데이터베이스를 안전하고 효율적으로 관리하는 것입니다.
DBMS의 종류는 크게 관계형 데이터베이스 관리 시스템 (RDBMS), 비관계형 데이터베이스 관리 시스템 (NoSQL) 두 가지가 있습니다.
RDBMS
관계형 데이터베이스(RDB)는 테이블, 행, 열의 정보를 구조화하는 방식입니다. RDB에는 테이블을 조인하여 정보 간 관계 또는 링크를 설정할 수 있는 기능이 있어, 여러 데이터 포인트 간의 관계를 쉽게 이해하고 정보를 얻을 수 있습니다.
RDBMS 종류로는 MySQL, PostgreSQL, Oracle Database, IBM Db2 등이 있습니다.
장점
- 데이터의 구조가 명확히 정의되어 있어 데이터의 일관성과 무결성을 보장합니다.
- 데이터베이스 내의 데이터는 무결성을 유지하여 잘못된 데이터 입력이나 데이터 불일치를 방지합니다.
- 데이터를 중복 없이 한 번만 저장하여 데이터 일관성을 유지하고 저장 공간을 절약합니다.
단점
- 데이터 스키마를 사전에 계획해야 하고, 변경이 어려워서 시스템 구조 변경이 필요할 때 비용이 많이 들 수 있습니다.
- 관계를 맺고 있어서 조인문이 많은 복잡한 쿼리를 작성해야 할 수 있습니다.
- 대체로 수직적 확장만 가능합니다.
NoSQL
NoSQL은 관계형 데이터베이스 모델을 따르지 않는 데이터베이스 시스템을 지칭하는데, 최근 웹 애플리케이션과 빅데이터 분석 등이 보다 보편화되면서 인기를 얻고 있습니다. NoSQL 데이터베이스는 다양한 형태의 데이터를 저장하고 관리할 수 있는 특징을 가지고 있으며, 주요 유형으로는 문서, 키-값, 와이드 컬럼, 그래프 등이 있습니다. 스키마가 없거나 유연한 스키마를 제공하여 대량의 데이터와 높은 사용자 부하에서도 손쉽게 확장할 수 있습니다. 이렇게 다양한 유형의 데이터를 처리하고 대규모 분산 데이터 처리와 높은 확장성을 지원하는 NoSQL은 "Not Only SQL"의 약자로 알려져 있습니다.
NOSQL 종류로는 문서데이터베이스 MongoDB, 키,값 데이터베이스 Redis, 와이드 컬럼 스토어 Apache HBase, 그래프 데이터베이스 Neo4j등이 있습니다.
장점
- 데이터의 구조를 미리 정의할 필요가 없어서 유연성이 높습니다.
- 데이터는 애플리케이션이 필요로 하는 형식으로 저장되어 읽기 속도가 빠릅니다.
- 수직 및 수평 확장이 가능하여 대규모 데이터와 사용자 부하를 처리할 수 있습니다.
단점
- 유연성으로 인해 데이터 구조 결정을 미루게 될 수 있습니다..
- 데이터 중복을 줄이기 위해 데이터를 업데이트해야 하는 부가적인 작업이 필요합니다.
- 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정이 필요한 경우 모든 컬렉션에서 수행해야 합니다.
정리
기준 | RDBMS | NoSQL |
---|---|---|
데이터 구조 | 구조화된 데이터 | 구조화된 데이터, 비구조화된 데이터 |
스키마 | 명확하게 정의됨 | 유연하게 변경 가능 |
데이터 무결성 | 높음 | 낮을 수 있음 |
확장성 | 수직적 확장 | 수평적 확장 |
처리 속도 | 빠름 | 매우 빠름 |
복잡성 | 비교적 복잡 | 비교적 단순 |
유지 관리 | 어려움 | 쉬움 |
대표적인 종류 | MySQL, PostgreSQL, Oracle Database, IBM Db2 | MongoDB, CouchDB, Redis, Memcached, Cassandra, HBase, Neo4j, OrientDB |
활용 사례 | 고객 정보 관리, 금융 시스템, 기업 자원 관리 (ERP) 시스템, 웹 애플리케이션 | 웹 서비스, IoT, 빅데이터 분석, 실시간 데이터 분석 |
참고
https://hongong.hanbit.co.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-databasedb-dbms-sql%EC%9D%98-%EA%B0%9C%EB%85%90/
https://www.whatap.io/ko/blog/173/
https://hstory0208.tistory.com/entry/RDBMS%EC%99%80-NoSQL%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90-%EB%B0%8F-%EA%B0%9C%EB%85%90-%EC%99%84%EB%B2%BD-%EC%A0%95%EB%A6%AC