2016년 6월 14일 화요일

[OpenSourceDB] 오픈소스 DBMS의 종류 및 특징

1. Open Source란?

오픈소스(Open Source), 또는 공개 소프트웨어는 저작권자가 소스코드를 공개하여 누구나 특별한 제한 없이 자유롭게 사용, 복제, 배포, 수정할 수 있는 소프트웨어입니다.

장점
단점
낮은 진입비용
애플리케이션의 부족
빠르고 유연한 개발
빈약한 문서
호환성
불확실한 로드맵
신뢰성과 안전성
지적재산권


2. Open Source DB를 사용 하는 이유

오픈소스 기술이 세분화되면서 데이터베이스(DB) 업계에서도 오픈소스 모델로 개발되는 기술이 늘어나고 있다. 많은 기업들이 오픈소스 데이터베이스 관리 시스템(DBMS)을 사용하는 까닭은 명확하다. 기존 기업들이 내놓은 DBMS보다 가격이 저렴하고 개발도 훨씬 유연하게 할 수 있기 때문이다.

3. Open Source DB 종류 및 특징


RDBMS vs NoSQL

구분
RDBMS
(
관계형 데이터베이스 관리 시스템)
NoSQL
(
고성능 비관계형 데이터베이스)
장점
정규화된 데이터 모델
데이터 무결성/정합성 보장
작은 크기의 트랜잭션
Web, SNS 환경의 다양한 정보를 검색 및 저장
단점
확장성의 한계
클라우드 분산환경 부적합
데이터 무결성/정합성 보장 못함
특징
Join을 통해 정보 연계 가능
트랜잭션의 안정성 확보를 위한 ACID
(
원자성, 일관성, 고립성, 지속성)
정형적인 스키마 구조
데이터의 수정/삭제가 거의 없고 Insert위주
강한 Consistency 불필요
노드 추가/삭제, 데이터 분산에 유연

MySQL

MySQL이란?
MySQL은 제일 많이 사용되는 오픈소스 데이터베이스 입니다. 효율적인 아키텍처를 채택하여 빠른 성능과 쉬운 사용자 구성을 가능하게 해줍니다. 다양한 함수와 여러 기능면에서 상용 데이터베이스가 가지지 못한 점을 가진 것도 있습니다. 속도와 간결성, 안정성과 용이한 관리를 보장해주는 데이터베이스 관리 시스템이다.

MySQL의 특징
1. 무료 사용 2. 리눅스에서 아파치, PHP와 연동하여 사용 가능 3. 사용이 간단 4. 수행속도가 빠름 5. 소형 DB 구축 활용에 용이 6. 대용량 처리와 보안이 뛰어남

PostgreSQL

PostgreSQL이란?
PostgreSQL은 POSTGRES, 버전 4.2를 기반으로 하는 개체 관계 데이터베이스 관리 시스템이다. 오픈 소스 코드이기 때문에 확장할 때 무료로 쉽게 사용할 수 있으며, GUI 인터페이스를 통해 DB 설계 및 관리 할 수 있다. 

PostgreSQL의 특징
구분
설명
Portable(이식성)
지원하는 플랫폼: Windows, Linux, MAC OS/X 또는 Unix Platform등 다양
Reliable(신뢰성)
트랜잭션 속성인 ACID(원자성, 일관성, 고립성, 지속성)에 대한 구현 및 MVCC
Scalable(확장성)
PostgreSQL의 멀티-버전 사용 가능
Secure(보안성)
호스트 기반 접근제어, ssl 통신을 통한 클라이언트와 네트워크 구간의 전송 데이터 암호화
Advanced
PostgreSQL upgrade, 모티너링 및 관리, 튜닝까지 가능, 스크립트 언어 지원(Perl, java, php)

PostgreSQL의 단점
1. 수많은 사용자를 동시에 서버에 접속 할 때 불안하다.
2. 기술지원에 대한 안정성 확보가 부족하며, PostgreSQL 매뉴얼을 확인 해보면 대부분 에러에 대한 내용을 사용자에게 맡기고 있다.(풍부한 데이터 사전이 존재하지 않는다.) 
3. 정기적인 Vacuum 작업 을 해야 한다. 

카산드라DB

카산드라DB란?
카산드라는 구글의 BigTable 컬럼 기반의 데이터 모델과 FaceBook에서 만든 Dynamo의 분산 모델을 기반으로 제작되어 Facebook에 의해 2008년에 아파치 오픈소스로 공개된 분산 데이터 베이스 입니다. 

카산드라DB의 특징
1. 분산 대용량 저장소(NoSQL)
2. 수평적 확장이 용이한 Ring 구조의 클러스터 아키텍처
3. Write가 Read 보다 빠르고, Read도 RDB(relational database)보다 빠름.
4. 서비스 중에 노드를 추가하여 용량 확장 가능

댓글 없음:

댓글 쓰기