[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
        • 데이터베이스
        • 운영체제
      • 일상
        • 독서
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바