본문 바로가기

(PostgreSQL) JSON VS JSONB RDB에 JSON 포맷을 저장할 때, 평소처럼 텍스트 포맷으로 저장할지, JSON Format을 적용할지 고민하게 된다. 뫼비우스의 띠 같은 삶을 사는 나는 딱 1년전에도 비슷한 고민을 했었다.( 작년에 조사한 글 :  👉 [MariaDB]RDB 속에서 NOSQL 사용하기 👈)작년에는 리서치만 해보고 말았는데, 올해에는 PostgreSQL에 JSON 타입을 실제로 적용해봐야겠다. 🐜🐜🐜고..
2018년 연간로그 #스터디  작년에 총 4개의 스터디를 했다.  Real MySQL, quality software management, TDD Coding Dojo, AWS Code Deploy Agent 오픈소스 커미터되기 1/2차  QSM 스터디 모임을 시작한지 어느새 7개월이 되었다.  처음에는 제럴드 와인버그 원서를 읽어보고 싶단 마음으로 가볍게 시작했었다. 원서 스터디 이후에는 오픈 소스 커미터 되기 ..
(PostgreSQL) Transaction과 Lock에 대한 이모저모 Table Lock Mode Table Lock Mode에 따라 공존할 수 있는 Lock이 있고, Conflict나는 Lock이 있다. SELECT를 막는 Table Lock은 ACCESS EXCLUSIVE 뿐이다. Lock Mode의 최종보스다. SELECT FOR SHARE는 FOR UDPATE, FOR SHARE 쿼리에서 필요하다.EXCLUSIVE는 UDPATE / DELETE 등의 쿼리에서 필요하다. EXCLUSIV..
(온라인스터디) TELECONSOLE + teletype Atom 온라인 오픈소스 스터디할 때, 행아웃으로 화면공유를 하니까 잘 안보였다.그래서 터미널을 공유할 수 있는 프로그램인 TELECONSOLE과, ATOM 화면을 공유할 수 있는 teletype Atom을 써봤었는데, 신세계였다. 😻온라인으로 협업할 일이 있으면, 요 두개를 가져다 쓰면 완전 좋다. TELECONSOLEteletype Atom텔레타입 아톰은 Host Atom에 게스트 Atom이 접속하는 개념인데, 읽기 권한만 있는..
<사이트 신뢰성 엔지니어링> - 2부 요약 본문 중에서...Chapter 6. 분산 시스템 모니터링 알럿 호출 방식 철학매번 호출기가 울릴 때마다 긴급한 상황임을 인지하고 그에 대응할 수 있어야 한다. 이러한 긴급 호출은 빈번한 호출로 인한 피로를 느끼지 않도록 하루에 단 몇번 정도만 발생해야 한다.모든 호출은 대응이 가능해야한다.호출은 새로운 문제나 지금까지 보지 못한 사건에 대한 것이어야 한다.호출에 대한 모든 대응은 이성적이어야 한다. 장기적 모니터링장애 호출에 대해 이미 정..
(PostgreSQL) Lock 경합 상태 확인하기 Block된 SQL 프로세스 조회 SQLSELECT blocked_locks.pid         AS blocked_pid,        blocked_activity.usename  AS blocked_user,    ..
(PostgreSQL) DB Lock을 줄이는 7가지 팁 해당 글은 When Postgres blocks: 7 tips for dealing with locks을 보고 정리한 글입니다  1. Default 값이 있는 필드를 추가하면 안된다PostgreSQL 10버전 이하를 쓰고 있다면, Default 값이 있는 필드를 추가하면, 테이블 락이 걸릴 수 있다. 그리고 엄청 느리다. 그래서 이런 쿼리를 날리면 안된다. ALTER TABLE items ADD COLUMN up..
(PotgreSQL) ROW SHARE Lock이란? ROW SHARE Lock이란? Table Level Lock의 일종이다. Row라는 이름이 들어간다고 Row Lock이 아니다. SELECT FOR UPDATE, SELECT FOR SHARE 명령문을 날릴 때, 대상이 되는 테이블에 락을 잡는다. UPDATE, DELETE 명령문을 날릴 때, RowShareLock이 잡히는 경우도 있다. UPDATE / DELETE 명령문을 날릴 때, RowShareL..