프로그래머스 백엔드 1기/Database
데이터베이스 (1) - 데이터베이스 용도
|테드|
2021. 8. 9. 23:54
서비스를 통해 만들어지는 데이터 저장을 위한 데이터베이스
프로덕션 관계형 데이터베이스 (RDBMS)
- 웹/앱 서비스 운영에 필요한 관계형 데이터베이스를 지칭한다.
- 서비스의 운영에 필요한 데이터들을 저장하는 곳이다.
- OLTP (Online Transaction Processing)
- 빠른 처리속도가 중요하다. 사양이 낮거나 최적화가 안 되어있다면 속도가 느려질 수 있다.
- 데이터를 구조화된 테이블들의 집합으로 구성하여 저장하고 관리한다.
- 관계형 DB의 언어를 SQL이라고 한다.
- ex) MySQL, PostgreSQL
데이터 분석을 위한 데이터베이스
데이터 웨어하우스
- OLAP(Online Analytical Processing)
- 빠른 처리속도보다 구조화된 큰 데이터를 처리할 수 있는지에 중점을 둔다.
- 회사 관련 데이터를 저장 및 분석하는 용도로 사용하며 의사결정 및 서비스 최적화에 이용한다.
- 주로 내부 직원들이 사용한다
- ex) BigQuery, Snowflake
데이터 순환 구조
웹/앱 서비스에서 생성되는 다양한 데이터들을 프로덕션 RDBMS에 저장한다.
-> 서비스에서 생성된 데이터, 외부 데이터(이메일, 마케팅) 들을 추출하여 데이터 웨어하우스에 저장한다.
-> 데이터 웨어하우스에 저장된 데이터를 기반으로 사용자 맞춤형 추천/마케팅에 사용할 수 있다.
-> 해당 데이터들을 통해 제품 서비스를 개선하고, 다시 웹/앱 서비스에서 생산되는 데이터들을 저장하는 사이클을 반복한다.
다양한 데이터베이스의 종류
관계형 데이터베이스: 구조화된 데이터
- 프로덕션용 관계형 데이터베이스
- 데이터 웨어하우스용 관계형 데이터베이스
비관계형 데이터베이스: 비구조화 데이터도 다룬다
- NoSQL이라고도 부른다.(SQL을 사용하지 않는다는 의미가 아니라, SQL 이외의 것도 사용한다 라는 의미)
- 보통은 프로덕션 관계형 데이터베이스를 보완하기 위한 용도로 사용한다.
- 크게 4종류
- Key/Value Storage(캐시): Redis, Memcache
- Document Store: MongoDB
- Wide Column Storage(데이터를 많이 저장할 수 있음): Cassandra, HBase, DynamoDB
- Search Engine(검색): ElasticSearch
728x90
반응형