Breaking

2018년 9월 15일 토요일

DB(데이터베이스) 알아보기 <별별정보>


별별정보 - DB(데이터베이스) 


이제는 상식이 되어버린 DB
많은 사람들이 데이터베이스라는 용어를 쉽게 이야기하지만
데이터베이스의 중요성에 대해서는 잘 인지하지못한 것 같다.
그래서 마련한 시간

주제 : DB 알아보기
1. DB의 개념과 중요성
2. DB의 분류와 종류
* 분류
 1) Oracle
2) MySQL
3) MSSQL
4) PostgreSQL
5) MongoDB
3. 결론

순으로 정리해보겠다.

시작에 앞서 틀린부분이 있거나
제언할 부분이 있다면 제발 알려주세요!
=======================================
  
1. DB의 개념과 중요성
굳이 내가 장황하게 설명하지 않아도
DB 혹은 '데이터 베이스'검색엔진에 돌려보기만해도
무수히 많은 글들이 쏟아져나온다.

DB : WIKI👆 , Namu Wiki 👆
이것들도 다 데이터베이스 덕분이라는 사실!

알기 쉽게 설명하면 모두가 아는 것처럼
DB는 DataBase
즉, 데이터를 기반으로하는 것이다.
데이터가 적을 때는 일반적인 컴퓨터로도
서로의 데이터를 공유하는데 무리가 없지만
요즘 회자되는 Big Data(빅 데이터)와 같이
데이터의 양이 일정 수용량을 넘어서면
방법이나 구분이 사람마다 다를지라도
무수히 많은 데이터를 세분화 해야한다.
이제 데이터를 보는 입장에서는
세분화를 거쳤음에도 같은 조직 내의 정보 공유에 있어
너무 많은 데이터로 머리가 아파오고 복잡해진다.
필요한 정보를 찾고
공유하는 능력의 중요성이 더 높아지기 시작한 것이다.

그래서 등장한 것이 데이터베이스이다.

많은 데이터를 세분화하고
 알기쉽게 정리하여 데이터베이스에 접속하는 누구나
쉽고 빠르게 검색하고 공유가 가능하게 만든 것이다.

물론 새롭게 추가된 정보를
기존의 정보틀에 집어넣는 작업도 포함한다.
결과적으로 작게는 1인 크리에이터부터 소규모 그룹, 단체, 기업
크게는 정부에 이르기까지 안 쓰이는 곳이 없는
DB
데이터를 빠르게 검색하고 공유하는 효율성을 높이기 위해
만들어졌다

인터넷이 도입하기도 훨씬 전인
 무려 1969년 관계형 데이터베이스 일명 RDBMS가
논문으로 개제되었고
하드웨어의 급격한 발전과 함께
데이터의 홍수 속에서 널리 사용하게 되었다는 사실!
놀랍지 않은가?

2. DB의 분류와 종류

https://db-engines.com/en/ranking_categories
< DB-Engine - 그림클릭시 사이트로들어가집니다. >

DB의 종류는 정말 다양하다.

가장 많은 부분을 차지하는 RDBMS(관계형 데이터베이스)부터
data store를 사용하는 NoSQL(Not Only SQL)의 종류인
Document Store, key-value store, column store 등등
넘쳐나는 DB지만
압도적으로 많이 쓰는 DB는 따로 있다.

1) Oracle
https://db-engines.com/en/ranking
https://db-engines.com/en/ranking_trend
< DB-Engine - 그림클릭시 사이트로들어가집니다. >

2018년 9월에도 RDBMS의 장악력은 Oracle이 압도적이다. 
때문에 DB의 표준이 Oracle이라는 말이 나왔다.
MySQL이 Open Source라고는 하지만
Oracle이 인수하면서 무료가 무료 아닌 기분?이 되버렸다.
때문에 적어도 초짜인 내가보는 시선에서 Oracle
Oracle DB 자체 뿐 아니라
MySQL 유료 판매권을 가진 압도적인 DB 공룡 기업이라고 본다.
(물론 그만큼 자체 서비스와 기술은 확실하다고 한다.)
현재 우리나라 기업 시장의 80%이상
Oracle DB를 쓰면서 유지, 관리를 받는다고 한다
(그러나 추세는 점차 오픈 소스로 가며 대용량 DB와 병행,
다른 회사의 클라우드로 전환하는 곳이 많다.)
(우리나라 사람은 인기있는 것에 몰빵하는 스타일이라서
Oracle의 지위가 쉬이 바뀔 것 같지는 않을 것 같다.)

어떤 세미나에 참여한 현업의 사람의 말을 빌리자면 대기업의 DB는
전부 Oracle DB라는 말을 했는데 진실일지도 모르겠다는 생각을 한다.

다만 Oracle은 돈을 밝히기로 유명한 기업인만큼
DB를 구축하고자하는 기업입장에서는 부담스러운 가격이라는 말이 많다.
기업뿐 아니라 소속 직장인에게도 실적 압박이 있다고 한다.

이와 관련한 기사를 아래 링크걸어본다.
'파업 두 달' 한국오라클…거리에 나앉은 IT인재들
2018-07-01

