본문 바로가기
DB 인사이드 | MySQL Architecture - 5. SQL 처리과정 본 문서에서는 Client가 Query를 전달한 후 내부적인 처리 과정에 대해 알아보도록 하겠습니다. Query Cache 먼저 Query를 분석하기 전에 MySQL Server는 Query Cache를 확인합니다. Query Cache는 Select문에 대한 전체 결과 집합을 저장하고 있습니다. Client가 Query 수행 시 제일 먼저 거치는 단계로, Query를 분석하기 전에 MySQL Server는 Query Cache를 참조합니다. Client가 이미 캐시에 있는 것과 동일한 Query를 실행하면 Server는 SQL Parser, Optimizer 단계를 건너뛰고 결과를 직접 반환합니다. 📢 테이블의 Data가 변경되면 Query Cache의 내용 역시 달라지므로 변경된 테이블과 관련된 정보.. 2022. 6. 30.
DB 인사이드 | MySQL Architecture - 4. Memory MySQL은 Database 작업 성능을 향상하기 위한 다양한 메모리 영역을 갖고 있으며, 각 영역의 값을 변경하여 MySQL 성능을 향상할 수 있습니다. 이러한 메모리 영역은 스토리지 엔진 또는 사용 중인 기능에 따라 다르지만, 일반적으로 공유 가능 여부를 기준으로 Global Memory와 Local Memory 영역으로 구분할 수 있습니다. Global Memory Global Memory 영역이란 Client Thread 수와 무관하게 공통으로 사용되는 하나의 메모리 공간을 의미합니다. 단, 필요에 따라 2개 이상의 공간을 할당받을 수도 있지만 생성된 영역이 2개 이상이어도 모든 Thread에서 공유 가능합니다. Global Memory 영역은 MySQL Server가 시작될 때 운영체제로부터 할.. 2022. 6. 30.
DB 인사이드 | MySQL Architecture - 3. Thread MySQL은 Process가 아닌 Thread 기반으로 동작합니다. Thread는 역할에 따라 2가지로 분류할 수 있는데, User Session에 해당하는 Foreground Thread와 내부적인 처리를 목적으로 하는 Background Thread가 여기에 해당합니다. Background Thread의 수는 MySQL Server 버전과 설정에 따라 다를 수 있으며, 병렬 작업을 수행하는 경우 동일한 이름의 Thread가 2개 이상 표시될 수 있습니다. mysql> select thread_id, name, type from performance_schema.threads; +-----------+----------------------------------------+------------+ | .. 2022. 6. 30.
DB 인사이드 | MySQL Architecture - 2. 스토리지 엔진 본 문서에서는 MySQL의 스토리지 엔진에 대해 알아보도록 하겠습니다. 스토리지 엔진 스토리지 엔진이란 MySQL에서 실제 Data를 디스크 스토리지에 저장하거나 읽어오는 부분을 담당합니다. 위 그림과 같이 MySQL은 스토리지 엔진을 플러그인 방식으로 사용할 수 있는 구조를 가지고 있기 때문에 필요에 따라 원하는 스토리지 엔진을 구성하여 사용할 수 있습니다. 사용자는 show [storage] engines 명령을 통해 스토리지 엔진 목록을 확인 가능하며, Support 값이 나타내는 의미는 다음과 같습니다. mysql> show engines; +--------------------+---------+--------------------------------------------------------.. 2022. 6. 30.
DB 인사이드 | MySQL Architecture - 1. MySQL 엔진 MySQL Server의 구성 MySQL Architecture는 기본적으로 Server-Client 구조로 이루어져 있습니다. MySQL Database가 Server의 역할을 수행하며, MySQL Server에 연결하는 Application을 Client라고 부릅니다. 이러한 MySQL Server는 크게 MySQL 엔진과 스토리지 엔진으로 구분할 수 있습니다. 이 중 MySQL 엔진의 경우 요청된 SQL 문장을 분석하거나 최적화하는 등 DBMS의 두뇌에 해당하는 역할을 수행하며, 스토리지 엔진은 실제 Data를 디스크 스토리지에 저장하거나 읽어오는 부분을 담당합니다. 이처럼 각각의 엔진의 역할이 극명하게 나뉘다 보니, 사용자의 요청을 처리하기 위한 엔진 간의 Data 요청 및 전송 과정은 필수 불가.. 2022. 6. 30.
왕푸짐 | 칭찬하고 치킨 받아가세요! 달라진 사이트를 구경해보고 칭찬을 해주세요~~ 1️⃣ 엑셈 홈페이지 🆕 2️⃣ 엑셈 뉴스레터 🆕 3️⃣ 엑셈 씽클립 🆕 기획 | 사업관리팀 왕준용 이미지 | 디자인그룹 송유림 2022. 6. 30.
우리가 일하는 방식 | 우리 친구해요, 엑셈 동호회 엑셈에서는 ‘조언을 구하고, 조언을 해주며, 친구를 만들자’라는 포스터를 곳곳에서 볼 수 있습니다. 이 질문들은 각자 다른 부서에서 일을 하고 있을 지라도, 엑세머들이 홀로 단절되어 있는 것이 아닌 항상 직간접적으로 연결되어 있음을 인식하고, 서로의 성장과 성공을 위해 탈 권위적으로 선한 영향력을 주고 받자는 사내 문화 활성화를 위한 캠페인입니다. 엑셈 경영시스템의 ‘일 원칙 (3P, 3 Principles)’과 그 중에서도 ‘관계 원칙 (Relationship)’의 가치를 전사적으로 이해시키기 위함입니다. 우리는 서로를 성장시키고, 시너지를 창출하는 관계를 형성하며 상호 성장해 나갑니다. 엑셈의 모든 일하는 방식과 문화는 엑셈의 경영시스템에서 강조하는 개인과 조직의 핵심 가치에 근거를 두고 있습니다. .. 2022. 6. 30.
일상의 변화는 가까이, 엑셈 홈페이지의 변신 엑셈 홈페이지의 기업소개에 이런 문구가 등장합니다. 처음부터 완벽한 결과를 기대하지 않습니다. 모형을 만들면서 우리가 생각한 것이 옳은 지를 지속적으로 평가하면서 다음 단계로 넘어갑니다. 엑셈은 계속 변화합니다. 맞을까, 아닐까 고민하며 주저하기보다, 일단 시도해서 적용하고 변화하며, 더 나은 단계로 넘어갑니다. 그래서 엑셈은 변화가 두렵지 않습니다. 그렇게 NOW EXEM 뉴스레터가 변화의 시도를 했고, 국문 홈페이지가 새로워졌습니다. 홈페이지에 정말 많은 시도를 했고 시행착오도 있었지만, 가장 엑셈다운 느낌의 분위기 변화를 주고 싶었습니다. 오랜만에 집! 이 바뀌니 설레는 마음 가득하네요. 어떻게 달라졌는지, 궁금하지 않으세요? NEW Face, Fresh Impression! 집(Home) 대문이 .. 2022. 6. 30.
Change Life, Change Space | 공간 프로젝트 원 40대 초반, 엑셈 14년차다. 만 2년 육아휴직을 다녀왔으니 12년을 회사에 다닌 셈이다. 사업관리팀 차장이자 딸 둘의 엄마이고, ESFP로 누군가와 수다도 좋아하고 어지간하면 긍정적이다. 오늘 나는 아이 둘을 학교, 유치원 문 앞까지 데려다 주고 늘 하듯 가장 밝은 표정으로 손을 흔들어 준 뒤, 막히는 시간을 피해 마곡으로 달려간다. 엑셈은 10시 출근이다. 아이들에게 손을 흔들어 줄 여유도, 차 안에서 라디오를 들으며 창밖을 볼 여유도 있다. 회사 로비에 도착하면 높은 천장고와 9미터 높이의 큰 창, 수반에 반사되는 물의 반짝임과 리셉션 데스크가 마주하고, 2층 유리 너머 러닝머신 위를 달리는 누군가의 부지런한 다리가 보인다. 미팅을 대기하는 고객, 나처럼 분주히 출근하는 동료들 속에서 이 공간을 .. 2022. 6. 30.