분류 전체보기

    2-6 분산 데이터베이스와 성능

    2-6 분산 데이터베이스와 성능

    분산 데이터베이스 DB 시스템 구축 시 한 대의 물리적 시스템에 DBMS를 설치하고 여러 사용자가 접속하여 DB를 사용하는 구조를 중앙 집중형 데이터베이스라고 한다. 또 분산 데이터베이스는 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역의 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터베이스이다. 분산데이터베이스의 정의는 다음과 같다. 여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임 물리적 Site 분산, 논리적으로 사용자 통합·공유 분산 데이터베이스의 투명성Transparency 투명성 설명 분할 투명성 고객은 하..

    2-5 데이터베이스 구조와 성능

    2-5 데이터베이스 구조와 성능

    슈퍼타입/서브타입 모델의 성능고려 방법 슈퍼/서브타입 데이터 모델의 개요 'Extended ER모델'이라고 부르는 '슈퍼/서브타입 데이터 모델'은 최근에 데이터 모델링을 할 때 자주 쓰이는 모델링 방법이다. 업무를 구성하는 데이터를, 공통점/차이점 등 특징을 고려하여 효과적으로 표현할 수 있기 때문이다. 즉 공통의 부분은 슈퍼타입으로 모델링하고 공통으로부터 상속받아 다른 엔터티와 차이가 있는 속성은 별도의 서브엔터티로 구분해서, 업무의 모습을 정확하게 표현하고 물리적 데이터 모델로 변환할 때 선택의 폭을 넓힐 수 있는 장점이 있다. 당연히 슈퍼/서브타입의 데이터 모델은 논리적 데이터 모델에서 이용되는 형태이고 분석/설계단계를 구분하자면, 분석단계에서 많이 쓰인다. 따라서 물리적인 데이터 모델을 설계하는 ..

    2-4 대량 데이터에 따른 성능

    2-4 대량 데이터에 따른 성능

    대량 데이터발생에 따른 테이블 분할 개요 아무리 설계가 잘되어 있는 데이터 모델이라고 하더라도 대량의 데이터가 한 테이블에 집약되어 있고 한 하드웨어 공간에 저장되어 있으면 성능저하를 피하기 힘들다. 일이 처리되는 양이 한군데에 몰리는 현상은 어떤 업무에 있어서 중요한 데이터가 특정 테이블에 있는 경우에 발생되는데, 이런 경우 트랜잭션이 분산 처리될 수 있게 테이블 단위의 분할을 적용할 필요가 있다. 대량의 데이터가 처리되는 테이블의 성능이 저하되는 이유는 SQL 문장에서 데이터 처리를 위한 I/O량이 증가하기 때문이다. 막연하게 데이터량이 많아져 그 처리를 위한 I/O량이 많아질 것이라고 생각한다면, 인덱스의 적절한 구성(원하는 데이터만 접근하여 I/O량을 조절하는 방법)을 통해 해결될 수 있다고도 생..

    *Challenge old 52 (400)

    *Challenge old 52 (400)

    내 미션이 admin page에 접근하는 것이라고 한다. admin page를 들어가보자. 사용자 이름과 비밀번호를 입력하게 되어 있고 guest 계정은 guest/guest라고 하는 것을 보니, admin 비밀번호를 찾든 뭘 해서 로그인 하면 될 것 같다. guest로 로그인하면 hi guest가 출력된다. 로그인 창에서 취소를 누르면 다음과 같은 소스를 볼 수 있다. view-source 먼저, logout==1이면, 즉 guest-guest로 로그인 후 로그아웃을 누르면 login 세션은 사라지고 로그아웃된다. login 세션값을 admin으로 확인한 뒤에는 ip주소를 확인하고 필터링 후 flag를 출력한다! admin이 아니면 You are not admin을, admin인데 ip가 필터링 되면,..

    Challenge old 50 (450)

    Challenge old 50 (450)

    SQL INJECTION id : pw : view-source get 방식으로 넘긴당 초기화면 id: guest, pw: guest로 제출을 누르면 level: 1이라고 출력된다

    Challenge old 41 (250)

    Challenge old 41 (250)

    파일 선택창이 up, 업로드 버튼이 upload이다 내가 파일을 올리면 fopen() 읽기 모드로 열려서 그곳에 flag가 적히고 다시 닫히는 행위가 이루어진다 중요한 곳은 $f = @fopen("./{$upload_dir}/{$fn}","w"); 이 부분으로, 그 파일이 어느 경로 {$upload_dir}에 copy되는지 알아야 flag가 적힌 파일로 이동할 수 있는 것이다 먼저 파일을 선택해서 upload 할 수 있길래 txt 파일을 만들어서 올려봤다 파일명, 내용 모두 영문자다 Done~이 뜨고 끝났다 그 외 제목, 내용 모두 영문자/숫자/한글/공백으로 된 txt 파일을 업로드 해봤으나 아무일도 없었다. 라업을 찾아보니 파일명을 특정 글자수 이상으로 설정해서 업로드하면 뜨는 에러가 힌트라고 한다 파..

    Challenge old 42 (200)

    Challenge old 42 (200)

    test.txt, flag.docx 파일이 다운로드 버튼과 함께 테이블에 있다. 먼저, test.txt을 열어보면 아래와 같다. flag.docx 파일 다운로드를 시도하면 아래와 같은 얼럿이 뜬다. 이는 아마 admin 권한으로 다운로드가 가능하고 파일을 열어 flag를 보면 될 것 같다. nosubjectfile 2testtest.txt [download] 1read meflag.docx [download] 코드를 보니 flag.docx에서는 download를 클릭하면 바로 Access Denied 얼럿이 뜨도록 되어 있어서 그 부분을 flag, flag.docx로 바꿔봤다. 아무일 x 이게 아닌가 싶어 test.txt 쪽을 보니, test.txt 파일을 다운받는 코드가 위와 같았다. 인코딩되어 있는 ..

    Challenge old 61 (200)

    Challenge old 61 (200)

    Challenge old 마지막 문제ㅠ 깔끔하게 소스만 있네요..

    Challenge old 60 (300)

    Challenge old 60 (300)

    "; if(!is_numeric($_COOKIE['PHPSESSID'])) exit("Access Deniedview-source"); sleep(1); if($_GET['mode']=="auth"){ echo("Auth~"); $result = file_get_contents("./readme/{$_SESSION['idx']}.txt"); if(preg_match("/{$_SESSION['idx']}/",$result)){ echo("Done!"); unlink("./readme/{$_SESSION['idx']}.txt"); solve(60); exit(); } } $p = fopen("./readme/{$_SESSION['idx']}...

    Challenge old 59 (200)

    Challenge old 59 (200)

    lv : {$result['lv']}"; if($result['lv'] == "admin"){ mysqli_query($db,"delete from chall59"); solve(59); } echo "view-source"; exit(); } } if($_POST['id'] && isset($_POST['phone'])){ $_POST['id'] = addslashes($_POST['id']); $_POST['phone'] = addslashes($_POST['phone']); if(strlen($_POST['phone'])>=20) exit("Access Denied"); if(preg_match("/admin/i",$_POST..

    Challenge old 58 (150)

    Challenge old 58 (150)

    'hello'를 입력해봤더니 command라고 해서 'ls'를 쳐봤다 'flag'를 쳐보면, 'admin'은 command not found, 'id'는 그 외 cat, vi 등은 실행이 안돼서 소스 코드를 다시 보니, username = guest라고 되어 있어서 우선 admin으로 바꿨다. 그 후 와인색 네모칸을 flag로 바꿔 콘솔창에 입력해봤다.

    2-3 반정규화와 성능

    2-3 반정규화와 성능

    반정규화De-Normalization DB의 성능 향상을 위해 데이터 중복을 허용하고 조인을 줄이는 것으로, 반정규화를 통해 조회 성능은 좋아지지만 데이터 모델의 유연성을 낮아진다. 또 데이터 무결성을 깨뜨릴 위험이 있다. 반정규화를 수행하는 경우 정규화에 충실하면 종속성, 활용성을 향상되지만 수행 속도가 느려질 때 다량의 범위, 대량의 데이터를 자주 처리할 때 특정 범위의 데이터만 자주 처리할 때 통계성 프로세스에 의해 통계/요약/집계 정보가 자주 요구될 때 + 문제 지문: 반정규화 정보에 대한 재현의 적시성으로 판단한다. 예를 들어 빌링의 잔액은 다수 테이블에 대한 다량의 조인이 불가피하므로 데이터 제공의 적시성 확보를 위한 필수 반정규화 대상이다. 반정규화의 적용방법 반정규화 절차 설명 반정규화 대..