Dbms
DBMS
Why?
다수의 사용자가 데이터베이스 내의 데이터에 접근할 수 있도록 설계된 시스템이다.
RDBMS
2차원 행과 열로 데이터의 관계를 관리하는 데이터베이스다.
MySQL
스키마에 맞춰서 데이터의 무결성을 보장할 수 있지만, 시스템이 커질수록 성능이 저하된다.
NoSQL
Not Only SQL, 관계형 데이터베이스가 아닌 나머지
Redis, MongoDB
비대해져서 관계가 복잡한 RDBMS를 보안하기 위해 등장했다.
Key-value 형태로 자유롭게 데이터를 관리할 수 있지만 중복된 데이터가 추가될 수 있어서 추가적인 관리가 필요하다.
비정형 데이터를 저장할 때 적합하다.
정규화
복잡한 쿼리 기능이 없기 때문에 효율성을 위해서 의도적으로 중복된 데이터를 저장하여 비정규화된 방식으로 접근을 해야한다.
DB-Engine 특징 (Ranking 1-9)
Oracle
은행권에서 사용한다. 검증되어있고 성능이 좋으며 안정적이다. 그만큼 비싸다.
MySQL
Microsoft SQL Server
PostgreSQL
MongoDB
json기반 레코드 저장으로 아무거나 막 저장한다. 비교적 빠르고 사용이 간단하지만 조인에 부적합하다. 이전 버전의 경우 쓰기 성능에 문제가 있다.
Redis
성능이 매우 빠르다. 단순 데이터 처리, 캐시 / 데이터 분산 용도로 사용된다.
IBM Db2
Elasticsearch
검색 엔진, 로그 분석
SQLite
모든 모바일 기기에 들어있다.