프로필사진

Go, Vantage point

가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.


Github | https://github.com/overnew/

Blog | https://everenew.tistory.com/





티스토리 뷰

개발/기타

SQL과 데이터베이스

EVEerNew 2024. 1. 25. 14:20
반응형

 

SQL (Structed Query Language)

구조화된 질의 언어

 

-ANSI SQL 표준은 널리 사용되는 모든 관계형 데이터베이스 엔진에서 지원되며, 이러한 엔진들 중 일부는 해당 엔진의 특정한 기능들을 지원하기 위해 ANSI SQL을 확장

 

- SQL은 데이터의 행을 추가, 업데이트 또는 삭제 트랜잭션 처리 및 분석, 애플리케이션의 데이터의 하위 집합을 검색하며 데이터베이스의 모든 자원을 관리하는 데 사용된다.

 

 

1. DDL 데이터 정의 

GREATE: schema, Domain, TAble, view, index를 정의

Alter: Table에 대한 정의를 변경

Drop: schema, Domain, TAble, view, index를 삭제

 

 

2. DML 데이터 조작

select: 테이블에서 조건에 맞는 Tuple을 검색 (최중요)

Insert: 테이블에서 새로운 Tuple을 삽입

Delete : 테이블에서 조건에 맞는 Tuple을 삭제

Update: 테이블에서 조건에 맞는 Tuple의 내용을 변경

 

 

3. DCL 데이터 제어

Commit: 데이터베이스 조작 작업이 정상적으로 완료(관리자에게 보고됨)

Rollback: 데이터베이스 조작 작업이 비정상적으로 종료되었을 경우 기존 상태로 복구

Grant: 데이터베이스 사용자에게 사용권한을 부여

Revoke: 데이터베이스 사용자에게 사용권한 부여 취소

 

 

 

 

DataBase 최적화

- 데이터베이스 최적화를 우한 방법으로는 하드웨어 수준에서 최적화를 진행하거나 데이터베이스 수준에서 최적화를 진행하는 방법으로 나누어진다.

 

 

[하드웨어 최적화]

모든 응용 프로그램은 사용량이 증가함에 따라 하드웨어 한계에 도달을 하게 된다.

한계를 극복하기 위해서는 더 많은 하드웨어 장치를 사용하게 하거나, 더 좋은 성능의 하드웨어를 사용하여 해결한다.(스케일 업, 아웃)

어떠한 장치에 의해 어떠한 성능 저하가 발생했는지를 파악하는 것이 중요하다.

 

 

[데이터베이스 최적화]

  • 데이터베이스 최적화는 데이터베이스 구성을 올바르게 하여 효과적인 쿼리 처리하 이루어질 수 있도록 하기 위한 방법
  • 다음과 같은 기준에 의해 데이터베이스 구성을 확인하고 최적화를 진행한다.
  1.  테이블이 올바르게 구성되어 있는지 확인
  2.  업데이트를 자주 수행하는 경우 테이블은 많지만 적은 열을 가지도록 구성하여, 많은 양의 데이터를 분석하는 경우, 테이블을 적지만 많은 수의 열을 가지도록 합니다.
  3.  쿼리를 효율적으로 수행 할 수 있는 인덱스 구성이 되어 있는지 확인함.
  4.  데이터 베이스가 테이블을 검색할 때 모든 내용을 검색하는 것이 아닌 인덱스를 참조하여 검색을 할 수 있도록 하면 검색 시간을 줄일 수 있음.
  5.  사용 목적에 맞는 데이터베이스 엔진을 사용하는지 확인
  6.  MariaDB에서 InnoDB엔진과, MyISAM 엔진을 사용할 수 있으며, 각 엔진의 특성에 의해 성능이 달라짐.
  7.  테이블들이 적절한 Row Fromat을 사용하는지 확인   -> 적절한 Row Format(압축)을 사용하면 적은 디스크 공간을 사용하기 때문에 디스크 I/O의 성능이 좋아지는 효과를 가져오게 됨.
  8.  캐싱 메모리의 크기가 올바르게 구성되어 있는지 확인  -> 자주 액세스하는 데이터를 보유할 수 있는 크기의 메모리가 구성되어 있으면서 메모리의 과부하가 걸리지 않을 만큼 메모리 사이즈가 크게 설정되어 있지 않은지 확인

 

 

 

MariaDB

  • 오픈 소스의 관계형 데이터베이스 관리 시스템
  • 상업적 사용과 관계없이 GPLv2에 따라 라이선스가 부여된 무료 오픈 소스 소프트웨어로 사용 가능
  • MySQL을 만든 개발자이며, 오라클 업체에서 인수 및 상용화되고 나서부터는 MariaDB로 대체되고 있음.
  • MariaDB 핵심 개발자가 나와서  MySQL과 동일한 소스 코드를 기반으로 개발하였기 때문에 API의 명령어는 거의 동일함.
  • 라이선스비용이 없다고 MariaDB 많이 쓰진 않고, 사실 오라클이 많이 사용됨.

              -> 라이선스 비용을 내고 관리받는 것을 선호화는 회사가 많음.

 

 

 

반응형
댓글
반응형
인기글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함