본문 바로가기

분류 전체보기61

[Real My SQL] MySQL 엔진 아키텍처 - 2 플러그인 스토리지 엔진 모델 MySQL의 독특한 구조 중 하나는 플러그인 모델이다. 플러그인에는 스토리지 엔진 뿐만 아니라 다양한 부가기능들을 제공한다. MySQL에서 쿼리가 실행되는 과정을 크게 나누면 다음과 같다. SQL 파서 SQL 옵티마이저 SQL 실행기 데이터 읽기 / 쓰기 1 ~ 3 까지의 작업은 SQL 엔진의 영역에서 처리되며 4의 작업만 스토리지 엔진 모델에서 처리된다. 즉 사용자가 새로운 스토리지 엔진을 만든다고 하더라도 데이터 DBMS의 전체 기능이 아닌 읽기 /쓰기 기능만 수행하는 엔진을 만들게 된다. 즉 MyISAM을 사용하나 InnoDB를 사용하나 데이터 읽기 / 쓰기 작업에서만 차이가 있다는 것이다. MySQL 엔진은 스토리지 엔진을 조정하기 위해 핸들러라는 것을 사용한다 핸들러.. 2022. 11. 1.
[Real MySQL] MySQL 엔진 아키텍처 - 1 MySQL서버는 크게 2가지로 나누어져있다. MySQL 엔진 : SQL 문장을 분석하거나 최적화하는 등 사람의 머리 역할 클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러 SQL 파서 및 전처리기 쿼리의 최적화된 실행을 위한 옵티마이저로 이루어져 있다. ANSI SQL 문법을 지원하기 때문에 타 DBMS와 호환되어 실행될 수 있다. MySQL 서버당 1개 스토리지 엔진 : 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로부터 데이터를 읽어오는 부분 등 사 람의 손과 발의 역할 MySQL 서버당 여러개를 동시에 사용할 수 있다. 테이블의 모든 읽기 작업이나 변경 작업은 정의된 스토리지 엔진이 처리한다. 핸들러 API를 만족하면 누구든지 구현해서 MySQL 서버에 추가해서 사용할 수 .. 2022. 10. 31.
[Real MySQL] 1장 소개 1.2 왜 MySQL인가? MySQL과 Oracle을 비교한다면 MySQL의 경쟁력은 가격이나 비용이다. 최근 10여 년간의 전자 제품 발전과 서버 컴퓨터 시장의 변화는 새롭거 엄청난 양의 데이터를 만들어내고 있다. 이러한 데이터를 저장하기에 Oracle은 너무 비싸다. 가장 좋은 DBMS는 자기가 가장 잘 활용할 수 있는 DBMS이다. DBMS 선정 기준 안정성 성능과 기능 커뮤니티나 인지도 DB-Engine 기준 웹 사이트 언급 횟수 검색 빈도 기술 토론 빈도 DBMS별 구인 전문가 인맥 DB 엔진 랭킹과 오픈소스라는 점을 보아도 MySQL는 매력적인 선택이 될 수 있다. 2022. 10. 31.
면접준비 - 자바 java • Managed - Unmanaged 언어의 차이는 무엇이고 어떤 장, 단점이 있나요? Managed Language는 코드가 하드웨어에서 구동되는 것이 아니라 특정 런타임 환경에 의해 관리되고 의존하는 언어이다. 대표적인 예로 java와 C#이 있다. Unmanaged Language는 코드가 하드웨어에서 바로 구동되어지는 언어로 c, c++이 있다. 각각의 장단점으로는 Managed 언어는 메모리를 직접 관리하지 않아도 된다는 점과 코드가 하드웨어에 의존적이지 않고 런타임환경에 의존한다는 것이고 단점으로는 메모리를 직접 관리하지 못하기에 프로그래밍의 자유도가 낮으며 비정기적인 메모리 정리가 이루어진다는 것이다. Managed Language의 장점으로는 하드웨어에서 바로 구동되므로 속도가 .. 2022. 10. 17.