책/웹 프로그래머를 위한 데이터베이스를 지탱하는 기술

책/웹 프로그래머를 위한 데이터베이스를 지탱하는 기술

[웹 프로그래머를 위한 데이터베이스를 지탱하는 기술] 6장: 트랜잭션과 무결성ㆍ무정지성

본문은 [웹 프로그래머를 위한 데이터베이스를 지탱하는 기술]를 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. 트랜잭션의 중요성 이해하기 1) 트랜잭션의 의미 트랜잭션(Transaction)이란 데이터베이스의 내용을 접근하거나 변경하는 논리적 프로그램 단위를 의미한다 마지막까지 처리를 마치고 결과를 확정시키는 것을 커밋(Commit), 커밋하지 않고 모든 작업을 원래대로 되돌리는 것을 롤백(Rollback)이라고 한다. 트랜잭션의 존재로 인해 애플리케이션 측면에서 데이터 무결성과 관련된 에러 핸들링을 크게 줄일 수 있다 2) SQL문 레벨에서의 롤백 한 개의 SQL문이라고 하더라도 내부에서는 복수의 작업을 수행하므로 반드시 트랜잭션..

책/웹 프로그래머를 위한 데이터베이스를 지탱하는 기술

[웹 프로그래머를 위한 데이터베이스를 지탱하는 기술] 5장: 데이터베이스는 어떤 때에 크래쉬되는가?

본문은 [웹 프로그래머를 위한 데이터베이스를 지탱하는 기술]를 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. 데이터베이스는 어떤 때에 크래쉬되는가? 일반 PC와 같이 데이터베이스 서버에서도 장애가 일어날 수 있는데, 그 영향이 매우 크므로 장애에 대한 대비가 필요하다. 1) 전형적인 장애 시나리오 장애 대책으로서는 먼저 어떤 장애 패턴이 있는지를 정리하여 각각에 대해 적절한 대책을 마련하는 것이 중요하다 대표적인 장애 패턴에는 다음과 같은 것이 있다 소프트웨어 장애 MySQL, Oracle 등 소프트웨어 주변의 결함으로 인해 서비스를 제공할 수 없는 유형의 장애다 문제의 심각성에 따라 데이터 자체가 파괴되어 다시 시작되지 않는 등..

책/웹 프로그래머를 위한 데이터베이스를 지탱하는 기술

[웹 프로그래머를 위한 데이터베이스를 지탱하는 기술] 4장: SQL 문의 특징과 이를 잘 다루는 법

본문은 [웹 프로그래머를 위한 데이터베이스를 지탱하는 기술]를 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. SQL문의 실행 효율 의식하기 SELECT문, UPDATE문, DELETE문은 많은 레코드 중에서 조건에 맞는 것을 찾아오는 처리이므로 검색 처리를 고속으로 끝내는 것이 매우 중요하다. 1) 적절한 인덱스가 사용되고 있는지 확인 고속의 SQL문을 작성하는 데 있어서 중요한 것이 여럿 있지만, 가장 중요한 것은 적절한 인덱스를 사용하는 것이다 인덱스를 전혀 사용할 수 없는 경우는 테이블 전체의 레코드를 검색해야 한다 테이블이 거대한 경우 이 작업은 매우 무거워지며, 다른 작업에도 영향을 미쳐 서비스 다운을 초래할 수 있다 인..

책/웹 프로그래머를 위한 데이터베이스를 지탱하는 기술

[웹 프로그래머를 위한 데이터베이스를 지탱하는 기술] 3장: 테이블 설계와 릴레이션

본문은 [웹 프로그래머를 위한 데이터베이스를 지탱하는 기술]를 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. 데이터 모델링 기술의 중요성 애플리케이션을 만들 때 중요한 것이 바로 "어떤 데이터 항목이 필요한가"를 제대로 파악하는 것이다 애플리케이션 가동 후에 항목(=열)을 추가하는 것은 쉽지 않다 기능 추가가 자주 발생하는 애플리케이션에서 데이터 항목을 완벽하게 미리 밝혀내는 것은 불가능하다 따라서 데이터 항목을 추가하기 용이한 디자인도 중요하다 2. 예제를 사용하여 생각해 보자 이 장에서는 직원과 소속조직/부서를 취급하는 애플리케이션에서 필요한 데이터 항목을 파악하여 적절하게 테이블 설계에 도입하는 과정을 보여주고자 한다. 애플..

책/웹 프로그래머를 위한 데이터베이스를 지탱하는 기술

[웹 프로그래머를 위한 데이터베이스를 지탱하는 기술] 2장: 인덱스로 고속 액세스 실현하기

본문은 [웹 프로그래머를 위한 데이터베이스를 지탱하는 기술]를 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. 키와 값의 페어를 관리하고 싶다 1) 전체 검색은 대량의 데이터에 적합하지 않다 1장에서 얘기했던 것처럼 데이터를 처음부터 끝까지 순차적으로 찾는 선형 탐색은 선형 복잡도(O(N))를 지니고 있다 즉, 데이터 건수가 N배가 되면 N배의 계산량(시간)이 걸린다 이는 탐색 알고리즘에서 가장 비효율적이며, 데이터 건수가 아주 작은 경우에만 사용할 수 있다 2) 원하는 위치까지 순식간에 도달하는 방법 생각하기 배열처럼 데이터를 고정 크기로 관리하면 [PK X 로우의 크기]가 로우를 저장하는 시작 위치가 된다 이 방법을 이용하면 특..

코택
'책/웹 프로그래머를 위한 데이터베이스를 지탱하는 기술' 카테고리의 글 목록