관계형 데이터베이스 관리 시스템
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
관계형 데이터베이스 관리 시스템(RDBMS)은 데이터를 테이블 형태로 구성하여 관리하는 데이터베이스 시스템이다. 1969년 에드가 F. 코드가 관계형 모델을 제창하며 시작되었으며, 코드의 12가지 규칙을 충족하는 시스템을 RDBMS로 정의하기도 한다. RDBMS는 데이터를 관계(테이블)로 다루고, 관계 연산을 통해 데이터를 참조하고 갱신하는 시스템으로, SQL을 데이터베이스 언어로 사용한다. 오라클, IBM DB2, 마이크로소프트 SQL Server 등이 상용 RDBMS이며, MySQL, PostgreSQL, SQLite 등은 오픈 소스 RDBMS이다. RDBMS는 데이터 독립성, 무결성, 트랜잭션 처리, 보안 등의 기능을 제공하지만, SQL의 한계, 경직된 스키마, 성능 문제, NoSQL과의 비교 등 비판도 존재한다.
더 읽어볼만한 페이지
- 관계형 모델 - 관계 논리
관계 논리는 관계 모델 기반 데이터베이스 언어로서 관계 대수와 논리적으로 동일하며, 튜플 관계 논리와 도메인 관계 논리로 나뉘어 쿼리 최적화에 사용된다. - 관계형 모델 - 관계형 데이터베이스
관계형 데이터베이스는 데이터를 테이블 형태로 구성하여 관리하며, 1970년 E.F. 코드에 의해 정의되었고, RDBMS를 통해 ACID 트랜잭션, 저장 프로시저, 정규화, 인덱스 등의 기술을 활용하여 다양한 분야에서 사용된다. - 관계형 데이터베이스 관리 시스템 - IBM 시스템 R
- 관계형 데이터베이스 관리 시스템 - 마이크로소프트 액세스
마이크로소프트 액세스는 1992년 출시된 데이터베이스 관리 시스템으로, 테이블, 쿼리, 폼 등을 생성하고 VBA를 통해 솔루션을 개발하며, 윈도우에서 사용 가능하고 다양한 데이터 형식과 통합된다. - 데이터베이스 관리 시스템 - 트랜잭션 처리
트랜잭션 처리는 데이터베이스 시스템에서 데이터의 일관성과 무결성을 보장하기 위한 기술이며, ACID 속성을 통해 데이터 정확성을 유지하고 롤백, 데드락 처리 등의 기술을 활용한다. - 데이터베이스 관리 시스템 - 저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다.
관계형 데이터베이스 관리 시스템 |
---|
2. 역사
관계형 데이터베이스 관리 시스템(RDBMS)의 역사는 1969년 에드가 F. 코드가 RDBMS를 제창하는 획기적인 논문을 발표하면서 시작되었다. 이 논문은 1970년 ACM 학술지에 "A Relational Model of Data for Large Shared Data Banks(대규모 공유 데이터뱅크의 데이터 관계 모델)[1]"로 게재되었다. 코드는 이 논문과 이후 발표한 논문을 통해 "릴레이셔널"(관계에 기초한)의 개념을 정의했다.
RDBMS의 정의와 관련해서는 논쟁이 있는데, 데이터베이스에 종사하는 많은 사람들이 받아들일 수 있는 RDBMS의 정의는 아직 확립되지 않았다. 일부에서는 여러 개의 행과 여러 개의 열로 이루어진 테이블 구조로 데이터를 처리할 수 있기만 하면, 관계 모델에 엄격하게 준수하지 않더라도 RDBMS의 기준을 충족한다고 본다. 그러나 널리 알려진 DBMS의 대부분은 엄격하게 관계 모델을 준수하지 않으며, 커드의 12 규칙을 모두 충족하지 못한다. 다른 견해에서는, 커드의 12 규칙을 모두 충족하지 못하는 DBMS는 RDBMS라고 할 수 없다고 하며, 주요 논자로는 에드거 F. 코드, 크리스 데이트, 휴 다윈 등이 있다.
현재 RDBMS 구현의 대부분은 데이터베이스 언어로 SQL을 채택하고 있다. 그러나 SQL을 대체하는 데이터베이스 언어 (D에 기반한 튜토리얼 D 등)가 제창되고 구현이 이루어지고 있지만, 상용 RDBMS에서 채택되는 경우는 드물다.
2. 1. 관계형 모델의 탄생
1970년, IBM의 에드거 F. 코드는 "대규모 공유 데이터뱅크의 데이터 관계 모델(A Relational Model of Data for Large Shared Data Banks)"이라는 논문을 통해 '관계형 데이터베이스'라는 용어를 처음 소개했다.[9] 그는 이 논문과 이후 논문에서 "관계"의 의미를 정의했으며, 커드의 12 규칙을 통해 관계형 데이터베이스 시스템 구성에 대한 대표적인 정의를 제시했다.관계형 모델을 최초로 구현한 시스템으로는 미시간 대학교의 Micro DBMS(1969), MIT(1971)[10], IBM 영국 피터리 과학센터의 IS1(1970-72)과 PRTV(1973-79) 등이 있었다. RDBMS라는 이름을 달고 판매된 최초의 시스템은 1978년 판매된 Multics Relational Data Store이다.
1974년, IBM은 RDBMS 시제품 개발을 목표로 시스템 R을 개발하기 시작했다.[6] 시스템 R은 1981년 SQL/DS로 처음 상용화되었지만,[7] 최초의 상용 RDBMS는 1979년 릴레이셔널 소프트웨어(현 오라클)가 발표한 오라클이다.[8]
그러나 초기 관계 모델 구현 대부분은 커드의 12 규칙을 모두 충족하지 못했다. 이 때문에 RDBMS라는 용어는 더 넓은 의미로 사용되기도 한다. 일반적으로 다음 두 가지 요건을 충족하는 데이터베이스 시스템을 RDBMS라고 칭한다.
RDBMS의 정의에 대해서는 논쟁이 있다. 일부에서는 관계 모델을 엄격하게 준수하지 않더라도 테이블 구조로 데이터를 처리할 수 있으면 RDBMS로 간주한다. 반면, 에드거 F. 코드, 크리스 데이트, 휴 다윈 등은 커드의 12 규칙을 모두 충족해야만 진정한 RDBMS라고 주장하며, 그렇지 않은 시스템은 "가상 관계형 데이터베이스 관리 시스템"(PRDBMS)으로 분류한다.
오늘날 대부분의 RDBMS는 데이터베이스 언어로 SQL을 채택하고 있지만, 튜토리얼 D와 같이 SQL을 대체하려는 움직임도 있다.
2. 2. 초기 RDBMS 개발
1974년, IBM은 RDBMS 시제품을 목표로 시스템 R 개발을 시작했다.[6] 시스템 R은 1981년 출시된 SQL/DS로 처음 상용화되었지만,[7] 최초의 상용 RDBMS는 1979년에 릴레이셔널 소프트웨어(현 오라클)가 발표한 오라클이다.[8]"관계형 데이터베이스"라는 용어는 1970년 IBM의 에드가 F. 코드가 발명했다. 코드는 자신의 논문 "A Relational Model of Data for Large Shared Data Banks"에서 처음 이 용어를 소개했다.[9] 그는 이 논문과 이후의 논문에서 그가 말하는 "관계"가 무엇인지 정의했다. 관계형 데이터베이스 시스템 구성에 대한 대표적 정의는 커드의 12 규칙에 나열되어 있다. 그러나 대부분의 초기 구현들은 커드의 규칙들을 모두 준수하지 않았고, 결국 관계형 데이터베이스란 용어는 최소한 다음 두 요건을 만족하는 데이터베이스 시스템이라는 더 광범위한 의미로 사용되었다.
- 사용자에게 데이터를 관계로서 표현한다. 즉, 행과 열의 집합으로 구성된 테이블의 ''묶음'' 형식으로 데이터를 제공한다.
- 테이블 형식의 데이터를 조작할 수 있는 관계 연산자를 제공한다.
초창기에 관계형 모델을 비교적 충실하게 구현한 시스템들로는 미시간 대학교에서 만든 Micro DBMS(1969), MIT(1971)[10], IBM 영국 피터리 과학센터에서 만든 IS1(1970 -72)과 차기작 PRTV(1973-79)등이 있다. RDBMS란 이름을 달고 판매된 최초의 시스템은 1978년 판매된 Multics Relational Data Store다.
2. 3. 상용 RDBMS의 등장
1974년, IBM은 RDBMS 시제품을 목표로 시스템 R 개발을 시작했다.[6] 시스템 R은 1981년 출시된 SQL/DS로 처음 상용화되었다.[7] 하지만 최초의 상용 RDBMS는 1979년에 릴레이셔널 소프트웨어(현 오라클)가 발표한 오라클이다.[8] RDBMS로 판매된 최초의 시스템은 1978년부터 출시된 Multics Relational Data Store였다. 그 외에 잉그레스 (마이클 스톤브레이커가 중심이 되어 캘리포니아 대학교 버클리에서 개발)나 IBM BS12 등이 있다.3. RDBMS의 기능
RDBMS는 다음과 같은 주요 기능을 제공한다.
- 물리적 데이터 독립성: 데이터베이스를 저장하는 저장 장치를 변경해도 RDBMS에 접근하는 방법을 바꿀 필요가 없다. RDBMS는 사용자나 응용 소프트웨어에게 저장 장치의 변경을 숨길 수 있다.[1]
- 객체 지향 기능 확장: 일부 RDBMS는 객체 지향 기능을 확장하여 객체 관계형 데이터베이스 관리 시스템(ORDBMS)으로 불리기도 한다.
3. 1. 데이터베이스 언어
데이터베이스 언어는 DBMS에 다양한 지시를 전달하기 위한 언어이다. 데이터베이스 언어는 개념적으로 데이터 정의 언어(DDL), 데이터 조작 언어(DML), 데이터 제어 언어(DCL)로 구성된다. 데이터 정의 언어는 데이터베이스의 구조를 정의하며, 데이터 조작 언어는 데이터베이스에 대한 검색 및 업데이트와 같은 작업을 수행한다. 데이터 제어 언어는 데이터에 대한 접근 제어를 수행한다. RDBMS는 관계형 모델을 기반으로 한 데이터베이스 언어를 갖추고 있으며, RDBMS의 데이터 조작 언어는 관계형 모델의 관계 대수와 관계 논리를 기반으로 한다. RDBMS로 간주되는 시스템의 대부분은 데이터베이스 언어 SQL을 갖추고 있다.[1]3. 2. 데이터 독립성
RDBMS는 파생 관계(뷰)를 통해 논리적 데이터 독립성을 지원한다. 파생 관계는 관계 대수 또는 관계 논리의 식에 이름을 붙인 것으로, 관계의 일종이며 뷰라고도 한다. SQL CREATE TABLE 문으로 정의하는 기본적인 관계(테이블)는 기본 관계라고 한다. 파생 관계를 사용하면 복잡한 검색 및 업데이트와 같은 데이터 조작을 간략하게 설명할 수 있다.[1]3. 3. 데이터 무결성
데이터 무결성은 부정한 데이터가 등록되거나 부정한 데이터로 갱신되는 것을 방지하는 것을 말한다. 관계형 데이터베이스 관리 시스템(RDBMS)은 도메인, 데이터 타입, 고유 제약 조건, 참조 무결성 제약 조건, 일반 제약 조건(CHECK 제약 조건), 트리거 등의 기능을 갖추고 있다.[1]3. 4. 트랜잭션 처리
ACID 특성을 기반으로 트랜잭션 처리를 수행한다. 여러 사용자가 동시에 동일한 데이터를 참조 및 업데이트하더라도 모순 없이 정상적으로 처리한다.[1]3. 5. 보안
대부분의 RDBMS는 보안(기밀 보호)에 관해 임의 접근 제어 또는 강제 접근 제어를 제공하며, 일부 RDBMS에서는 데이터 암호화 기능도 제공한다. 많은 RDBMS는 임의 접근 제어를 채택하고 있다 (SQL에서는 임의 접근 제어만 규정하고 있다). SQL의 임의 접근 제어에서는 GRANT 문을 통해 사용자(인증 식별자)를 지정하고, 해당 사용자가 액세스할 수 있는 개체(관계 등) 및 액세스 종류(검색, 업데이트 등)를 정의한다. 데이터 암호화 기능에서는 RDBMS를 우회한 부정한 데이터 액세스에 대한 대책으로 RDBMS에서 관리 및 송수신하는 데이터를 암호화한다.[6]3. 6. 복구
트랜잭션 장애, 시스템 장애, 저장 매체의 장애로부터 복구를 수행한다.3. 7. 최적화
데이터 조작 언어(DML)에 의한, 고수준의 관계 대수 및 관계 논리로 기술된 데이터 처리 요구를, 저수준의 절차로 최적화(쿼리 최적화)하여 실행한다.[1]3. 8. 분산 데이터베이스
분산 데이터베이스는 네트워크로 연결된 여러 컴퓨터를 사용하여, 각 컴퓨터에서 DBMS의 프로세스를 협조시켜 작동시키고, 전체적으로 가상적으로 하나의 DBMS를 실현하는 기술이다. 여러 컴퓨터를 사용하므로 가용성 및 처리 성능을 향상시킬 수 있다. 클라이언트 서버 데이터베이스는 분산 데이터베이스의 간단하고 특수한 형태라고 할 수 있다.4. RDBMS의 종류
RDBMS는 크게 상용 RDBMS와 오픈 소스 RDBMS로 나눌 수 있다.
=== 상용 RDBMS ===
미국 상용 RDBMS 시장은 오라클, IBM/Informix, Microsoft, 사이베이스(Sybase), 테라데이타(Teradata) 5개 사가 시장(매출)의 약 90%를 차지하고 있다.[1]
가트너의 2008년 조사 결과는 다음과 같다.[1]
관계형 데이터베이스 관리 시스템 | 점유율 |
---|---|
오라클 데이터베이스 | 70% |
Microsoft SQL Server | 68% |
MySQL (오라클 코퍼레이션) | 50% |
IBM DB2 | 39% |
IBM Informix | 18% |
SAP 사이베이스 Adaptive Server Enterprise | 15% |
SAP 사이베이스 IQ | 14% |
테라데이터 | 11% |
관계형 데이터베이스 관리 시스템 구현 | 개발사 |
---|---|
알티베이스 | 알티베이스 코퍼레이션 |
오라클 데이터베이스 | 오라클 |
티베로 | 티맥스소프트 |
DB2 | IBM |
Informix Dynamic Server (IDS) | IBM |
Adaptive Server Enterprise (ASE) | 사이베이스 |
Microsoft SQL Server | 마이크로소프트 |
인터베이스 | 엠바카데로 테크놀로지스 |
심포웨어 서버 | 후지쯔 |
HiRDB | 히타치 제작소 |
HiRDB on XDM (XDM/RD) | 히타치 제작소 |
RIQSⅡ V2 | NEC |
테라데이터 | 테라데이터 |
=== 오픈 소스 RDBMS ===
오픈 소스 RDBMS로는 최근 PostgreSQL, MySQL, Firebird 등이 널리 사용되고 있다.
관계형 데이터베이스 관리 시스템 구현 | 개발사 |
---|---|
아파치 더비(Apache Derby) | 아파치 소프트웨어 재단의 아파치 DB 프로젝트 |
파이어버드(Firebird) | Firebird 프로젝트 |
H2 데이터베이스 | 토마스 뮬러(Thomas Mueller) |
HSQLDB | 토마스 뮬러(Thomas Mueller) |
잉그레스(Ingres) | Ingres Corp. |
마리아DB | MariaDB Corporation Ab, MariaDB Foundation |
mSQL | Minerva Network Management Environment |
MySQL | 오라클(Oracle) |
PostgreSQL | PostgreSQL Global Development Group |
SQLite | D. 리차드 힙(D. Richard Hipp) |
볼트DB | 마이클 스톤브레이커(Michael Stonebraker) |
4. 1. 상용 RDBMS
미국 상용 RDBMS 시장은 IDC 조사 자료에 따르면, 오라클, IBM/Informix, Microsoft, 사이베이스(Sybase), 테라데이타(Teradata) 5개 사가 시장(매출)의 약 90%를 차지하고 있다.[1]가트너의 2008년 조사 결과는 다음과 같다.[1]
- 오라클 데이터베이스 - 70%[1]
- Microsoft SQL Server - 68%[1]
- MySQL (오라클 코퍼레이션) - 50%[1]
- IBM DB2 - 39%[1]
- IBM Informix - 18%[1]
- SAP 사이베이스 Adaptive Server Enterprise - 15%[1]
- SAP 사이베이스 IQ - 14%[1]
- 테라데이터 - 11%[1]
관계형 데이터베이스 관리 시스템 구현 | 개발사 |
---|---|
알티베이스 | 알티베이스 코퍼레이션 |
오라클 데이터베이스 | 오라클 |
티베로 | 티맥스소프트 |
DB2 | IBM |
Informix Dynamic Server (IDS) | IBM |
Adaptive Server Enterprise (ASE) | 사이베이스 |
Microsoft SQL Server | 마이크로소프트 |
인터베이스 | 엠바카데로 테크놀로지스 |
심포웨어 서버 | 후지쯔 |
HiRDB | 히타치 제작소 |
HiRDB on XDM (XDM/RD) | 히타치 제작소 |
RIQSⅡ V2 | NEC |
테라데이터 | 테라데이터 |
4. 2. 오픈 소스 RDBMS
오픈 소스 RDBMS로는 최근 PostgreSQL, MySQL, Firebird 등이 널리 사용되고 있다.관계형 데이터베이스 관리 시스템 구현 | 개발사 |
---|---|
아파치 더비(Apache Derby) | 아파치 소프트웨어 재단의 아파치 DB 프로젝트 |
파이어버드(Firebird) | Firebird 프로젝트 |
H2 데이터베이스 | 토마스 뮬러(Thomas Mueller) |
HSQLDB | 토마스 뮬러(Thomas Mueller) |
잉그레스(Ingres) | Ingres Corp. |
마리아DB | MariaDB Corporation Ab, MariaDB Foundation |
mSQL | Minerva Network Management Environment |
MySQL | 오라클(Oracle) |
PostgreSQL | PostgreSQL Global Development Group |
SQLite | D. 리차드 힙(D. Richard Hipp) |
볼트DB | 마이클 스톤브레이커(Michael Stonebraker) |
5. 시장 점유율
리서치 전문회사 가트너에 따르면 2011년 매출 기준 상위 5개 상용 관계형 데이터베이스 업체는 오라클(48.8%), IBM(20.2%), 마이크로소프트(17.0%), 사이베이스를 포함한 SAP(4.6%), 테라데이터(3.7%)이다.[3]
대표적인 3가지 오픈 소스 DBMS는 MySQL, PostgreSQL, SQLite이다. MySQL이 오라클에 인수된 이후 가장 많이 사용되는 MySQL의 포크는 MariaDB이다.
가트너에 따르면 위 DBMS들이 사용되는 사이트들의 비율은 중복을 포함해 다음과 같다.[4]
DBMS 종류 | 사용 비율 |
---|---|
오라클 데이터베이스 | 70% |
마이크로소프트 SQL 서버 | 68% |
MySQL (오라클) | 50% |
IBM DB2 | 39% |
IBM Informix | 18% |
SAP Sybase Adaptive Server Enterprise | 15% |
SAP Sybase IQ | 14% |
테라데이터 | 11% |
DB-Engines에 따르면 가장 대중적인 시스템은 오라클, MySQL, 마이크로소프트 SQL 서버, PostgreSQL, IBM DB2이다.[5]
IDC 조사 자료에 따르면, 미국 상용 RDBMS 시장에서 오라클, IBM/Informix, Microsoft, 사이베이스, 테라데이타 5개사가 시장(매출)의 약 90%를 차지하고 있다.
오픈 소스 RDBMS로는 최근 PostgreSQL, MySQL, Firebird 등이 널리 사용되고 있다.
가트너의 2008년 조사 결과는 2011년 조사 결과와 동일하다.
6. RDBMS에 대한 비판
현재 관계형 데이터베이스 관리 시스템(RDBMS)에 대해 제기되는 비판과 불만은 다음과 같다.
- 지나친 사용: 모든 데이터 모델이 RDBMS를 필요로 하는 것은 아니지만, 많은 개발자들이 데이터베이스 관리 시스템(DBMS)을 사용할 때 RDBMS를 우선적으로 선택하는 경향이 있다. 이로 인해 RDBMS가 아닌 DBMS는 개발 시간, 자금, 혁신 면에서 부족함을 겪는다.
- 성능 보증의 어려움: 일반적인 RDBMS는 구조적으로 높은 부하나 동시 접근이 발생할 경우 성능이 보장되지 않는 결함이 있다. 많은 시스템에서 성능 보증을 요구하지만, RDBMS 자체에는 성능 보증 기능이 없어 시스템 전체의 성능 보증을 어렵게 만든다.[2]
6. 1. SQL의 한계
대부분의 RDBMS 벤더는 SQL 외의 다른 데이터베이스 언어를 제공하지 않는다. 많은 사람들은 SQL이 개발된 지 약 30년이나 되었고, 관계형 모델에 기반하지 않기 때문에[2] 개정이나 대폭적인 수정이 필요하다고 생각한다.널리 사용되는 RDBMS는 대부분 정적 타입 지정을 사용한다. 일부 사람들은 동적 타입 지정된 열(컬럼)이나 선택적인 열을 사용하면 프로토타이핑이나 시장에서 신속하고 민첩하게 대응해야 하는 분야에서 유용하다고 생각한다. (몇몇 데이터베이스 관리 시스템에서는 선택적인 열을 구현하기 위해 행(튜플, 레코드)에 지정된 열이 없는 경우 null 또는 공백을 반환한다.)
RDBMS는 지나치게 널리 사용된다. 모든 데이터 모델이 RDBMS를 필요로 하는 것은 아니다. 그러나 많은 개발자들은 데이터베이스 관리 시스템(DBMS)을 사용할 때 무조건 RDBMS를 선택하는 경향이 있다. 그 결과 RDBMS가 아닌 DBMS는 개발 시간, 자금, 혁신이 부족하다.
일반적인 RDBMS는 구조적으로 높은 부하나 동시 액세스가 발생할 경우 성능이 보장되지 않는 결함이 있다. 많은 시스템에서 화면 전환은 8초 이내, 배치 실행 시간은 4시간 이내와 같은 성능 보증을 요구하지만, 데이터를 저장하는 RDBMS에는 성능 보증 기능이 없기 때문에 시스템 전체에서 확실한 성능 보증을 할 수 없다.
6. 2. 경직된 스키마
- 대부분의 RDBMS 벤더들은 SQL 외의 다른 데이터베이스 언어를 제공하지 않으려 한다. 많은 사람들은 SQL이 어느 정도 개정되거나 대폭 수정되어야 한다고 생각한다. SQL은 개발된 지 약 30년이나 되었고, 관계형 모델에 기반하지도 않는다.[2]
- 널리 사용되는 RDBMS의 대부분은 정적 타입 지정을 사용한다. 일부 사람들은 동적 타입 지정된 열(컬럼)이나 선택적인 열을 사용하는 것이 프로토타이핑이나, 시장에서 신속하고 민첩하게 대응해야 하는 분야에서 유용하다고 생각한다. (몇몇 데이터베이스 관리 시스템에서는 선택적인 열을 구현하기 위해 행(튜플, 레코드)에 지정된 열이 없는 경우 null 또는 공백을 반환하기도 한다.)
6. 3. 성능 문제
- 대부분의 RDBMS 벤더들은 SQL 외의 다른 데이터베이스 언어를 제공하지 않으려 한다. 많은 사람들은 SQL이 어느 정도 개정되거나 대폭 수정되어야 한다고 생각한다. SQL은 개발된 지 약 30년이나 되었고, 원래 관계형 모델에 기반하지도 않는다.[2]
- 널리 사용되는 RDBMS의 대부분은 정적 타입 지정을 사용한다. 일부 사람들은 동적 타입 지정된 열(컬럼)이나 선택적인 열을 사용하면 프로토타이핑 또는 시장에서 신속하고 민첩하게 대응해야 하는 분야에서 유용하다고 생각한다. (몇몇 데이터베이스 관리 시스템에서는 선택적인 열을 구현하기 위해 행(튜플, 레코드)에 지정된 열이 없는 경우 null 또는 공백을 반환하기도 한다.)
- RDBMS는 지나치게 널리 사용되고 있다. 모든 데이터 모델이 RDBMS를 필요로 하는 것은 아니다. 그러나 많은 개발자들은 데이터베이스 관리 시스템(DBMS)을 사용할 때 무조건 RDBMS를 선택하는 경향이 있다. 그 결과 RDBMS가 아닌 DBMS는 개발 시간, 자금, 혁신 면에서 부족함을 겪고 있다.
- 일반적인 RDBMS는 구조적으로 높은 부하나 동시 접근이 발생할 경우 성능이 보장되지 않는다는 결함이 있다. 많은 시스템에서 화면 전환은 8초 이내, 배치 실행 시간은 4시간 이내와 같이 성능 보증을 요구하지만, 데이터를 저장하는 RDBMS에는 성능 보증 기능이 없기 때문에 시스템 전체적으로 확실한 성능 보증을 할 수 없는 원인이 된다.
6. 4. NoSQL과의 비교
- 대부분의 RDBMS 벤더는 SQL 외의 다른 데이터베이스 언어를 제공하려 하지 않는다. 많은 사람들은 SQL에 어느 정도의 개정 혹은 대폭적인 개정이 필요하다고 생각한다. SQL은 개발된 지 약 30년이나 되었으며, 원래 관계형 모델에 준거하지 않는다.[2]
- 널리 사용되는 RDBMS의 대부분은 정적 타입 지정을 채용하고 있다. 일부 사람들은 동적 타입 지정된 열(컬럼) 혹은 선택적인 열을 채용하면 프로토타이핑이나, 시장에서 신속하고 민첩한 것이 중요한 분야에서 유용하다고 생각한다(선택적인 열을 구현하고 있는 몇몇 데이터베이스 관리 시스템에서는 행(튜플, 레코드)에 지정된 열이 없는 경우 null 또는 공백을 반환함으로써 구현하고 있다).
- 모든 데이터 모델이 RDBMS를 필요로 하는 것은 아니다. 그러나 많은 개발자들이 데이터베이스 관리 시스템(DBMS)을 채용할 때, 무조건 RDBMS를 채용하고 이용하는 경향이 있다. 결과적으로 RDBMS가 아닌 DBMS의 대부분은 개발 시간과 자금, 그리고 혁신이 부족하다.
- 일반적인 RDBMS에서는 구조적으로 고부하 시나 동시 액세스가 발생할 경우 성능이 보장되지 않는다는 결함이 있다. 많은 시스템에서 화면 전환이 8초 이내, 배치 실행 시간이 4시간 이내와 같은 성능 보증을 요구하지만, 데이터를 저장하고 있는 RDBMS에 성능 보증 기구가 없기 때문에, 시스템 전체에서 확실한 성능 보증을 할 수 없는 요인이 되고 있다.
7. RDBMS의 미래
관계형 데이터베이스 관리 시스템(RDBMS)은 오랫동안 데이터 관리의 핵심적인 역할을 수행해 왔지만, IT 기술 환경의 변화에 따라 새로운 도전에 직면하고 있다.
클라우드 컴퓨팅의 확산은 RDBMS의 미래에 큰 영향을 미치고 있다. 많은 기업들이 데이터를 클라우드 환경으로 이전하면서, 클라우드 기반 RDBMS 서비스가 인기를 얻고 있다. 이러한 서비스는 확장성, 유연성, 비용 효율성 등의 장점을 제공한다.
또한, NoSQL, NewSQL 등 새로운 데이터베이스 기술의 등장은 RDBMS의 입지를 위협하고 있다. 이러한 기술들은 RDBMS보다 더 유연하고 확장 가능한 데이터 모델을 제공하여, 빅데이터, 실시간 처리 등 특정 워크로드에 더 적합할 수 있다.
그러나 RDBMS는 여전히 데이터 무결성, 정합성, 복잡한 쿼리 처리 등에서 강점을 가지고 있어, 많은 기업의 핵심 시스템에서 중요한 역할을 계속 수행할 것으로 예상된다. 앞으로 RDBMS는 클라우드 환경에 최적화되고, 새로운 기술들과의 연동을 강화하는 방향으로 발전할 것으로 보인다.
참조
[1]
논문
A relational model of data for large shared data banks
[2]
웹사이트
Why SQL is not relational
http://www.houseabso[...]
[3]
웹인용
Oracle the clear leader in $24 billion RDBMS market
http://itknowledgeex[...]
2013-03-01
[4]
웹인용
Market Share
http://www.mysql.com[...]
2013-03-01
[5]
웹인용
DB-Engines Ranking of Relational DBMS
http://db-engines.co[...]
2013-05-06
[6]
서적
Funding a Revolution: Government Support for Computing Research
https://archive.org/[...]
National Academies Press
1999-01-08
[7]
서적
Fundamentals of Relational Database Management Systems
https://archive.org/[...]
Springer
2008-02-13
[8]
간행물
Oracle Timeline
http://www.oracle.co[...]
Oracle
2013-05-16
[9]
웹사이트
A Relational Model of Data for Large Shared Data Banks
http://www.seas.upen[...]
[10]
문서
SIGFIDET '74 Proceedings of the 1974 ACM SIGFIDET (now SIGMOD) workshop on Data description, access and control
관련 사건 타임라인
( 최근 20개의 뉴스만 표기 됩니다. )
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com