https://shop.oracle.com/apex/f?p=dstore:2:0::NO:RIR,RP,2:PROD_HIER_ID:4509881204651805720002
<오라클 홈페이지 Store 일부분>

위의 사진은 과연 얼마에 팔고있나하고
잠시 들려본 Oracle 홈페이지 Shop 부분이다.

작게는 몇 십만원에서 6억 7천까지도 있다.
가격 정말 ㅎㄷㄷ...
내 생각이지만 유지비용까지 별도로 받으면
진짜 많이 받는 것은 사실인 듯 하다.

2) MySQL

MySQL에서 개발했지만 Sun Microsystem이 인수했다.
물론 앞에서 설명했던 것처럼
Sun Microsystem은 Oracle이 인수했다
결국 유료부분에 있어 MySQL은 Oracle의 것

그러나 특정 상황을 제외하고는
Open Source로서의 기반을 잃지 않고 DB 업계 강세를 보이고 있다.

Windows, Linux, Unix 다양한 운영체제에서 설치, 사용이 가능하고
가격이 비교적 저렴해서 많은 중소 기업에서 이용한다.

===============================================
 MySQL과 관련하여 무료인지 유료인지 구분이 안가
찾아보던와중 보게된 사이트들을 아래 링크시켜본다.

1. MySQL 홈페이지 - 정책
2. MySQL korea
★3. MySQL 라이센스에 대한 고찰
★4. MySQL 라이센스에 대한 고민
5. MySQL은 공짜가 아니다..!
( - 끝까지 볼 것)
 ★6. MySQL License 사용권한 문서

나에게는 3, 4번 글이 제일 확 와닿는 내용이었다고 본다.

4번 결론 : "개인/기업이 웹서버를 구축하여 운영하는 경우에는 라이센스에
아무런 제약없이 MySQL 활용할 수 있다는 결론을 내렸습니다."
===============================================

3) MS SQL

MS SQL 즉, Microsoft사의 DB가 1989년에 개발한 RDBMS로
Oracle에 대적하는 유일한 commerce License DBMS

MS SQL 홈페이지

 단점으로 호환되는 OS가 Windows 1개라는 점...

 Oracle의 문법과 약간의 차이가 있지만
큰 틀에서는 비슷하여 가만할 정도라고 본다.

*MsSQL vs MySQL vs Oracle
서로 비교한 블로그가 있어 공유해본다.

MsSQL vs MySQL vs Oracle
-공대인들이 직접쓰는 컴퓨터공부방

※ 4) ~ 6)에 관한 사실 하나

DB Trend 곡선에서 유의미한 선이 3개가 보이는데
PostgreSQL, MongoDB, MariaDB이다.

이 중 Open Source이면서 RDBMS인 것
바로 PostgreSQLMariaDB이다.

4) PostgreSQL
 PostgreSQL
Open Source이자 ORDBMS(객체-관계형 DB)
북미와 일본에서 높은 인기가 있다.
기능과 성능이 뛰어나고 Oracle과 유사한 점이 많아
가장 쉽게 적응한다고 알려져있다.

굳이 글에 적지않아도 너무 자세히 나와있는 사이트를 소개한다.
PostgreSQL : ★★★Naver D2👆

cf) PostgreSQL : Wiki👆

5) MariaDB

MariaDB
Oracle이 인수한 Sun Microsystems에서 MySQL을 인수하면서
그 안에 있던 개발자들이 나와 MySQL 기반 오픈소스를 만든 것이다.

개인적으로 이들의 결단에 박수를 쳐야할 정도로 용기있는 것이라 생각한다.
나는 이들의 존재 노력이 없었다면
MySQL를 포함한 DB Open Source 시장이
Commerce License로 가득찼을지도 모른다는 생각을 한다.
특히 Oracle 독점일지도...

6)MongoDB

MongoDB
NoSQL 종류 중 하나인 document store
Open Source이다.
일반적인 RDBMS와 결을 달리하며
오히려 같이 쓰는 경향이 있다.
NoSQL에 대해서는 나중에
따로 포스팅하면서 다루도록 하겠다.

3. 결론

https://db-engines.com/en/ranking_osvsc
< DB-Engine - 그림클릭시 사이트로들어가집니다. >

우리는 지금까지 긴 DB의 중요성에 대해서 살펴보고
그 종류에 대해 잠깐 엿보았다.

그래프를 보면 당연한 이야기지만
앞으로의 DB는 앞에서 봤던 한 기업이 독점하는 것보다
Open Source를 기반으로한 DB가 대세를 이룰 것이고
이와 함께 Cloud System이 더 각광을 받을 것이다.

우리도 이 흐름에 발맞춰 우리의 직업도 변화해갈 것이지만
앞으로도  DB의 본질과 중요성에 대해서는 잊지말아야할 것이다.

 어찌되었건 우리가 사는 정보의 홍수 속에서
유의미한 데이터를 찾기위해서는 DB가 필수적이니까

 ALL RIGHT RESERVED TWINSTARINFO