[MySQL] MySQL InnoDB 8.4 Architecture Deep Dive
·
Backend/MySQL
1. Introduction 📌 My World Fell Apart포스팅할 때 항상 반말을 사용하다가 취업 후에는 나름 교양있게 써보겠다고 존칭을 썼었는데 나랑 안 맞는 것 같다.그리고 나를 위해 포스팅하던 공간이 타인을 위해 쓴다고 의식하기 시작했더니 쓸 데 없는 부담도 늘어나는 것 같고, 본래 블로그 운영 목적을 벗어나는 것 같아서 다시 반말로 적기로 했다. 최근 MySQL InnoDB 8.4 이상 버전에서 SQL 튜닝을 공부하고 있는데, 정작 책은 Oracle을 기준으로 적혀있어서 혼란을 많이 겪고 있었다. Real MySQL을 먼저 읽었어야 했나 싶다.학교에서 배웠던 데이터베이스도 Oracle 기준이었기에 책을 이해하는 것이 크게 어렵지는 않았으나, Heap organized table인 Ora..
[MySQL] MySQL은 실행 계획과 쿼리 결과 캐싱따위 하지 않는 상DB인 것인가?
·
Backend/MySQL
😇 결론을 내리지 못한 포스팅입니다. 추후 소리 소문없이 수정될 수 있습니다.1. Introduction 📌 Why should we do parameter binding?한 달 전쯤, 팀 배정을 처음 받고 업무를 하다가 사수분께 "Query에 Parameter Binding을 해야 하는 이유가 뭔지 아시나요?"라는 질문을 받았었습니다. 🙋🏻‍♂️: paramter binding으로 전달해야 SQL Injection을 방어할 수 있기 때문이죠! (파라미터로 전달된 값은 순수한 데이터로만 처리 되기 때문에 명령어로 해석이 되지 않기 때문!)👨‍🏫: 오, 그것도 맞아요. 그런데 다른 이유도 있어요!🙍🏻‍♂️: ..? 취업 전까지는 DB를 깊게 파야할 정도로 성능 문제가 발생하지도 않았고, 애..
[MySQL] The total number of locks exceeds the lock table size
·
Backend/MySQL
대규모 데이터를 삽입해서 테스트를 하기 위해 JDBC로 Batch Insert를 하고 있는데, 갑자기 제목과 같은 에러가 나타났다. user 데이터 1억 개, user 테이블을 참조하는 device_token 데이터 10억 개를 넣는데,이해가 안 가는 게 Batch size를 10,000으로 잡았을 때, user 데이터는 잘 삽입하더니 device_token 삽입할 때는 에러가 발생한다.  MySQL Error 1206, 데이터 엔지니어의 눈으로 바라보기★ 부제 : 데이터엔지니어와 데이터분석가의 경계 “The total number of locks exceeds the lock table size” 락의 총합이 락테이블 사이즈를 초과했다. 무슨 뜻일까? 냉큼 buffer_size를 늘이라고 해서 늘린다면..
[MySQL] goormIDE에 MySQL 서버 구축하기
·
Backend/MySQL
💡 해당 포스팅은 2021년 10월 8일 이전에 등록한 goorm 계정이 있어야 합니다. 현재 진행 중인 개인 프로젝트가 있는데, 클라우드에서 지원하는 MySQL을 사용하자니 요금이 어마무시하게 청구가 되길래 고민하던 중 goormIDE에서 컨테이너 1개를 무료로 제공해준다는 사실을 알게되어, DB 서버로 사용하게 되었다. 이로써 AWS를 빌드 서버로 만들고, NCP를 배포 서버, goorm을 DB 서버로 만드는 대환장 아키텍처를 실현할 수 있게 되었다. ㅋㅋㅋㅋㅋ 구름HOME 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 위 링크에서 회원가입을 하고 컨테이너를 생성해주어야 한다. 나는 이미 ..