DevBoi

잡다하지만 필요한 개발지식 11 본문

[Computer Science]

잡다하지만 필요한 개발지식 11

HiSmith 2021. 7. 30. 11:59
반응형

데이터베이스에서 이상이란? 이상은 왜 발생하는가? 그 종류는?

데이터 베이스 이상현상이란, 3가지가 있다.

- 갱신 이상 : 반복된 데이터 중 일부를 갱신할 시 데이터의 불일치가 발생

- 삽입 이상 : 불필요한 정보를 함께 저장하지 않고서는 어떤 정보를 저장하는 것이 불가능하다

- 삭제 이상 : 필요한 정보를 함께 삭제하지 않고서는 어떤 정보를 삭제하는 것이 불가능하다

 

-갱신 이상 : 만약에 한가지의 데이터가 변경되었다면, 연관된 다른데이터들이 한꺼번에 같이 변경되지 않아 불일치가 발생한다.  이렇게 될경우, 바뀌게 되는 데이터에 따른 모든 데이터를 일일히 바꿔서 수정해줘야한다.

 

-삽입 이상 : 내가 원하는 값만 테이블에 삽입하고 싶은데, 테이블에 필요하지 않은 필드들 때문에

원치 않는 필드의 값도 삽입해야하는 경우가 생긴다.

 

-삭제 이상 : 하나의 튜플에 삭제를 원하는 데이터와 삭제를 원하지 않는 데이터가 같이 있어, 어쩔수 없이 같이 삭제되는 현상 이다.

 


인덱스란? 언제 인덱스를 만드는 것이 좋을까?

인덱스는 데이터베이스에서, 동작속도를 높여주는 자료구조를 일컫는다.

한개의 컬럼, 여러개의 컬럼을 이용하여, 생성

고속의 검색 동작 뿐아니라, 레코드 접근과 효율적인 순서 매김 동작에 대한 기초를 제공한다.

인덱스를 저장하는 디스크 공간은, 테이블을 저장하는 데 필요한 디스크 용량 보다 적다.

DB의 성능을 향상시키며, 적절한 사용으로 데이터에 빠르게 접근 할때 필요한다.

필요없는 인덱스가 많아지면, DB에 차지되는 공간이 많아서 Table scan 보다 속도가 느려질수있다.

 

 

트랜젝션이란? 트랜젝션의 네가지 특성은?

원자성 - 트랜잭션이 db에 전부 반영 혹은 전체다 미반영

일관성 - 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다.

독립성 - 둘이상의 트랜잭션이 동시에 실행되는 경우, 서로 트랜잭션에 끼어들면 안된다.

지속성 - 트랜잭션이 성공적으로 완료되었을 경우, 결과는 영구적 반영이 되어야 한다.

 

 



파이프라이닝이란?

파이프 라이닝이란, 동시에 여러개의 명령어를 처리하므로써 처리량을 올리는 것이다.

모든단계는 동작속도대로 일을 하면서 처리량을 늘린다.

순차적처리를 하면, 한 동작이 종료된 이후에 다음 동작을 실행하는데

파이프라이닝 유사 기법을 활용하면, 실행이후 또 다른 명령어를 실행한다.

 

 

가장 효율적인 파이프라인 조건은,

각 단계별 처리시간이 일정해야하고, 처리단계는 균일해야한다.

반응형

'[Computer Science]' 카테고리의 다른 글

잡다하지만 필요한 개발지식 13  (0) 2021.08.11
잡다하지만 필요한 개발지식 12  (0) 2021.08.09
필요한 잡다한 개발지식 10  (0) 2021.07.29
잡다한 기술 지식 10  (0) 2021.07.28
잡다한 기술 지식 9  (0) 2021.07.27