반응형

CS/Database 4

[DB] index_merge 비활성화를 통한 Using Intersect 쿼리 효율 개선 일지

MySQL을 사용하고 있는 사이드프로젝트 모카콩에서 아래 Slow Query를 발견했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 select comment0_.comment_id as comment_1_2_, comment0_.created_time as created_2_2_, comment0_.modified_time as modified3_2_, comment0_.cafe_id as cafe_id6_2_, comment0_.content as content4_2_, comment0_.is_masked as is_maske5_2_, comment0_.member_id as member_i7_2_ from comment comment0_ left outer..

CS/Database 2023.07.28

[PostgreSQL] Mac M1 Postgres 실행 에러 해결_ Failure while executing; `/bin/launchctl bootstrap gui/501 /Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist` exited with 5.

오랜만에 아래 명령어로 PostgreSQL를 실행하려는데 아래 에러를 만났다. Postgresql 실행 시 brew services start postgresql@14 Bootstrap failed: 5: Input/output error Try re-running the command as root for richer errors. Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/kth990303/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist` exited with 5. psql 쉘 실행 시 혹시나 싶어 psql 쉘을 띄워보려 해도 아래 에러가 발생했다. psql pos..

CS/Database 2023.02.08

[PostgreSQL] Mac M1 homebrew로 PostgreSQL 설치 및 Datagrip 연동 (feat. postgresql 버전 별 차이 고민)

postgreSQL을 로컬에 설치할 일이 생겼다. 이왕 설치하는 거, 블로그에 기록해두면 이후에 두고두고 보기 좋을 것 같아서 포스팅해보려 한다. 설치환경은 Mac M1이며, 별도로 홈페이지 접속하여 설치하기 귀찮아서 homebrew로 설치하려 한다. DB IDE는 Datagrip을 이용할 것이며, 여기에 연동할 예정이다. DBeaver, PGAdmin 등 다양한 IDE가 있던데, PGAdmin은 비교적 느리고 일부 버그가 있다고 해서 DBeaver이랑 Datagrip 중에 고민했다. 그러던 중, https://medium.com/querypie/맘에-쏙-드는-database-ide를-찾아서-b38ee2d09103 글을 발견하여 최종적으론 Datagrip과 연동하기로 결정! 맘에 쏙 드는 Database..

CS/Database 2023.01.18

[DB] 트랜잭션의 ACID 성질

트랜잭션 관리는 백엔드 개발자에게 있어서 매우 중요한 일 중 하나이다. 트랜잭션이란 데이터를 다루는 일련의 수행 작업 단위를 의미한다. 예를 들어 A라는 사람이 B라는 사람에게 10만원을 빼앗는 작업을 수행한다고 하자. 이 때 A의 자산은 10만원이 증가해야 되고 B의 자산은 10만원이 감소한 상태로 작업이 완료돼야 한다. 만약, 해당 과정 수행 중에 문제가 생겼다면 아예 작업이 수행되기 전 초기 상태로 되돌아가야 한다. A의 자산은 10만원이 증가됐는데, B의 자산은 그대로인 경우가 존재하면 안된다. 위와 같이 트랜잭션은 데이터를 다루는 작업을 의미하기 때문에 매우 신중하게 관리해야 한다. 그렇기 때문에 트랜잭션은 ACID 성질을 보장해야 한다. ACID 성질이란 무엇일까? 원자성(Atomicity) ..

CS/Database 2022.10.14
반응형