본문 바로가기

카테고리 없음

데이터 베이스 spl개념

"너 DB 뭐쓰니?"

라는 말을 들었을떄 유식하게 답할 수 있도록 하기 위한 포스트

 

1.DB와 DBMS

 

데이터 베이스(DB)란 말 그대로 데이터를 저장하고 관리하는 창고 라고 할 수 있다.

대기업 서버실에 있는 수많은 컴퓨터들이 다 DB이다.

 

DBMS란 데이터베이스를 관리하고 운영하는 소프트 웨어이다.

DBMS의 종류가 많고 그중에서 사용하는 DBMS로 앞선 질문의 답을 하면 되는 것이다.

DBMSD 제작사 작동 운영체제 기타
MySQL Oracle Unix, Linux, Windows, Mac 오픈 소스(무료), 상용
MariaDB MariaDB Unix, Linux, Windows 오픈 소스(무료),
MySQL 초기 개발자들이 독립해서 만듦
PostgreSQL PostgreSQL Unix, Linux, Windows, Mac 오픈 소스(무료)
Oracle Oracle Unix, Linux, Windows 상용 시장 점유율 1위
SQL Server Microsoft Windows 주로 중/대형급 시장에서 사용
DB2 IBM Unix, Linux, Windows 메인프레임 시장 점유율 1위
Access Microsoft Windows PC용
SQLite SQLite Android, iOS 모바일 전용, 오픈 소스(무료)

2.DB종류

 

*개층형DBMS : 트리구조로 되어있는 데이터 베이스, 지금은 안쓴다

*망형DBMS : 그레프(트리 구조에서 자신의 자식이 아님에도 다른 자식으로 넘어갈수 있는구조) 구조로 되어있는 데이터 베이스. 지금은 안쓴다.

1). 관계형 데이터베이스(RDB)

- 아직까지도 가장 많이 사용되는 데이터베이스로서 흔히 행(Column)과 열(Row)로 표현되는 테이블간의 관계를 나타낼 때 사용되며, 이렇게 표현된 데이터베이스는 SQL을 통하여 관리 및 접근한다.

 

[RDB 종류]

Oracle, MySQL(Oracle) / MS-SQL(Microsoft) / DB2, Infomix(IBM) / Maria DB(Sun Microsystems) / Derby(Apache) / SQLite(Opensource)

*SQLite: 로컬에서 사용하는 경량 데이터베이스로서 원격 Connection이 발생하지 않으므로 속도가 매우 빠르다. (주로 모바일이나 웹에서 사용됨)

 

2. NoSQL(Not Only SQL)

- NoSQL은 RDB의 특성 뿐만 아니라 다른 특성까지도 지원해 주는 데이터베이스라는 의미를 지닌다.

- 장점 : 대용량 데이터를 다루거나 데이터 분산 처리에 용이. 유연한 데이터 모델링이 가능. Cloud Computing에 적합.

 

[NoSQL 종류]

1) Document방식

- MongoDB(MongoDB Inc.), CouchDB(Apache) : Json, XML과 같은 Collection 데이터 모델 구조 사용

 

2) Key - Value 방식 

- Redis, Memchached : 둘다 In-memory DB이기도 하며 Key와 Value의 데이터가 쌍으로 저장되는 가장 단순한 데이터 모델 구조 사용

 

3) Big Table DB

- HBase, Cassandra, Hypertable, ScyllaDB : Key-Value 형에서 발전된 형태인 Column Family 데이터 모델 구조 사용

 

 

3.SQL

 

SQL(Structured Query Language)은 관계형 데이터베이스에서 사용되는 언어로, ‘에스큐엘’ 또는 ‘시퀄’로 읽습니다. 관계형 DBMS 중 MySQL를 배우려면 SQL을 필수로 익혀한다. SQL이 데이터베이스를 조작하는 ‘언어’이긴 하지만 일반적인 프로그래밍 언어(C, 자바, 파이썬 등)와는 조금 다른 특성을 가진다,

SQL은 특정 회사에서 만드는 것이 아니라 국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 이를 표준 SQL이라고 한다. DBMS를 만드는 회사에서는 되도록 표준 SQL을 준수하되, 각 제품의 특성을 반영한 SQL을 사용한다.

 

 

 

 

정리하자면 

DB의 구조를 정하는 DBMS는 크게 관계형과 관계형이 아닌것으로 나뉘고

그중에서 MYSQL, ORACLE 등이 존제한다.

DBMS 은 자료구조

각각의 DBMS은 해당 DBMS를 작동하는 언어로 SQL을 가진다.

MYSQL은 SQL, ORACLE은 PL/SQL 등

국제 표준으로 정한 SQL을 표준SQL, MYSQL에서 사용되는 언어가 SQL, 관계형 데이터 베이스를 SQL이라고 부를때도 있으니 SQL이 4개의 뜻으로 해석될 수 있다.

SQL 은 관계형 DBMS 의 작동언어

 

 

 

이제 "너 DB뭐쓰니?" 의 답을 할 수 있게 되었다.

 

참고로 필자는 MYSQL을 사용한다.