[Database] RDBMS, NoSQL, In-memory Database

2020. 3. 10. 21:49·데이터베이스

 

 

Spring boot 프로젝트를 생성할 때 dependency 추가에서 SQL 항목에 있는 데이터베이스들을 전부 조사하다가 In-memory database라는걸 알게 되었다. RDBMS랑 NoSQL은 자주 들어서 알고 있었는데 인메모리 데이터베이스는 처음 들어봐서 조사를 해보다가 정리한 내용들을 포스팅하려고 한다.

 

 


 

 

1. RDBMS (Relational DataBase Management System)

 

- 관계형 데이터베이스입니다.

- 예로 MySQL, Oracle, MSSQL, PostgreSQL이 있습니다.

- 효율적, 안정적, 안전한 데이터 저장소입니다.

- 대용량 데이터를 영구적으로 저장, 관리, 접근할 수 있습니다.

- 테이블마다 스키마를 정의해야합니다.

- SQL을 통해 요청을 처리합니다.

- 성능을 높이려면 하드웨어를 높은 성능으로 교체해야 합니다.

- 높은 성능의 하드웨어는 가격이 비싸 RDBMS의 성능을 높이거나 확장하는게 어렵습니다.

 

 

 

2. NoSQL (Not only SQL)

 

- RDBMS의 확장성 문제를 해결하기 위해 나왔습니다.

- 예로 MongoDB, Redis, hBase가 있습니다.

- 비교적 저렴한 가격으로 성능을 높일 수 있습니다.

- RDBMS처럼 여러 테이블을 사용하는게 아닌 큰 테이블 하나만을 사용합니다.

- SQL 질의문을 사용하지 않습니다.

- 구조 변경이 용이하고, 데이터 형식이 다양하며 바꾸기가 쉽습니다.

- 정확성 보다 데이터 양이 중요해 빅데이터에 사용합니다.

 

 

 

3. In-memory database

 

- NoSQL에 해당합니다.

- 예로 h2, Apache Derby Database(JavaDB), Redis, LMDB가 있습니다.

- 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템입니다.

- 디스크(SSD, HDD)에 설치되는 방식(RDBMS)에 비해 메모리 기반이므로 처리 속도가 빠릅니다. (큰 장점)

- 데이터 양의 증가로 데이터베이스 응답 속도가 떨어지는 문제를 해결할 수 있는 대안입니다.

'데이터베이스' 카테고리의 다른 글

1. 데이터베이스의 개념  (0) 2020.05.31
트랜잭션(Transaction)  (0) 2020.03.28
[MySQL] time zone 변경  (0) 2020.02.23
[Database] DML(Data Manipulation Language)  (0) 2020.02.22
[Database] DDL(Data Definition Language)  (0) 2020.02.22
'데이터베이스' 카테고리의 다른 글
  • 1. 데이터베이스의 개념
  • 트랜잭션(Transaction)
  • [MySQL] time zone 변경
  • [Database] DML(Data Manipulation Language)
나는 유찌
나는 유찌
쩌리쨩
  • 나는 유찌
    유찌 개발 일기
    나는 유찌
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 사이드 프로젝트
        • 게시판
        • 블로그(Spring boot + React.js ..
      • 데이터베이스
        • SQLD
      • 이슈 해결
      • Front
        • Javascript
        • Vue.js
        • HTML+CSS
      • Backend
        • Spring
        • ORM
        • JAVA
      • 공부
        • HTTP
        • OOP
        • 이것저것
        • 코딩테스트 | 알고리즘
      • Computer Science
        • Computer architecture
        • 데이터베이스
        • 운영체제
      • 일상
        • 독서
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    refresh token
    mysql 격리수준
    spring 격리수준
    mssql
    AccessDecisionVoter
    Kotlin AccessDecisionManager
    DIRTY READ
    권한 scope 처리
    한국소설
    jwt 로그인 구현
    role scope
    Access Token Refresh Token
    LeetCode
    JWT이란?
    웹 개발
    Access token 재발급
    추리소설
    Kotlin AntPathMatcher
    Spring Boot
    spring
    AntPathMatcher
    phantom read
    히가시노 게이고
    독서
    Spring boot에서 JWT 구현
    Spring Security AccessDecisionManager
    redis 분산락
    access token
    jwt
    pessimisticlock
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
나는 유찌
[Database] RDBMS, NoSQL, In-memory Database
상단으로

티스토리툴바