2024.10.14.월.TIL NoSQL

김기남·2024년 10월 14일
post-thumbnail

안녕하세요, 오늘은 NoSQL 에 대해 정리해 보았습니다.

NoSQL 데이터베이스란?

NoSQL은 "Not Only SQL"의 약자로, 전통적인 관계형 데이터베이스(SQL)와는 다른 방식으로 데이터를 저장하고 관리하는 데이터베이스 시스템을 의미합니다. NoSQL 데이터베이스는 비정형 데이터, 대량의 데이터, 그리고 빠른 데이터 처리 속도를 요구하는 환경에서 주로 사용됩니다.

NoSQL의 필요성

전통적인 관계형 데이터베이스는 데이터가 정형화된 형태로 저장되어야 하며, 스키마가 고정되어 있어 유연성이 떨어집니다. 반면, NoSQL 데이터베이스는 다양한 형태의 데이터를 저장할 수 있으며, 스키마가 유동적이기 때문에 데이터 구조의 변화에 쉽게 대응할 수 있습니다. 이러한 특성 덕분에 NoSQL은 빅데이터, 실시간 웹 애플리케이션, IoT(사물인터넷) 등 다양한 분야에서 활용되고 있습니다.

NoSQL의 종류

NoSQL 데이터베이스는 크게 네 가지 유형으로 나눌 수 있습니다:

  • 키-값 데이터베이스 (Key-Value DB): 데이터가 키와 값의 쌍으로 저장됩니다. 예를 들어, Redis가 대표적인 키-값 데이터베이스입니다.
  • 도큐먼트 데이터베이스 (Document DB): JSON 형태로 데이터를 저장하며, MongoDB가 유명합니다. 각 도큐먼트는 서로 다른 구조를 가질 수 있습니다.
  • 컬럼 패밀리 데이터베이스 (Column Family DB): 데이터를 열(column) 단위로 저장하며, Cassandra가 대표적입니다.
  • 그래프 데이터베이스 (Graph DB): 노드와 엣지로 데이터를 표현하여 관계를 중시하는 데이터베이스입니다. Neo4j가 잘 알려져 있습니다.

NoSQL 데이터베이스의 특징

NoSQL 데이터베이스는 다음과 같은 특징을 가지고 있습니다:

  • 스케일 아웃(Scale Out): 수평 확장이 용이하여, 서버를 추가함으로써 성능을 향상시킬 수 있습니다.
  • 유연한 스키마 : 데이터 구조가 고정되어 있지 않아, 필요에 따라 쉽게 변경할 수 있습니다.
  • 고속 데이터 처리 : 대량의 데이터를 빠르게 처리할 수 있는 성능을 제공합니다.

NoSQL과 SQL의 차이점

NoSQL과 SQL 데이터베이스는 여러 면에서 차이가 있습니다. SQL 데이터베이스는 관계형 모델을 기반으로 하여 데이터를 테이블 형태로 저장하고, 정형화된 쿼리를 사용합니다. 반면, NoSQL 데이터베이스는 비정형 데이터를 저장하며, 다양한 쿼리 방식을 지원합니다.

NoSQL 데이터베이스의 사용 사례

NoSQL 데이터베이스는 다양한 분야에서 활용되고 있습니다. 예를 들어, 소셜 미디어 플랫폼에서는 사용자 프로필과 같은 비정형 데이터를 저장하는 데 NoSQL을 사용합니다. 또한, 실시간 분석이 필요한 빅데이터 환경에서도 NoSQL 데이터베이스가 많이 사용됩니다.

오늘의 코드카타

class Solution {

    public int solution(int[] num_list, int n) {
        int answer = 0;
        for (int i = 0; i < num_list.length; i++) {
            if (num_list[i] == n) {
                answer = 1;
            }
        }
        return answer;
    }
}
public class Main {

    public static void main(String[] args) {

        Solution solution = new Solution();

        int[] a1 = {1, 2, 3, 4, 5};
        int[] a2 = {15, 98, 23, 2, 15};

        System.out.println(solution.solution(a1, 3));
        System.out.println(solution.solution(a2, 20));
    }
}

정수 찾기

profile
새로운 시작~!

0개의 댓글