database·
Database
목차
- Data : 하나 이상의 연속된 기호의 집합
- Database : 컴퓨터 시스템에 전기적으로 저장된 데이터의 집합
- DBMS(Database Management System) : DB를 관리하는 소프트웨어

- Relation Database Management System
- 관계형 모델을 기반으로 한 데이터베이스 관리 소프트웨어
- 관계형 모델 : E.F. Codd, "A Relational Model of Data for Large Shared Data Banks" 에 의해 제안됨
- 세계 최초의 RDBMS: IBM System R, Berkeley Postgres
- Structured Query Language
- 선언적 언어 cf. 절차적 언어
- RDBMS 제어에 사용되고 있다.
- Not Only SQL
- 관계형 데이터베이스가 아닌 다른 종류의 데이터베이스
- 그래프 디비, 도큐먼트 디비, KV Store
- MongoDB, Redis, DyanmoDB, neo4j, Casandra, HBASE, ...
- Consistency, Availability, Partition Tolerence
- Atomicity, Consistency, Isolation, Durability
- https://www.mongodb.com/
- Json (Bson) 기반의 Document DB
- 비교적 빠르고 사용이 간단함
- 다만, 조인에 부적합하다는 단점이 있음
- RDBMS처럼 사용할 경우 성능문제를 야기할 수 있으므로 주의가 필요함
- 매우 빠름
- 단순 데이터 처리 및 캐싱, 분산 DB 등에 적합
- KV Store + Document Store
- 설치가 필요없음
- 고성능, 고가용성, 내구도
- 저렴하지 않은 비용
- SPA, 모바일 앱 개발시 백엔드 서버 대체 용으로 사용 가능
- 비교적 쉽게 사용할 수 있는 전문(full text) 검색엔진으로, 활용도가 높음
- HBASE, Spark 등 다양한 응용에 널리 사용되고 있다.