자바생
article thumbnail
여러분은 MySQL Json Type을 알고 있나요?
DB 2023. 10. 7. 19:49

글을 쓰게 된 이유 커디에서는 현재 댓글 알림, 행사 알림이 하나의 테이블에서 관리되고 있습니다. 각 알림은 type으로 구분하고 있습니다. Event 객체도 하나의 클래스로 관리하고 타입으로 이벤트 종류를 구분하고 있습니다. public class UpdateNotificationEvent { private static final String UPDATE_NOTIFICATION_COMMENT_TYPE = "comment"; private static final String UPDATE_NOTIFICATION_EVENT_TYPE = "event"; private final Long receiverId; private final Long redirectId; private final String updat..

article thumbnail
인덱스 (1)
DB 2023. 5. 26. 02:06

글을 쓰게 된 이유 DB 공부를 하던 중에 인덱스가 성능 이슈를 해결하는 방법 중 하나라고 알고 있었습니다. 하지만 실제로 인덱스를 써본 적이 없어서 실습을 하며 인덱스는 왜 사용하는지 알아보고자 이 글을 작성했습니다. 1편에서는 인덱스 정의 및 간단한 실습을 해보고, 2편에서는 인덱스의 종류, 실습을 통해서 좀 더 깊이 파보도록 하겠습니다. 인덱스는 무엇인가? index의 뜻은 색인이라는 뜻으로 책의 목차라고 생각해 주시면 됩니다. 목차를 보면 어떤 내용이 어떤 페이지에 있는지 바로 알 수 있기 때문에 우리는 굳이 책의 전체를 살펴보지 않아도 원하는 내용이 있는 페이지를 찾을 수 있습니다. 데이터베이스의 index도 책에서의 목차 와 같은 역할을 합니다. 데이터를 조회할 때 테이블의 모든 데이터를 살..

article thumbnail
Database Lock (2) - MySQL InnoDB Lock
DB 2023. 1. 2. 09:54

글을 쓰게 된 이유 앞서 Lock (1)에서 Database lock을 사용하는 이유와 RDB에서 통용되는 lock까지 공부해 보았습니다. 이번에는 MySQL에서 사용하고 있는 Lock에 대해서 공부해 보겠습니다. MySQL에서 사용하는 lock MySQL에서 제공하는 lock은 어느 곳에서 동작하느냐를 기준으로 mysql engine lock, mysql storage engine lock으로 나눌 수 있습니다. mysql engine lock은 global lock, table lock, named lock, metadata lock이 존재하고 storage engine lock은 innodb라 생각하고 S, X lock, intention lock, record lock, gap lock, next..

article thumbnail
Database Lock (1) - Lock 이란?
DB 2022. 12. 29. 17:07

글을 쓰게 된 이유 데이터베이스 트랜잭션, MVCC 등 공부를 하면서 lock을 알게 되었는데, lock은 무엇이고, 왜 사용하는지 그리고 어떻게 사용되는지, 어떤 종류가 있는지 알아보겠습니다. 1. Lock이란(이번 글) 2. MySQL InnoDB Lock 의문점 lock을 제대로 공부하기 전에는 lock에서 낙관적 락, 비관적 락이 있다는 것만 알고 있었습니다. 그런데 서칭을 해보니 table lock, gap lock, next-key lock(트랜잭션 격리 수준에서 봄) 등이 존재했습니다. 그러면 이 lock들은 무엇이고, 낙관적 비관적 락은 무엇이며 각각 뭐가 다른 것인지 궁금했습니다. 트랜잭션과 Lock의 용도 트랜잭션을 공부하고 나서 Lock을 공부해보니 둘 다 동시성에 관련 있어서 헷갈렸..

728x90

검색 태그