MySQL

MySQL은 내부적으로 OS의 파일 I/O를 사용한다. 그럼 어느 정도는 직접 구현해볼 수 있지 않을까?  우선 MySQL의 아키텍처를 참고해보았다.MySQL은 SQL 구문이 들어오면 Parser -> 전처리기 -> 옵티마이저 -> 엔진 실행기 -> 스토리지 엔진 순서로 동작한다.  설계여기서 옵티마이저와 엔진 실행기는 제거하고 설계했다. 옵티마이저의 실행 계획 알고리즘 CBO를 구현할 역량이 없다고 생각했다. 또 내부적으로 실행 계획에 따라 풀스캔이나 인덱스로 탐색하는 것을 구현해야하는데, 마찬가지로 구현할 역량이 없다고 판단했다.  스토리지 엔진은 InnoDB를 참고했다.  그런 이유로 아키텍처는 아래와 같이 구성했다.   이번 구현에서 초점을 둔 것은, Disk I/O를 최대한 줄이는 것을 목표로 ..
ec2 서버 상에 SpringBoot 백엔드 프로젝트와 mysql를 컨테이너로 올렸는데, 자꾸만 SpringBoot 컨테이너에서 MySQL 컨테이너를 연결하지 못하는 오류가 나타났습니다.  결론적으로 백엔드 파이프라인 구성을 잘못한 것을 파악하지 못하고, 애먼 MySQL과 SpringBoot 설정을 이리저리 삽질했습니다  혹시나 도움이 될까 기록을 정리해두고자 합니다. SpringBoot와 MySQL과의 연결은 대부분 아래 방법으로 해결이 될 것이라 생각합니다. 문제 상황 도커 백엔드 컨테이너를 실행시키면 얼마지나지 않아 자꾸 내려가는 현상이 발생했다. 분명 젠킨스에서는 빌드가 잘 되는데.. 빌드 여부와 관계 없이 백엔드 컨테이너 내부의 문제일 것 같아 로그를 출력해보았다.sudo docker logs ..
기존에 MySQL workbench를 사용했지만, 튕기는 오류도 계속해서 생기고 DB 이전을 계획하고 있던터라 DBeaver라는 DB 관리 툴을 설치했습니다.  설치 방법에 대해 간단히 공유하고자 포스팅을 작성합니다. 1. DBeaver 란 무엇인가 우선, DBeaver에 대해 간단히 설명드리겠습니다.  DBeaver란 JDBC를 기반으로 DB 연결을 하기에 매우 다양한 데이터베이스를 지원하는 DB 관리 도구입니다.(MySQL, PostgreSQL, Oracle, SQLite, SQL Server등 관계형 데이터베이스는 물론 MongoDB, Cassandra, Redis 등의 NoSQL 데이터베이스도 지원) Commuity Edition을 이용하면 라이선스가 무료인데다가, Window, Linux, Ma..
동구름이
'MySQL' 태그의 글 목록