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
데이터베이스 설치(작성 예정)
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 |
댓글