MariaDB MSSQL 차이 - MariaDB MSSQL chai

ORACLE, MYSQL, MSSQL DB 성능 알아보고 비교하기!!

필요한 정보를 저장하고 업데이트를 하고 필요 없는 정보를 삭제한다는 가장 기본적인 기능에 있어서 
모두동일하지만 사용하는 데이터의 규모와 속도 사용하는 환경등에서 차이는 존재 한다.

하나씩 알아보자면!!

1) ORACLE 

오라클 데이터베이스 (Oracle Database 또는 Oracle RDBMS)는 미국 오라클(Oracle)사의 관계형 데이터베이스 관리 시스템의 이름이다. 현재 유닉스 환경에서 가장 널리 사용되는 RDBMS이다. 검색이나 업데이트용 언어로는 국제표준화기구의 표준 구조화 조회 언어와 PL/SQL을 지원한다.
대표적인 기업용 데이터베이스이며, 윈도우즈, 유닉스, 솔라리스 등 기업체에서 사용하는 대부분의 서버군에 설치 할 수 있다.

MSSQL, MYSQL 보다 대량의 정보관리를 할 때에 가장 좋은 성능을 보인다.

2) MYSQL

MySQL(마이에스큐엘) 은 세계에서 가장 많이 쓰이는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다. 다중 스레드, 다중 사용자 형식의 구조질의어 형식의 데이터베이스 관리 시스템으로서 오라클이 관리 및 지원하고 있으며, Qt(프레임워크)처럼 이중 라이선스가 적용된다. 하나의 옵션은 GPL이며, GPL 이외의 라이선스로 적용시키려는 경우 전통적인 지적재산권 라이선스의 적용을 받는다.

하지만 오픈 소스진영인만큼 기본적으로는 무료로 사용할수 있다. 


3) MSSQL

마이크로소프트 SQL 서버(영어: Microsoft SQL Server)는 마이크로소프트가 1989년 사이베이스(Sybase)를 기반으로 개발한 관계형 데이터베이스이다.
기업체에서 사용을 할때에는 라이선스료를 지불을하고 사용을 하여야 한다.

4) msAccess

소규모 데이터베이스를 활용하고자 할 경우 자주 사용되는 데이터베이스이고, 엑셀등와 쉽게 연계를 할 수 있기에 소규모 사무실에서 쉽고 간단히 활용을 할 수 있다.
기본적으로 윈도우즈에서만 사용이가능한점은 엄청난 단점이다.

가격 빼고 성능으로만 따져본다면 

ORACLE > MYSQL > MSSQL > msAccess

로 추천이 할수 있겠다.

MariaDB Enterprise는 선도적인 프로덕션급 오픈 소스 데이터베이스로, MySQL Enterprise 또는 EnterpriseDB Postgres 플랫폼에서 제공되는 기능을 훨씬 능가하는 기능 세트를 갖추고 있습니다. MySQL을 계승하는 MariaDB Enterprise는 분산형 SQL 및 컬럼형 스토리지와 같은 기능으로 계속 혁신하고 있지만 EnterpriseDB는 다중 마스터 클러스터링 및 투명한 데이터 암호화와 같은 중요한 기능이 미흡한 상태입니다.

아래 표는 MariaDB Enterprise와 오픈 소스 경쟁 제품 간의 몇 가지 차이점을 보여줍니다.

 EnterpriseDBMySQLMariaDB
MongoDB-compatible NoSQL No No Yes
Distributed SQL No No Yes
Columnar storage No No Yes
Temporal tables No No Yes
Oracle database compatibility Yes No Yes
Non-blocking backups Yes 3rd-party product Yes
Write-anywhere clustering No Yes Yes
Transaction replay No No Yes
Secure by default No Yes Yes

백서 다운로드

MariaDB MSSQL 차이 - MariaDB MSSQL chai

MariaDB와 Oracle, Microsoft 및 IBM 비교

MariaDB Enterprise는 Oracle Database, Microsoft SQL Server 및 IBM Db2와 동일한 주요 엔터프라이즈 기능을 지원하며 경우에 따라 더 많은 기능을 지원하기도 합니다(예: 분산형 SQL을 통한 탄력적 확장). 또한 Oracle Database, IBM Db2 및 MariaDB Enterprise는 모두 다중 마스터 클러스터링을 지원하지만 MariaDB Enterprise만 비공유 아키텍처를 구현합니다.

