본문 바로가기

데이터베이스(DA, AA, TA)

(146)
[MySQL] 쿼리 실행 구조 및 쿼리 캐시 쿼리 실행 구조 쿼리 실행구조는 기능별로 다음과 같이 나눠질 수 있습니다. 1) 파서파서는 사용자 요청으로 들어온 쿼리 문장을 토큰(MySQL이 인식할 수 있는 최소 단위의 어휘나 기호)으로 분리해 트리 형태의 구조로 만들어 내는 작업을 의미합니다. 쿼리 문장의 문법 오류는 이 과정에서 발견되어 사용자에게 오류 메시지를 전달하게 됩니다. 2) 전처리기파서 과정에서 만들어진 파서 트리를 기반으로 쿼리 문장에 구조적인 문제점이 있는지 확인합니다. 각 토큰을 테이블 이름이나 컬럼 이름 또는 내장 함수와 같은 개체를 매핑해 해당 객체의 존재 여부와 객체의 접근 권한 등을 확인하는 과정을 이 단계에서 수행합니다. 실제 존재하지 않거나 권한상 사용할 수 없는 개체의 토큰은 이 단계에서 걸러집니다. 3) 옵티마이저옵..
[Real MySQL] MySQL 아키텍처 보호되어 있는 글입니다.
[하둡] 하둡 분산처리시스템 구성요소 분산 처리 시스템 하나의 작업에 여러대의 machine을 두고, MPI(Message Passing Interface)를 사용하는 시스템입니다. 하지만, 분산처리 시스템에도 문제가 있습니다. 분산 처리 시스템의 문제점- 복잡한 프로그래밍(데이터 프로세스의 sync 유지) : MPI가 프로그래밍 하기 굉장히 복잡합니다.- Partial failures : 수많은 컴퓨터를 사용하는 경우에 일부의 컴퓨터가 고장나는 경우 시스템이 동작하지 않습니다. GFS(구글파일시스템)과 MapReduce가 나오기전, 분산처리 시스템은 Message Passing Inteface가 너무 복잡하여 프로그래밍하기가 어려웠습니다. 또한, 수만대의 분산 컴퓨터들이 하나만 고장이나도 동작을 안하게 되는 문제가 있었습니다. 이 문제를 ..
[하둡] 아파치 하둡이란? 아파치 하둡이란? Apache Hadoop은 빅데이터를 저장, 처리, 분석할 수 있는 소프트웨어 프레임워크입니다. 아파치 하둡의 특징은 다음과 같습니다.- Distributed: 수십만대의 컴퓨터에 자료 분산 저장 및 처리 - Scalable: 용량이 증대되는 대로 컴퓨터 추가 - Fault-tolerant: 하나 이상의 컴퓨터가 고장나는 경우에도 시스템이 정상 동작 - Open source: 공개 소프트웨어 구글이 나오면서 굉장히 많은 데이터를 가져온 사례가 있었습니다. 구글에서 데이터들이 빅데이터가 되었고, 빅데이터를 분석하고 처리하는 프레임워크가 존재하지 않았습니다. 그래서 구글이 생각한게 데이터를 모아서 처리할 수 있는 프레임워크가 필요하다고 생각하였고, 실제 빅데이터를 처리할 수 있는 프레임워크..
[MySQL] MySQL 사용시 하지 말아야 할 13가지 MySQL 쓰면서 하지 말아야 할 것 17가지 ( https://blog.lael.be/post/370 ) 1. 작게 생각하기 (MySQL ecosystem, 캐싱 사용, 확장 가능한 아키텍처, 복제/파티셔닝 고려) 2. EXPLAIN 실행계획 안보기 3. 잘못된 데이터 타입 선택 4. 스토리지 엔진 이해없이 사용 (단일 엔진으로 전체 아키텍처를 결정했다면 대부분 최적이 아님 / 엔진별 장단점 공부 필수) 5. 인덱스 레이아웃 이해없이 사용 6. 쿼리 캐시에 대한 이해없이 사용 7. Stored Procedure를 무분별한 사용 (다른 RDBMS와 다르게 connection thread에서 실행 계획이 세워짐 - ETL 타입 프로시저 - 아주아주 복잡하지만 자주 실행되지 않는 것 - 한번 요청할 때마다 ..