카테고리 없음
[DB] In-memory DB, RDB, NoSql
handr95
2019. 6. 7. 18:17
반응형
DataBase(데이터베이스)와 DBMS (DataBase Management System, 데이터베이스 관리 시스템)
- DataBase란 기능이나 구조를 나타내는 추상적인 개념
- DBMS란 DataBase를 나타내기 위한 기능을 제공하는 소프트웨어
- Oracle이나 Mysql 같은 제품은 'DBMS이며 데이터베이스가 아니다.'가 바른 표현이다.
IMDB (In-Memory DataBase, 인메모리 데이터베이스)
- 디스크가 아닌 주 메모리에 모든 데이터를 보유하고 있는 데이터 베이스.
- 디스크 검색보다 자료 접근이 훨씬 빠른 것이 장점
- 데이터 양의 빠른 증가로 데이터 베이스의 응답 속도가 떨어지는 문제를 해결할 수 있는 대안
- 단점으로는 안정성이 떨어신다. 정전이라도 나서 DB 서버 전원이 갑자기 내려간다면 안에 있는 자료들이 날라가게 된다.
- Persistence 보장 하기 위해 파일에 메모리상의 데이터를 저장해두고 DBMS가 재구동될 때 디스크로부터 파일을 읽어와 메모리에 DBMS 구조를 모두 재구축하기도 한다.
- 하지만 이 역시 저장하는 시점에 서버에 문제가 생긴다면 이 사이에 변경사항들이 손실된다.
- 따라서 날라가도 상관없는 임시 데이터에 주로 쓰인다.
- 전형적인 디스크 방식은 디스크에 저장된 데이터를 대상으로 쿼리를 수행하지만, 인 메모리 방식은 메모리상에 색인을 넣어 필요한 모든 정보를 메모리상의 색인을 통해 빠르게 검색할 수 있다.
- ex) redis..
RDB (Relational DataBase, 관계형 데이터베이스)
- 2차원 표 형식으로 데이터를 관리하는 데이터 베이스
- ex) mysql, mssql, mariadb...
NoSQL
- 'NoSQL'이란 'Not only SQL'의 줄임말로써 SQL뿐만이 아니라 다른 것이 더 있다는 의미
- 'SQL'이란 관계형 데이터베이스가 데이터를 조작하기 위해 준비한 언어를 의미
- RDB에 있는 일부 기능을 버려서 성능(처리 속도)을 높인다.
- 대량의 데이터를 고속으로 처리해야 하는 웹 서비스와 잘 맞는다.
- ex) redis, mongoDB...
반응형