CS
ACID 예제 상황
예제 상황 원자성-트랜잭션을 시작했고, 업데이트를 했지만, 충돌이남모든것은 트랜잭션하나의 원자로서 완료되어야한다. 분할할 수 없다고립성- 첫 번째 세션에서 트랜잭션을 시작- 제품을 선택하고 제품의 수를 카운트-두번째 세션에서 트랜잭션을 시작 - insert into sales (pid, price,quantity) valyes(1, 999.99, 10) --insert 0 1 - uqdate products set inventory = inventory -10 where pid =1; --update 1- commit;판매, 레코드출력 - 테이블과 카운트가 일치하지 않는다- 트랜잭션을 시작하면 건들지 않도록해야한다 -> 스냅샷을 얻으면 좋다postgres =# begin transaction isola..
ACID 트랜잭션 개념
트랜잭션 기본 내용을 정리해보겠다.원자성-모든 트랜잭션내의 모든 쿼리는 성공해야함-하나의 실패는 트랜재션이 롤백되어야한다atomicity-하나 이상의 쿼리가 실패할 경우 모든 쿼리를 롤백시킴-트랜잭션은 하나의 단위이고 나눌수없다isolation여러 트랜잭션이 동시에 동일한 데이터를 씀읽으려고 경합하는 동시성이 발생read phenomenaisolation levelsisolation -read phenomenadirty reads현재 실행중인 트랜잭션에서 발생하는 읽기 현상(flush 완전히 커밋되지 않음)Non-repeatable readsphantom reads : 아직 존재하지 않아서 실재로 읽을 수 없음lost updates 잃어버린 업데이트Non-repeatable read중복되지 않는 읽기se..
DB정리 - 개요
db기초는 이미 익숙한 상태이다.하지만 db를 깊게 응용하고 트러블슈팅능력은 조금 부족한 상태이기 때문에 서적과 인강을 참고하여 정리할 예정이다 ACID 인덱싱 파티셔닝 샤딩 동시성제어 복제 DB엔진 그외 데이터베이스 엔지니어링- database의 기초 - acid가 무엇인지 원자성은 무엇인지- 일관성과 격리 , 내구성- 인덱스- 동시성 제어, 파티셔닝, 샤딩- 깊은 인덱스 아이디어- 데이터베이스 엔진, 엔진의 개념 및 데이터베이스 시스템의 차이- 실제 어플리케이션을 설계할 때 중요하게 생각해야할 부분인지, 어플리케이션의 본질적인 부분을 탐구- 시스템을 배우고 추상적인 것들과 기본적인 것들 가장 기초적인 원리를 배운다---agenda - what is transaction- atomicity- isol..
04개발 블로그관리 방향성에 관하여 -티스토리, 벨로그, 미디엄, 깃허브아이오
무작정 공부기록을 만들기위해서 블로그 포스팅을 시작하게 되었는데,블로그 플랫폼이 여러개 있다는것을 알게 되었다. 여러 블로그들을 보다 보니깐, 티스토리에는 정보글 위주를 쓰고 일기, 에세이 형식의 글들을 많이 쓰는것을 확인 할 수 있었다. 그렇다면 전문적인 개발블로그는 어디에 만드는것이 좋을까? 생각하게 되어서 여러 플랫폼을 찾아보았다 참고 - 나무위키,위키피디아 -국내 꽤 많은 개발자들이 사용하여 개발자 생태계가 구축되어 있어 올라오는 정보들의 질이 좋은 편이다. 미디엄, 브런치와 비슷한 깔끔한 디자인이다 기능 없음 - 개별 게시글 좋아요는 있지만 구독이라는 개념이 없어서, 특정 유저의 글을 보기 위해선 따로 찾아보는 수고가 필요하다. 그러나 약간의 노력을 하면 이 부분을 자동화 할 수 있다. 아래 별..