아래 표는 MariaDB Enterprise와 독점 경쟁업체 간의 몇몇 차이점을 보여줍니다.

 MariaDB Enterprise ServerOracle Enterprise EditionMicrosoft SQL Server EnterpriseIBM DB2
Replication Yes Active Data Guard* Availability Groups SQL Replication
Clustering Multiple clustering options RAC* Yes* pureScale
Multi-cloud Single-architectures Yes No No No
Backup and restore MariaDB BCM RMAN Yes Yes
Built-in SQL IDE Yes Yes Yes No
Distributed partitions with legacy RDBMS connectors Multiple options Oracle Partitioning* No DPF
Compression Multiple options Advanced Compression* Yes Yes
Encryption Yes Advanced Security* Yes Yes
Database firewall Yes Database Firewall* Uses Windows Firewall No
Dynamic data masking Yes Advanced Security* Yes Yes
Columnar MariaDB ColumnStore Database In-Memory* Yes Blu Acceleration
Temporal Yes Flashback Query* Temporal Tables Time Travel Query
Stored procedures SQL, PSM, PL-SQL, C PL, SQL, Java T-SQL DB2-SQL, SQL PL
Oracle compatibility Yes Yes No Yes

자세히 알아보기

리소스


대표적인 DBMS MSSQL, MySQL, Oracle을 비교해보자.

Microsoft SQL Server 

MySQL

Oracle 

 사용 빈도( Rank )

 [ 그래프보기 ] 

 Web Site

www.microsoft.com/sqlserver

www.mysql.com

www.oracle.com/us/products/database

기술문서

Click

Click

Click

 Developer

MicroSoft*(1989)

Oracle(1995) 

Oracle(1980) 

 최신버전

SQL Server2014 (2014.4) 

5.6.23 (2015.2) 

12.1.0.2 (2014.7)

 라이센스

commercial 

open source 

commercial 

 dbaas

no 

no 

no 

 구현언어

C++ 

C or C++ 

C or C++ 

OS

Windows 

freeBSD
Linux
OS X
Solaris
Windows

AIX
HP-UX
Linux
OS X
Solaris
Windows
Z/OS 

 DB Scheme

yes 

yes 

yes 

 Typing

yes 

yes 

yes 

 SQL

yes 

yes 

yes 

APIs and other access methods

OLE DB
Tabular Data Stream (TDS)
ADO.NET
JDBC
ODBC

ADO.NET
JDBC
ODBC

ADO.NET
JDBC
ODBC
Oracle Call Interface(OCI)

지원하는언어

 .net
JAVA
php
python
ruby
VB

C
C#
C++
Eiffel
Haskell
JAVA
Objective-C
OCaml
Perl
php
python
ruby
Tcl

 C
C#
C++
Clojure
Cobol
Eiffel
Erlang
Fortran
Groovy
Haskell
JAVA
JavaScript
Lisp
Objective-C
OCaml
Perl
php
python
ruby
Scala
Tcl
VB

트리거

yes 

yes 

yes 

MapReduce 

no 

no 

no 

Foreign Key 

yes 

yes 

yes 

트랜젝션 개념

acid

acid 

acid 

*acid(원자성 Atomicity, 일관성 Consistency, 고립성 Isolation, 지속성 Durability)
데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장한다는 성질을 가리키는 약어

Concurrency

yes 

yes 

yes 

위에 DBMS들은 모두 RDBMS로써 관계형 데이터베이스 관리 시스템이다.
즉 관계형 데이터베이스를 생성하고, 수정하고 관리 할 수 있는 소프트웨어라고 정의 할 수 있다.

DBMS 별 function 비교

Microsoft SQL Server

MySQL 

Oracle 

NULL값 처리 

ISNULL(colum,value) 

IFNULL(colum,value) 

 NVL(colum,value)

Select Insert

 (테이블 데이터 복사 ) 

Select 컬럼명
into 신규테이블
from 기존테이블 

insert into 신규테이블명(컬럼명)
select 컬럼명
from 기존테이블

insert into 신규테이블명(컬럼명)
select 컬럼명
from 기존테이블

다중조건

( case문 )

case
when 조건 then 값
when 조건 then 값
else 값
end 

단일조건

case문 사용 

 DECODE(컬럼,값,일치,불일치)
IF(조건,조건일치,불일치)

DECODE(컬럼,값,일치,불일치) 
IF(조건,조건일치, 불일치)

 문자열 합치기

concat('a','&','b','&','c')
concat_ws('&','a','b','c') 

 || - 2개이상
concat('a','b') - 2개

출처 : http://db-engines.com/