[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개의 댓글

관련 채용 정보