본문 바로가기
웹개발자 v2.0

데이터베이스(Database)란

by "뭉치" 2020. 7. 29.
728x90

개요


개발이란 데이터를 주고받는 게 사실상 끝이라고 할 수 있습니다. 데이터는 데이터베이스에 저장되고 그 저장된 데이터를 원하는 형식으로 가공하여 클라이언트에게 보여주는 게 개발자의 몫이라고 할 수 있겠습니다. 가장 많이 사용되는 오라클(관계 형 DB)부터 NOSQL(빈 관계 형)까지 러프하게 알아보고 추가적인 Database는 무엇이 있는지 알아보고 넘어가도록 하겠습니다.


관계형 DB

RDB

주로 SQL, 쿼리 하면 떠오는 게 관계형 DB 일 것입니다. CRUD[생성, 조회, 업데이트, 삭제] 기능을 만들기 위해 CREATE, SELECT, UPDATE, DELETE 문을 사용하고 여러 TABLE을 JOIN 하여 원하는 데이터를 가공하여 SELECT 하기도 합니다.

ㅇ 오라클

ㅇ mssql

ㅇ mysql


비관 계영 DB

NOSQL

ㅇ Key-Value

ㅇ Wide Columnar DB

ㅇ Document DB

ㅇ Graph DB


key-value로 이루어진 비관 계영 DB로 주로 속도가 굉장히 빠르다는 이점이 있습니다. 그런데 관계형 DB에 비해 데이터를 영구 보존하는데 위험부담이 있어서 주로 주 데이터는 RDB에 저장하고 메모리 DB에는 RDB에서 조회한 내역을 입력하여 빠르다는 장점을 활용하기 위해 캐시처럼 사용됩니다. 물론 다양한 만큼 쓰임새는 그에 따라 다르게 활용됩니다.

Redis Remote Dictionary Server
memcached  범용 분산 캐시 시스템
hadoop  대용량 데이터 분산 처리 프레임워크
zookeeper  분산 코디네이터
mongoDB  도큐먼트 지향 데이터베이스
cassandra NoSQL 데이터베이스 관리 시스템
kafka  대표적인 메시징 시스템

참조

https://coding-factory.tistory.com/77

https://shoark7.github.io/programming/knowledge/what-is-NoSQL

https://jwprogramming.tistory.com/70

 


데이터베이스 설치(작성 예정)

REST API에 사용될 데이터베이스를 설치하고 연결해볼 예정입니다. (추후 작성 예정)

 

728x90

'웹개발자 v2.0' 카테고리의 다른 글

작업 대기열 및 서버  (0) 2020.07.29
캐싱 서비스(Caching service) 란  (0) 2020.07.29
WAS(Web Application Server) 란  (0) 2020.07.29
로드 밸런서(Load Balancer)란  (0) 2020.07.29
DNS(Domain Name Service/System/Server) 란  (0) 2020.07.29

댓글