본문 바로가기

IT

DB 서버란? DB 서버의 종류 및 소개

데이터베이스 서버란? 무엇일까요?

 

예를 들어 쇼핑몰 웹사이트는 사이트 내의 사용자 이름, 나이, 키 등의 개인 정보나 구매 이력 등 데이터 정보를 저장해야 합니다.

 

이 뿐만 아니라 사진, PDF 등 파일들도 데이터로 간주할 수 있습니다.

 

이러한 데이터를 저장하고, 잘 사용하기 위해서 이용되는 것이 데이터베이스 서버입니다.

그럼 스토리지와 차이점이 무엇이죠?

데이터베이스는 체계적인 데이터 모음입니다. 데이터베이스는 데이터 저장 및 조작을 지원합니다.

 

데이터베이스도 물론 하드디스크 혹은 SSD와 같은 스토리지를 사용합니다. 스토리지에 저장된 데이터를 더욱 사용하기 쉽게 만들어주는 것이 데이터베이스 서버라고 생각하시면 됩니다.

 

데이터베이스 서버를 사용함으로 데이터 관리가 용이해지죠.

 

몇 가지 예를 말씀드리겠습니다.

온라인 전화부에는 이름, 연락처, 기타 연락처, 직장과 같은 세부사항 등과 관련된 데이터를 저장해야 합니다.

또한 페이스북의 예도 들어봅시다. 페이스북에는 가입자, 친구, 가입자 활동, 메시지, 광고 등과

관련된 데이터를 저장, 조작이 필요합니다.

 

만약 친구의 이름을 검색한다면 우리는 그 친구의 연락처나 세부사항까지 확인할 수 있습니다. 또한 새로운 친구를 저장할 때도 우리는 한 번의 클릭만으로 그 친구의 모든 정보를 내 친구 목록에 둘 수 있습니다.

 

이럴 때 사용하는 것이 데이터베이스 서버입니다.

관계형 데이터베이스(DBMS)란?

데이터베이스

관계형 데이터베이스(DBMS, Database management system)은 사용자들이 데이터베이스에 접근하고, 데이터를 조작하며, 보고/표현할 수 있는 프로그램입니다.

데이터베이스 관리 시스템은 새로운 개념이 아니며 1960년대에 처음 구현되었습니다.

찰스 바크먼의 통합 데이터 저장소(IDS)를 최초의 DBMS라고 합니다.

시간 지나 데이터의 인터넷의 발달로 인해 데이터 사용은 점차 늘어났고, 이에 따라 데이터베이스 성능이 많이 발전했으며, 세부적인 기능 또한 발전했고 더욱 진보되고 있습니다.

그럼 SQL은 뭔가요?

SQL은 "S-Q-L" 또는 "See-Qel"로 발음되는 구조화된 쿼리 언어를 의미합니다. SQL은 관계형 데이터베이스를 다루는 표준 언어라고 보시면 됩니다.

 

SQL은 데이터베이스 레코드를 삽입, 검색, 업데이트 및 삭제하는 데 사용할 수 있습니다. SQL은 데이터베이스의 최적화 및 유지보수를 포함한 다른 많은 작업을 수행할 수 있다.

 

MySQL, Oracle, Ms SQL Server, 등과 같은 관계형 데이터베이스는 SQL을 사용합니다.

가령, 회원 데이터베이스 중 20살이 넘는 회원을 찾는다면 아래와 같은 쿼리문을 사용할 수 있습니다.

SELECT * FROM Members WHERE Age > 20

데이터베이스의 종류는? 

데이터 베이스의 종류는 앞서 말한 관계형 데이터베이스와 NoSQL이라고 불리우는 비관계형 데이터베이스가 존재합니다.

 

관계형 데이터베이스(DBMS): 관계형 데이터베이스에는 MySQL, Oracle, Microsoft SQL Server 그리고 AWS 클라우드에서 개발한 Aurora까지 다양한 관계형 데이터베이스가 존재합니다. 대부분 웹사이트 혹은 프로그램들은 위 관계형 데이터베이스 중 하나를 선택해서 사용합니다.

 

각 관계형 데이터베이스들은 큰 틀은 같으나, 성능이라든지 세부 기능은 약간의 차이가 있습니다.

 

비관계형 데이터베이스(NoSQL): 비관계형 데이터베이스는 데이터 간의 관계를 줄이는대신 성능을 높이는데 목적으로 사용됩니다. 데이터끼리의 관계가 줄어듬으로, 서버를 수평적으로 늘려 더 좋은 성능을 이끌어 낼 수 있죠.

 

주로 Key, Value 형식으로 JSON 방식으로 사용하기도 합니다. 따라서 Document DB로 불리우기도 합니다.

 

비관계형 데이터베이스에는 MongoDB, Casandra, AWS의 DynamoDB가 있으며, 메모리 DB로 Memcached, Redis 가 존재합니다. 또한 대규모 데이터 처리를 위한 Hadoop도 NoSQL 기반으로 설계되었습니다.

 

FaceBook, 구글, MS와 같은 대규모 IT 회사들은 NoSQL 또한 많이 사용하고 있습니다. 그러나 비관계형 데이터베이스가 관계형 데이터베이스보다 우월하다는 뜻은 아닙니다.

 

관계형, 비관계형 각자의 쓰임이 존재합니다. 관계형의 경우 회원 정보 등 복잡한 데이터의 관계가 있을 경우 적합하며, 비관계형의 경우 로그 분석 등 단일 칼럼으로 사용할 수 있을 경우 적합하다고 볼 수 있습니다.