[CS] 데이터베이스 (2)

young-gue Park·2023년 8월 30일
0

CS

목록 보기
7/18
post-thumbnail

⚡ 데이터베이스 (2)


📌 관계형 데이터베이스 (RDBMS)

🔷 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스

  • SQL 언어를 사용한다.

💡 표준 SQL은 지키지만 대부분 각각의 제품에 특화시킨 SQL을 사용한다.

⭐ MySQL

  • 표준 SQL을 그대로 사용한다.
  • 대부분의 운영체제와 호환되며 C와 C++로 만들어졌다.

🤔 현재 가장 많이 사용하는 데이터베이스라고 알려져있지만 사실 아니다. 스택 오버플로우의 조사 결과는 엄연히 개인을 대상으로 한 조사이기 때문에 학습 목적이 다수이다. DB-Engines라는 자체 산정 기준에 따라 매월 DBMS 순위를 선정하여 발표하는 곳이 있는데, 그곳에서는 Oracle이 늘 부동의 1위를 석권하고 있고 MySQL은 그 뒤를 이어 2위에 머무르고 있다. Oracle이 유료라는 점과 확장형 SQL을 사용한다는 점이 개인 사용자에게는 부담을 주지만 기업 입장에서는 여전히 최고의 DB로 꼽히고 있다.

⭐ PostgreSQL

  • 전세계 RDBM 순위 중 4위를 차지하고 있다.
  • 디스크 조각이 차지하는 영역울 회수할 수 있는 장치인 VACUUM이 특징
  • JSON을 이용해서 데이터에 접근할 수 있다는 장점이 있다.

⭐ Oracle

  • PL/SQL(Procedural Language extension to SQL)을 사용한다.

💡 PL/SQL
단순 SQL의 기능을 넘어 SQL 중간 분기처리, 조회된 결과를 변수로 사용, 예외처리를 하는 등 Oracle 사의 대표적인 언어인 Java의 특성에 맞게 확장된 SQL이다.

  • 유닉스 환경에서 가장 널리 지원된다.

⭐ Microsoft SQL Server(MSSQL)

  • 전세계 RDBM 순위 중 3위를 차지하고 있다.
  • T-SQL(Transact-SQL)을 사용한다.

💡 T-SQL
선언문을 이용하여 관계형 데이터베이스를 조회하고 변경하고 정의하기 위해 본래 IBM이 개발한 표준화된 컴퓨터 언어, 1970년대에 개발되었다.

📌 NoSQL 데이터베이스

🔷 SQL을 사용하지 않는 데이터베이스

  • 도큐먼트 - 컬렉션 구조

⭐ Mongo DB

  • JSON을 통해 데이터에 접근할 수 있다.
  • Binary JSON(BSON) 형태로 데이터가 저장되며 키-값 데이터 모델에서 확장된 도큐먼트 기반의 데이터베이스
  • 다양한 도메인의 데이터베이스를 기반으로 분석하거나 로깅 등을 구현할 때 강점을 보인다.

⭐ redis

  • 인메모리 데이터베이스이자 키-값 데이터 모델 기반의 데이터베이스
  • 채팅 시스템이나 실시간 순위표 서비스에 주로 사용된다.

⭐ Firebase DB

  • Firebase에는 두 종류의 Database가 있다.
    (Cloud firestore, real-time database)

💡 real-time database: Firebase에서 기존에 사용되었던 DB로 여러 클라이언트에서 실시간으로 상태를 동기화해야 하는 모바일 앱을 위한 효율적이고 지연 시간이 짧은 솔루션이다.

💡 Cloud firestore: 모바일 앱 개발을 위한 Firebase의 최신 데이터베이스로서 실시간 데이터베이스의 성공을 바탕으로 더욱 직관적인 새로운 데이터 모델을 선보인다. real-time database보다 풍부하고 빠른 쿼리와 원활한 확장성을 제공한다.

💡 두 종류 다 클라우드 기반 데이터베이스 솔루션을 제공한다.

💡 워낙 파이어베이스의 DB가 유명하여 아예 DB 이름으로만 알고 있는 경우가 많은데 파이어베이스는 구글이 소유하고 있는 모바일 애플리케이션 개발 플랫폼이며 거기에 포함된 DB가 파이어베이스 DB이다.

profile
Hodie mihi, Cras tibi

0개의 댓글