전체
-
[ 감상 ] 라스트 오브 어스카테고리 없음 2016. 5. 22. 16:19
psp, ps vita 같은 휴대용 게임기는 이전에도 즐기고 있엇지만, 얼마전 큰맘먹고 ps4를 샀습니다.이유는 크게 없었고, 그냥 이 게임이 너무 해보고 싶었습니다. 그리고 기존의 pc 게임에 더이상 흥미를 가지지 못하고 있엇고..그렇다고 스팀을 사자니 컴퓨터 사양이 그리 좋지많은 않았기에 새로운 변화같은 셈이죠.. 여튼 2013년 올해의 게임 ( GOTY 라고 하죠 [ Game Of The Year ] 의 약자입니다 ) 최고 수상작 ( 이 GOTY는 여타 수상식 처럼 대상 금상이 있는게 아니라 세계의 각 게임 매거진에서 올해 최고의 게임은 이거다! 라고 하는것들을 모아 집계합니다. ) 라스트 오브 어스 입니다.초반엔 잘 나가고 있던 언챠티드를 두고 갑작스레 새로운 게임을 만들고 있단 말에 너티독이 꽤..
-
에러 로그 파일Technique/RDBMS 2016. 5. 19. 22:28
MySQL이 실행되는 도중에 발생하는 에러나 경고 메시지가 출력되는 로그파일이다. MySQL이 시작하는 과정과 관련된 정보성 및 에러 메시지MySQL설정 파일을 변경하거나 데이터베이스가 비정상적으로 종료된 이후 다시 시작하는 경우에는 반드시 에러로그 파일을 통해 설정된 변수의 이름이나 값이 명확하게 설정되고 의도한 바대로 적용됐는지 확인해야 한다. 마지막으로 종료할 때 비정상적으로 종료된 경우 나타나는 InnoDB의 트랜잭션 복구 메시지InnoDB의 경우 MySQL서버가 비정상적 또는 강제적으로 종료됐다면 다시 시작되면서 완료되지 못한 트랜잭션을 정리하고 디스크에 기록되지 못한 데이터가 있다면 다시 기록하는 재처리 작업을 하게 된다. 이 과정에 대한 간단한 메시지가 출력되는데, 간혹 문제가 있어서 복구되..
-
MEMORY 스토리지 엔진 아키텍처Technique/RDBMS 2016. 5. 19. 22:10
MEMORY 스토리지 엔진은 HEAP 스토리지 엔진이라고도 하는데, 이름 그대로 데이터를 메모리에 저장하는 것이 특징이다. MEMORY 스토리지 엔진은 데이터의 크기가 작고 아주 빠른 처리가 필요한 경우에만 적합한 스토리지 엔진이다. 주의 사항 - 테이블의 최대 크기저장할 수 있는 데이터의 최대 용량이 정해져 있다. 최대 데이터 크기는 max_heap_table_size 파라미터로 정의한다.여기 지정한 메모리의 용량이상의 데이터는 가질 수 없으며, 그 이상의 데이터를 INSERT 하려고 하면 데이터 저장이 실패하고 에러 메시지가 출력된다. 이 변수는 글로벌 변수임과 동시에 세션 변수이고, 동적으로 변경 가능한 변수라, 해당 커넥션에서만 파라미터를 재 설정할 수 있다. - 고정 길이 컬럼만 지원모든 컬럼은..
-
MyISAM 스토리지 엔진 아키텍처Technique/RDBMS 2016. 5. 19. 21:49
InnoDB의 버퍼 풀과 비슷한 역할을 하는 것이 MyISAM의 키 캐시 ( Key Cache, 키 버퍼 라고도 한다 )이다.이름 그대로 MyISAM키 캐시는 인덱스만 대상으로 작동하며 또한 인덱스의 디스크 쓰기 작업에 대해서만 부분적으로 버퍼링 역할을 한다. 키 캐시의 효율성을 나타내는 수식은 아래와 같다. 키 캐시 히트율 ( Hit rate ) = 100 - ( Key_reads / Key_read_requests * 100 ) - Key_reads : 인덱스를 디스크에서 읽어들인 횟수를 저장하는 상태 변수- Key_read_requests : 키 캐시로부터 인덱스를 읽은 횟수를 저장하는 상태 변수. 매뉴얼에서는 일반적으로 키 캐시를 이용한 쿼리의 비율 ( 히트율 ) 을 99% 이상으로 유지하라고 권..
-
복제 ( Replication )Technique/RDBMS 2016. 5. 17. 22:14
복제는 2대 이상의 MySQL 서버가 동일한 데이터를 담도록 실시간으로 동기화 하는 기술이다. 일반적으로 MySQL의 복제에는 INSERT나 UPDATE와 같은 쿼리를 이용해 데이터를 변경할 수 있는 MySQL 서버와 SELECT 쿼리로 데이터를 읽기만 할 수 있는 MySQL 서버로 나뉜다.MySQL 에서는 쓰기와 읽기의 역할로 구분해, 전자를 마스터( Master ) 라고하고 후자를 슬레이브 ( Slave ) 라고 하는데, 일반적으로 MySQL 서버의 복제에서는 마스터는 반드시 1개이며 슬레이브는 1개 잇아으로 구성할 수 있다. 하나의 MySQL이 일반적으로는 마스터 또는 슬레이브 가운데 하나의 역할만을 수행하지만, 때로는 MySQL 서버 하나가 마스터이면서 슬레이브 역할까지 수행하도록 설정하는 것도 ..
-
플러그인 스토리지 엔진 모델Technique/RDBMS 2016. 5. 16. 22:21
MySQL의 독특한 구조중 대표적인 것이 바로 플러그인 모델이다. 플로그인해서 사용할 수 있는 것이 스토리지 엔진만 가능한 것은 아니다. MySQL 5.1 버전부터는 전문 검색 엔진을 위한 검색어 파서도 플러그인 형태로 개발해서 사용할 수 있다.이미 기본적으로 많은 스토리지 엔진을 가지고 있지만, 이 사셍의 수많은 사용자의 요구조건을 만족시키기 위해 기본적으로 제공되는 스토리지 엔진 이외에 부가적인 기능을 더 제공하는 스토리지엔진이 필요할 수 있으며, 이러한 요건을 기초로 다른 전문 개발 회사 또는 직접 스토리지 엔진을 제작하는 것도 가능하다. 대부분의 MySQL 작업은 엔진에서 처리가되며, 마지막인 "읽기/쓰기" 만이 스토리지 엔진에 의해 처리된다. ( 즉 새로운 스토리지 엔진을 만든다 하더라도 전체 ..
-
메모리 할당 및 사용 구조Technique/RDBMS 2016. 5. 16. 22:11
글로벌 메모리 영역의 모든 메모리 공간은 MySQL 서버가 시작되면서 무조건 운영체제로부터 할당 된다.운영체제의 종류에 따라 다르겠지만 요청된 메모리 공간을 100% 할당해줄 수도 있고, 그 공간 만큼 예약해두고 필요할 때 조금씩 할당해주는 경우도 있다. 글로벌 메모리 영역과 로컬 메모리 영역의 차이는 MySQL 서버 내에 존재하는 많은 스레드가 공유해서 사용하는 공간인지 아닌지에 따라 구분된다. 글로벌 메모리 영역일반적으로 클라이언트 스레드의 수와 문관하게 일반적으로는 하나의 메모리 공간만 할당된다. 단 필요에 따라 2개 이상의 메모리 공간을 할당받을 수도 있지만 클라이언트의 스레드 수와 무관하며, 생성된 글로벌 영역이 N개라 하더라도 모든 스레드에 의해 공유된다. 로컬 메모리 영역세션 메모리 영역이라..
-
MySQL 스레딩 구조Technique/RDBMS 2016. 5. 16. 21:57
MySQL 서버는 프로세스 기반이 아니라 스레드 기반으로 작동하며 포그라운드 ( Foreground ) 스레드와 백그라운드( Background ) 스레드로 구분할 수 있다. 포그라운드 스레드 ( 클라이언트 스레드 ) 최소한 MySQL 서버에 접속된 클라이언트의 수만큼 존재하며, 주로 각 클라이언트 사용자가 요청하는 쿼리 문장을 처리하는 것이 임무다. 클라이언트 사용자가 작업을 마치고 커넥션을 종료하면,ㅡ 해당 커넥션을 담당하던 스레드는 다시 스래드 캐시 ( Thread pool ) 로 되돌아 간다.이미 스레드 캐시에 일정 개수 잇아의 대기중인 스레드가 있으면 스레드 캐시에 넣지 않고 스레드를 종료시켜 일정 개수의 스레드만 스레드 캐시에 존재하게 한다. 포그라운드 스레드는 데이터를 MySQL의 데이터 버..