[SQL 첫걸음] 02. 다양한 데이터베이스

devholic (David)·2023년 4월 20일
0
post-thumbnail

데이터베이스의 종류

현제 데이터베이스 제품의 종류는 크게 다섯 가지로 구분된다.

📂 계층형 데이터베이스

  • 폴더, 파일 등의 계층 구조로 데이터를 저장한다.
  • 역사가 오래된 방식이다.
  • 예시: 하드디스크, DVD 등
  • 현재는 잘 쓰이지 않는다.

🐬 관계형 데이터베이스

  • 행과 열을 가지는 표 형식 데이터를 저장한다.
  • 데이터베이스 안의 데이터는 SQL 명령어로 조작한다.

☕️ 객체지향 데이터베이스

  • 가능하면 객체 (object) 그대로를 데이터베이스의 데이터로 저장한다.
  • 관계형 데이터베이스의 한계점을 극복하기 위해 제안되었다.
  • RDBMS가 SQL을 지원하는 반면, ORDBMS는 OQL (Object Query Language)를 사용한다.
  • 만약 RDBMS와 ORDBMS가 헷갈린다면 여기를 더 참고해보자.

📄 XML 데이터베이스

  • XML 형식으로 기록된 데이터를 저장한다.
  • SQL을 사용할 수 없고, XQuery를 사용한다.

⚡️ key-value store

  • key와 그에 따른 value를 가져오도록 하는 데이터베이스이다.
  • NoSQL (Not only SQL)로부터 나온 열 지향 데이터베이스이다.

RDBMS 사용 시스템

일반적으로 현재 사용하는 인프라는 인터넷이며, 웹 시스템과 연동하여 RDBMS를 사용하는 경우도 많아졌다. 또한 하드웨어가 고성능화, 소형화가 됨에 따라 휴대전화에도 RDBMS가 내장되어 있다. 안드로이드의 경우 SQLite가 들어있는 것이 그 예이다.


데이터베이스 제품

대표적인 RDBMS 제품들로는 Oracle, MySQL, SQLite, PostgreSQL 등이 있다.

Oracle

오라클에서 개발한 RDBMS로, 많은 시스템에서 채택해 사용하고 있는 역사 깊은 데이터베이스이다.

MySQL

오픈소스 커뮤니티에서 나온 RDBMS이며, 초기에는 경량 데이터베이스를 강조해 최소한의 기능만 갖췄으나 지금은 다른 RDBMS와 비교해도 문제가 없을 정도로 발전하였다.

SQLite

오픈소스 커뮤니티에서 나온 RDBMS이며, 임베디드 시스템에서 자주 쓰이는 작은 RDBMS이다.

PostgreSQL

오픈소스 커뮤니티에서 나온 RDBMS이며, 실험적인 기능독특한 구조가 있는 것이 특징이다.


🗣️ SQL 방언 및 표준화

각 RDBMS는 SQL을 지원하지만, 각 데이터베이스마다 기능이 확장되면서 비슷한 행동을 하더라도 서로 다른 명령어가 필요한 상황이 발생했다. 이는 특정 데이터베이스 제품에만 통하는 고유 방언이 생겨나게 되었다.

대표적인 예시로는 키워드 생략외부 결합을 둘 수 있으며, Oracle에서는 데이터를 삭제할 때 DELETE를 사용해도 괜찮은 반면, MySQL에서는 DELETE FROM과 같이 FROM을 생략하면 안 된다.

이런 문제를 해결하기 위해 표준화가 진행되었으며, 때문에 지금은 방언이 많이 줄어들었다.

방언 대신 표준 SQL을 사용하는 것이 좋다.


🔗 참고 자료


부족하거나 설명을 보완해야 할 것이 있다면 댓글 부탁드립니다 😃

profile
개발이 너무 좋아요

0개의 댓글