1. DB 종류와 특징
대표적인 데이터베이스 설명
ORACLE , MySQL(RDBMS), MariDB, MongoDB(No-SQL)
- ORACLE 특징
- 대규모 DB를 지원하고 MSSQL, MYSQL보다 대량의 정보관리를 할 때에 가장 좋은 성능을 보임
- 고성능 트랜잭션 처리를 제공하여 속도가 빠름
- SQL문을 실행하는 가장 효율적인 방법을 선택
- 다양한 운영시스템(Windows, Unix, Linux)에 호환성 가장 우수
- MySQL 특징
- 문자, 숫자, 이미지 등의 다양한 데이터를 체계적으로 저장, 이용, 관리할 수 있음
- 오픈소스로, 누구나 쉽게 실행모듈과 소스 모듈을 구해서 분석하고 사용 가능
- 빠르고 안정적이며 사용하기가 쉽다
- 트랜잭션을 지원하지 않고 대신에 LOCK TABLES/UNLOCK TABLES를 이용하여 트랜잭션과 같은 일을 함
- MariaDB 특징
- MySQL의 소스 코드를 기반으로 몇 가지 기능을 추가하면서 탄생함
- MySQl의 5.1은 MariaDB 5.1-5.2-5.3과 호환되고, MySQL 5.5는 MariaDB 5.5과 깊은 호환성을 가짐
- MySql 코드 베이스지만, MySQL과는 독립적인 RDBMS
- MongoDB 특징
-
NoSQL 데이터베이스이며 Document, BASE, Open Source 세가지 특징을 가지고 있음
-
BSON으로 데이터가 쌓이기 때문에 Array데이터를 쉽게 넣을 수 있음
-
별도로 제공하는 API인 SpiderMonkey를 사용
-
서버 구축 가능
참조 1 : https://kciter.so/posts/about-mongodb
참조 2 : https://atin.tistory.com/624
2. NoSQL 종류와 특징
정의
- Not Only Sql => SQL 뿐만 아니다 !
- SQL을 사용하는 관계형 데이터베이스가 아닌 데이터베이스를 의미
탄생 이유
- RDMS에선 하기 힘든 일을 쉽게 지원함
- 수평 확장 가능한 분산 시스템
- Schema-less
- 완화된 ACID
3. ANSI SQL
정의
- DBMS들에서 각기 다른 SQL를 사용하므로, 미국 표준 협회에서 이를 표준화하여 표준 SQL문을 정립 시켜 놓은 것
특징
- 표준 SQL문이기 때문에 DBMS의 종류에 제약을 받지 않음
- 테이블간의 Join 관계가 FROM에서 명시되기 때문에 WHERE문에서 조건만 확인하면 됨 ==> 즉 , 가독성이 좋다
- 쿼리문 예시 (Oracle vs ANSI SQL)
참조 : https://velog.io/@gillog/ANSI-SQL%EC%9D%B4%EB%9E%80