- DBA가 개발자에게 가장 많은 질문을 받는 것들
- (일어) 시리얼 번호 ID를 사용하면 회사가 망한다(채번과 UUID 벤치마크)
- Index 이해하기
- MySQL의 다양한 타임아웃 옵션
- 수신기한이 지난 데이터를 MySQL에서 삭제할 때의 이야기
- MySQL에서 문자열의 유니크 제약 조건을 걸 때 조심할 것
- (일어) MySQL 인덱스의 장단점을 원리에서 이해하기
- (일어) 서비스 개발자를 위한 SQL 데이터 통계 입문
- (일어) SQL Training 2021
- (일어) Cloud Native 시대의 데이터 베이스
- (일어) 「분석 SQL 스타일 가이드」을 깊게 생각해보았다
- (일어) 이식성 있는 SQL, 보다 좋은 SQL을 작성하기 위한 간단한 실전적인 테크닉
- (일어) SQL 구문 정리
- (일어) 문서 DB로서의 RDBMS
- (일어) 이제는 무섭지 않다!? 대규모 환경에서 체험하는 DB 부하대책~수직에서 수평으로~
- ADT 활용 예제1: MySQL Shard 데이터 재분배
- (일어) 꼭 알아야할 SQL
- (일어) Postgres와 MySQL에서의 id, created_at, updated_at에 관한 베스트 프랙틱스
- 인덱스
- 트랜잭션, Lock
- (일어) 트랜잭션 설계와 진화
- 트랜잭션 격리 수준에 대한 요약
- MySQL 트랜잭션 격리 수준과 발생하는 법칙을 정리
- "트랜잭션을 사용하면 괜찮다" 라고 생각하지 않습니까? 버그의 온상이 되는 일반적인 구현 패턴
- (일어) MySQL의 Row lock을 그림으로 설명
- 데이터베이스 락(Lock) 기초부터 교착 상태(데드락)까지
- MySQL의 갭락과 넥스트 키 락에 대해서
- MySQL 8.0의 lock read의 NOWAIT와 SKIP LOCKED 옵션에 대해서
- UPDATE IN SELECT로 인한 교착 상태가 더 이상 발생하지 않게된 이야기
- MySQL의 ALTER TABLE 문 실행 시 주의 사항
- MySQL(InnoDB)에서 각종 Lock 동작 알아보기
- Waiting for table metadata lock 대처 방법, 복습
- (일어) InnoDB의 Lock 아키텍처를 이해하고 데드락을 설명한다
- (일어) DB 트랜잭션 분리 레벨 개요와 발생할 수 있는 문제를 MySQL에서 재현시키면서 이해하기
- SQL 약간의 퍼포먼스 튜닝 정리
- (일어) 실무에 도움되는 SQL 테크닉 모음
- (일어) RDS performance insight와 실행 계획과 친해지는 방법
- DB 튜닝에서 실제로 성과가 나온 3개의 지침
- DBeaver - Free Universal Database Tool
- (일어) 실전!DB 벤치마크 툴 사용 방법
- ingestr - 명령 하나로 DB간 데이터를 복사해주는 CLI 도구
- SQLFluff를 사용하여 SQL을 린트(Lint) 하기
- SQL용 포맷터(코드 정리) "SQLFluff"
- (일어) sysbench 1.0을 사용하여 MySQL 부하테스트 하기
- HeidiSQL MariaDB, MySQL, Microsoft SQL, PostgreSQL and SQLite
- DbGate - 오픈소스 크로스플랫폼 (no)SQL DB 클라이언트
- SQL Fiddle - 온라인 SQL 테스팅 도구
- sqliteviz - PWA SQLite Visualiser. SQLite DB/CSV 를 시각화 하는 PWA
- 생성, 관리, 마이그레이션 툴
- ChartDB - 무료/오픈소스 DB 디자인 편집기
- windows 설치
- MySQL Community Server 8.0.15 설치
- Windows 10 환경 MySQL 64bit 수동 설치 (v8.0.19)
- (일어) Ubuntu(wsl)에 MySQL(8) 셋업
- (일어) How to build MySQL 8.0.11 on Windows
- (일어) SQL을 자유롭게 만져 보고 싶다! Windows에 MySQL 설치
- docker
- AWS가 MySQL의 ODBC 드라이버를 개발, 오픈 소스로 공개. 정품 드라이버 호환, Amazon Aurora의 빠른 장애 조치, AWS 비밀 및 IAM 지원 등
- (일어) MySQL 8.0로의 이행을 생각한다
- (일어) MySQL 8.0로의 이행 완료 - 안녕 모든 MySQL 5.7
- (일어) MySQL 8의 불가시(보이지 않는) 프라이머리키
- (일어) Dive into InnoDB from redo logs
- (일어) 개발자용 MySQL 입문
- MySQL 내부 구조
- MySQL의 저장 프로 시저, 함수 및 트리거의 성능이 나쁜 이유
- MySQL 8.0의 정렬 처리에 대해
- Index
- (일어) MySQL 에서 UUIDv4를 프라이머리 키로 하면 성능 문제가 일어나는 이유는?
- (일어) full scratch mysql storage engine
- (일어) MySQL 프로토콜으로 핸드셰이크 응답을 보내 보았다
- (일어) MySQL의 Sakila Sample Database를 사용해 보았다
- (일어) MySQL 5.7 이후에서 조건 있는 유니크 제약을 걸기 위한 베스트 프래틱스
- MySQL에서 리셋되는 시퀀스 만들어보기
- (일어) MySQL에서 프라이머리 키를 UUID로 하기 전에 알아둬야할 것
- (일어) MySQL의 JSON 타입을 어떻게 다루는지 설명
- (일어) MySQL의 Geometry 데이터 다루기
- (일어) MySQL의 root 패스워드를 강제적으로 변경하는 방법
- MySQL에서 날짜를 더하거나 빼는 함수
- MySQL에서 발생할 수 있는 뜻밖의 데드락과 대응 방법
- MySQL 메타데이터 Lock에 대해서
- (일어) MySQL 스레드의 메모리 사용량 제어와 확인 방법
- (일어) MySQL innodb_buffer_pool의 웜업 관련 옵션
- MySQL에 IP 주소를 저장하기
- (일어) 알고 있으면 편리한 MySQL의 find_in_set 함수
- (일어) MySQL가 느리다고 생각될 때 해야할 것
- (일어) MySQL 트랜잭션 분리 레벨에 대해서 정리
- MySQL 온라인 DDL에서 Deadlock 오류가 발생하는 경우
- (일어) max_execution_time을 설정하여 MySQL 쿼리 실행 시간을 제어하기
- MySQL의 다양한 타임 아웃 옵션 정보
- Wireshark를 이용한 MySQL 문제 해결
- 성능 튜닝
- innodb_dedicated_server에 의한 buffer_pool 할당
- 커넥션 풀의 크기를 제어하는 3 가지 설정
- (일어) MySQL의 metric에 관한 이야기
- (일어) MySQL 성능 튜닝의 기본 - 트레블슈팅 사례에서 my.cnf까지
- (일어) MySQL 성능 튜닝 -my.cnf 다시 보기
- (일어) MySQL 데이터베이스 성능 튜닝을 위한 Linux OS 튜닝
- (일어) innodb_thread_concurrency에 관한 이야기
- (일어) 알고 있으면 도움 되는 performance_schema 테이블
- (일어) MySQL 리얼타임 모니터링으로 「innotop」
- MySQL 8.0.22에서 innodb_log_writer_threads의 효과를 알아보자
- (일어) MySQL 통신 스펙을 Go 언어로 이해하는 책
- (일어) RDBMS-(MySQL,PostgreSQL 등) Advent Calendar 2020
- (일어) MySQL에서 GIS 데이터 다루기
- (일어) MySQL에 본격적으로 GIS 기능이 들어 왔다~MySQL8.0 최신 정보
- (일어) MySQL의 GIS에 대한 짧은 이야기
- (일어) MySQL】Geometry 타입(평면 공간 데이터 타입)을 사용해 보았다
- (일어) (PostgreSQL) Ubuntu: 특정 버전 설치
- (일어) 잘 알려지지 않은 PostgreSQL 기능
- Postgres 메모리 설정을 최대한 활용하는 방법
- (일어) PostgreSQL 프로토콜 구현에 필요한 유연성
- (일어) Amazon Aurora Limitless Database 내부 아키텍처 헤설 - 확장성과 고가용성의 비밀
- (일어) 딥 드라이브 온 MySQL 호환 Amazon Aurora
- (일어) Amazon ElastiCache Deep Dive: 인 메모리 데이터 스토어 디자인 패턴