데이터베이스 검색

완료됨

데이터베이스는 데이터를 저장하고 쿼리할 수 있는 중앙 시스템을 정의하는 데 사용됩니다. 단순하게 말하면 파일이 저장되는 파일 시스템도 일종의 데이터베이스이지만, 전문적인 데이터 컨텍스트에서 데이터베이스라는 용어를 사용할 때는 파일이 아닌 데이터 레코드를 관리하는 전용 시스템을 의미합니다.

관계형 데이터베이스

관계형 데이터베이스는 정형 데이터를 저장하고 쿼리하는 데 널리 사용됩니다. 데이터는 엔터티(고객, 제품, 판매 주문 등)를 나타내는 테이블에 저장됩니다. 엔터티의 각 인스턴스에는 이 인스턴스를 고유하게 식별하는 기본 키가 할당되며, 이러한 기본 키는 다른 테이블에 있는 엔터티 인스턴스를 참조하는 데 사용됩니다. 예를 들어, 판매 주문 레코드에서 고객의 기본 키를 참조하여 어느 고객이 주문을 진행했는지 나타낼 수 있습니다. 이렇게 키를 사용하여 데이터 엔터티를 참조하는 기능은 관계형 데이터가 정규화될 수 있도록 해 줍니다. 여기서 정규화란 예컨대 개별 고객의 세부 정보가 고객이 진행하는 모든 판매 주문에 저장되는 대신 한 번만 저장될 수 있도록 중복된 데이터 값이 제거됨을 뜻하기도 합니다. 테이블은 SQL(구조적 쿼리 언어)을 사용하여 관리 및 쿼리됩니다. SQL은 ANSII 표준을 기반으로 하기 때문에 여러 데이터베이스 시스템에서 비슷한 방식으로 사용됩니다.

Image showing a relational database schema

비관계형 데이터베이스

비관계형 데이터베이스는 데이터에 관계형 스키마를 적용하지 않는 데이터 관리 시스템입니다. 비관계형 데이터베이스는 NoSQL 데이터베이스라고 지칭되는 경우가 많으나, 일부 비관계형 데이터베이스는 SQL 언어의 변형을 지원하기도 합니다.

널리 사용되는 비관계형 데이터베이스에는 크게 네 가지 유형이 있습니다.

  • 키-값 데이터베이스: 각 레코드는 고유한 키와 연결된 값으로 구성되며, 값은 임의의 형식일 수 있습니다.

    Image showing a key-value database

  • 문서 데이터베이스: 키-값 데이터베이스의 특수 형태로, 값이 JSON 문서입니다. JSON 문서는 시스템이 구문 분석하고 쿼리하도록 최적화된 형식입니다.

    Image showing a document database

  • 열 패밀리 데이터베이스: 행과 열로 이루어진 표 형식 데이터를 저장합니다. 열은 열 패밀리라는 그룹으로 나눌 수 있습니다. 각 열 패밀리는 논리적으로 서로 관련된 열 집합을 보유합니다.

    Image showing a column family database

  • 그래프 데이터베이스: 엔터티를 노드로 저장합니다. 노드는 노드 사이의 관계를 정의하는 링크를 갖습니다.

    Image showing a graph database