프로그래밍/데이터베이스

    데이터베이스 선택에 대한 고민

    데이터베이스를 선택할 때, 주로 나오는 내용은 RDBMS 와 NoSQL 둘 중 어느것을 선택할지에 대한 고민이 자주 나옵니다. NoSQL과 RDBMS 각각의 장단점에 대해 알아보고, 언제 사용하는게 적합할지에 대해 알아보겠습니다. Releational DataBase Order id product_id count ordered_at user_id ... ... ... ... ... ... .. ... .. ... 위와 같이 주문에 대한 정보를 담고 있는 Order라는 테이블이 있다고 가정하겠습니다. 만약 Order라는 테이블에서 주문 상태를 저장하는 order_status 컬럼이 추가되었다고 가정하겠습니다. id product_id count ordered_at user_id order_status ....

    CAP 이론?

    개요 현재 진행 중인 프로젝트에서, 데이터베이스를 선택할 때 큰 틀인 RDBMS(관계형 데이터베이스)와 NoSQL(Not Only SQL) 데이터베이스 중 어떤 것을 선택해야 할지, 도움을 줄 수 있는 이론인 CAP 이론에 대해 알아보고, 각각의 RDBMS에서는 CAP 이론의 어떤 점을 만족하는지, NoSQL에서는 CAP 이론의 어떤 점을 만족하는지에 대해 알아보겠습니다. CAP 이론 CAP 이론은 일관성(consistency), 가용성(availability), 그리고 분산 시스템의 파티션 허용 오차 차이(partition tolerance in distributed system)간의 절충점(trade-off)을 설명하는 컴퓨터 과학의 개념입니다. 먼저 일관성(Consistenct)이란 다음과 같은 시..

    트랜잭션에 대해

    데이터베이스, RDBMS는 트랜잭션이라는 기능을 제공합니다. INSERT나 UPDATE 명령으로 데이터를 추가, 갱신할 때 이미 트랜잭션 명령을 사용하고 있었습니다, 하지만 우리는 사용하면서 지금까지 특별히 의식할 필요가 없었습니다. 그 이유는 자동 커밋(auto commit)이라 불리는 기능이 동작했기 때문입니다. 이런 트랜잭션으로 어떤것을 할 수 있는지 트랜잭션은 무엇인지 알아보도록 하겠습니다. 트랜잭션 트랜잭션에 대해 알아보기에 앞서 정규화에 의해 분할된 주문 테이블과 주문 상품 테이블의 관계를 생각해 보겠습니다. 주문 주문 상품 주문 테이블과 주문 상품 테이블 사이에는 의존관계가 존재합니다. 주문 테이블에 행이 존재한다면 주문 상품 테이블에는 적어도 하나의 행이 존재해야 합니다. 그렇지 않다면 주..