데이터베이스 서버

데이터베이스 서버(database server)는 클라이언트–서버 모델에 따라 다른 컴퓨터 프로그램이나 컴퓨터에 데이터베이스 서비스를 제공하는 데이터베이스 응용 프로그램을 사용하는 서버이다. 데이터베이스 관리 시스템(DBMS)은 종종 데이터베이스 서버 기능을 제공하며, 일부 데이터베이스 관리 시스템(MySQL 등)은 데이터베이스 접근을 위해 전적으로 클라이언트-서버 모델에 의존한다(반면 SQLite와 같은 다른 시스템은 임베디드 데이터베이스로 사용되도록 설계되었다).

사용자는 요청된 데이터를 표시하는 사용자 컴퓨터에서 실행되는 "프런트엔드"를 통해또는 서버에서 실행되며 데이터 분석 및 저장과 같은 작업을 처리하는 "백엔드"를 통해 데이터베이스 서버에 접근한다.

마스터-슬레이브 모델에서 데이터베이스 마스터 서버는 데이터의 중앙 및 기본 위치이며, 데이터베이스 슬레이브 서버는 프록시 역할을 하는 마스터의 동기화된 백업이다.

대부분의 데이터베이스 응용 프로그램은 질의 언어에 응답한다. 각 데이터베이스는 자체 질의 언어를 이해하고 제출된 각 질의를 서버가 읽을 수 있는 형태로 변환하여 실행하고 결과를 검색한다.

독점 데이터베이스 응용 프로그램의 예로는 오라클, IBM DB2, IBM 인포믹스, 마이크로소프트 SQL 서버가 있다. 자유 소프트웨어 데이터베이스 응용 프로그램의 예로는 PostgreSQL이 있으며, GNU 일반 공중 사용 허가서 하에는 인그레스 및 MySQL이 있다. 모든 서버는 고유한 질의 논리와 구조를 사용한다. SQL(구조화 질의어) 질의 언어는 모든 관계형 데이터베이스 응용 프로그램에서 거의 동일하다.

명확히 하자면, 데이터베이스 서버는 데이터베이스 응용 프로그램을 통해 클라이언트 관련 서비스를 유지 관리하는 서버일 뿐이다.

DB-엔진은 순위에서 300개 이상의 DBMS를 나열한다.

 역사 
대규모 데이터 집합 모델링의 기초는 1969년 찰스 바크먼이 처음 도입했다. 바크먼은 데이터를 그래픽으로 표현하는 수단으로 데이터 구조 다이어그램(DSD)을 도입했다. DSD는 다양한 데이터 엔티티 간의 관계를 표현하는 수단을 제공했다. 1970년 코드는 데이터베이스 사용자가 데이터베이스의 "내부 작동"을 알 필요가 없다는 개념을 도입했다. 코드는 데이터의 "관계형 보기"를 제안했으며, 이는 나중에 오늘날 대부분의 데이터베이스가 사용하는 관계형 모델로 발전했다. 1971년 CODASYL(프로그래밍 언어 코볼 개발의 원동력)의 데이터베이스 태스크 리포트 그룹은 "데이터베이스를 설명하기 위한 데이터 정의 언어, 프로그램에 알려진 데이터베이스의 일부를 설명하기 위한 데이터 정의 언어, 그리고 데이터 조작 언어"를 처음 제안했다. 1970년대 대부분의 데이터베이스 연구 및 개발은 관계형 모델에 집중되었다.

핵심 개념 및 작동
데이터베이스와 서버는 별개의 것이다. 서버는 리소스를 관리하는 네트워크 컴퓨터(하드웨어 또는 소프트웨어)인 반면, 데이터베이스는 그 안에 저장된 구조화된 데이터 모음이다. "데이터베이스 서버"는 데이터베이스 관리 시스템(DBMS)을 실행하는 데 전용되는 특정 소프트웨어 및 하드웨어이다.
사용자는 일반적으로 직접 연결하지 않는다. 대부분의 최종 사용자는 프런트엔드 애플리케이션(예: 웹사이트 또는 모바일 앱)과 상호 작용하며, 이 애플리케이션은 사용자를 대신하여 데이터베이스 서버와 통신한다.
SQL은 그림의 일부일 뿐이다. SQL은 관계형 데이터베이스에서 데이터를 질의하고 조작하는 표준 언어이지만, 그 자체로는 사실상 쓸모가 없다. 실제 기능을 제공하려면 더 넓은 애플리케이션 생태계(미들웨어, 보고 도구 등) 내에서 통합되어야 한다.
성능은 종종 CPU 바운드이며, I/O 바운드가 아니다. 잘 튜닝된 데이터베이스는 대부분의 시간을 디스크에서 데이터를 읽는 것을 기다리지 않고 메모리(RAM)에서 데이터를 처리하는 데 보낸다. 데이터베이스가 I/O 바운드(느린 디스크 접근)인 경우, 종종 스키마 문제 또는 불량한 질의 최적화를 나타낸다.
"서버리스" 데이터베이스는 여전히 서버에서 실행된다. 클라우드 데이터베이스 컨텍스트에서 "서버리스"라는 용어는 사용자가 기본 물리적 인프라를 관리할 필요가 없음을 의미한다. 클라우드 공급자가 확장 및 유지 관리를 자동으로 처리하지만, 물리적 서버는 여전히 작업을 수행한다.

1975년, 바크먼은 허니웰에서 일하면서 관계형 모델과 데이터 구조 집합이 데이터를 구조화하는 유사하고 "일치하는" 방식임을 입증했다. 개체-관계 모델은 피터 첸이 MIT에서 연구를 수행하던 1976년에 현재 형태로 처음 제안되었다.The Entity-Relationship Model: Toward a Unified View of Data (1976) 이 모델은 관계형 데이터베이스를 설명하는 데 가장 자주 사용되는 모델이 되었다. 첸은 내비게이션 모델보다 우수하고 코드가 제안한 관계형 모델보다 "현실 세계"에 더 적용 가능한 모델을 제안할 수 있었다.

 같이 보기 
 데이터베이스 복제

 각주 

분류:데이터 관리
분류:서버