본문 바로가기
728x90

MySQL22

[DataBase] MySQL 아키텍처(구조) MySQL의 전체구조 MySQL 서버는 MySQL엔진과 스토리지 엔진으로 구분된다. MySQL 엔진 -클라이언트로부터 접속 및 쿼리 요청을 처리하는 커넥션 핸들러, SQL 파서 및 전처리기, 그리고 쿼리의 최적화를 위한 옵티마이저, DBMS의 두뇌에 해당하는 처리를 수행한다. 스토리지 엔진(Storage engine) -스토리지 엔진은 실제 데이터를 디스크 스토리지에 저장하거나 읽어오는 부분을 전담한다. -MySQL 서버에서의 MySQL엔진은 1개, 스토리지 엔진은 여러개를 동시에 사용 가능하다. ex) CREATE TABLE test_table(컬럼명1 데이터타입, 컬럼명2 데이터타입) ENGINE=InnoDB; 처럼 스토리지 엔진을 지정하면, 테이블의 모든 작업은 해당 스토리지 엔진이 처리 -SHOW.. 2021. 1. 18.
[DataBase] MySQL,Oracle의 데이터베이스 계층 구조 비교 1. 일반적인 데이터베이스 계층 구조 MySQL에서 스키마와 데이터베이스가 어떻게 다른지 보기 전에 먼저 일반적인 데이터베이스의 4계층 구조를 보도록 하겠습니다. (정확한 지식이 아닌 전체적인 그림을 봅니다.) 데이터베이스 : 오라클의 경우 작동하는데 필요한 모든 파일을 의미합니다. 인스턴스 : DBMS가 동작할 때의 단위, OS 입장에서는 ‘프로세스’, DBMS에 따라서는 ‘서버 프로세스’ 또는 ‘서버’로 부르기도 합니다. 앞서 말한 데이터베이스가 실행 가능하게 메모리에 올라가 있는 걸 생각하시면 됩니다. 스키마 : 데이터베이스의 구조와 제약 조건을 정의한 것, 쉽게는 폴더에 해당하며 스키마도 폴더처럼 사용자가 자유롭게 만들 수 있고, 사용자에 따라 접근을 제한하는 등의 권한 관리가 가능합니다. 폴더이.. 2021. 1. 18.
DBCP API를 이용한 커넥션 풀 커넥션 풀(Connection pools) -커넥션은 객체이다. 이 객체가 만들어질 때마다 많은 시스템 자원이 필요하다. 따라서 메모리에 객체를 할당할 자리를 만들고 또 객체가 사용할 여러 자원들에 대한 초기화 작업, 또한 이 객체가 더 이상 필요 없을 때 객체를 거둬들이는 작업이 필요하다. -위의 시스템 자원에 대한 문제를 해결하기 위해 커넥션 풀에 커넥션 객체들을 만들어 놓은 후, 커넥션 객체가 필요한 경우 작성한 객체를 할당해 주고, 사용이 끝난 후에는 다시 커넥션 풀로 회수하는 방법을 사용한다. -커넥션 풀은 끊임없이 생성되는 커넥션 문제 해결이 목적으로, 반드시 컨테이너(container)에 1개만 만들어지도록 해야 한다. -커넥션 풀의 전략 1.service()메소드(사용자 요청)당 1개씩 할.. 2020. 11. 15.
MySQL 데이터베이스 생성,삭제,조회,유저 생성, 권한 부여 MySQL의 계층구조 위의 그림에서 알 수 있다시피 3계층 구조로 데이터베이스가 존재하지 않습니다. 실제로도 데이터베이스와 스키마를 동의어로 취급합니다. ●데이터베이스 생성 CREATE DATABASE 데이터베이스명; ●데이터베이스 삭제 DROP DATABASE 데이터베이스명; ●데이터베이스 조회 SHOW DATABASES; ●유저 생성 CREATE USER 유저명; create user 사용자ID; // 사용자 추가 create user userid@localhost identified by '비밀번호'; // 사용자(user)를 추가하면서 패스워드까지 설정 기존에 사용하던 계정에 외부 접근 권한을 부여하려면, Host를 '%' 로 하여 똑같은 계정을 추가한다 create user 'userid'@'%.. 2020. 10. 17.
728x90