일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 준비
- 추억
- 1달살기
- 여행
- 서버
- 계획
- JAVA #언어 #프로그래밍 #IT #개발 #코딩
- 예약
- 배낭여행
- 여행 #
- 내심정
- #DB#SQLD#자격증
- IT
- JAVA #객체지향 #프로그래밍 #언어 #IT #기초
- 겨울
- 실비용
- JAVA #언어 #프로그래밍 #코딩 #static #정적함수 #정적변수 #클래스
- 영국
- 일정
- ip
- 리눅스
- 이탈리아
- 유럽
- 파이썬
- 유럽여행
- 경험
- 메시지 큐
- RabbitMQ
- 인프라
- 샐러리
- Today
- Total
목록분류 전체보기 (178)
YoonWould!!
1. 데이터베이스데이터베이스는 일상적인 정보들을 모아 놓은 것 자체를 의미한다.효율적인 데이터의 관리 뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요시 필요한 데이터를 복구하기 위한 강력한 기능의 소프트웨어를 필요로 하게 되었고 이러한 기본적인 요구사항을 만족시켜주는 시스템을 DBMS(Database Management System)라고 한다.데이터베이스의 발전1960년대 : 플로우차트 중심의 개발 방법을 사용하였으며 파일 구조를 통해 데이터를 저장하고 관리하였다.1970년대 : 데이터베이스 관리 기법이 처음 태동되던 시기였으며 계층형(Hierarchical) 데이터베이스, 망형(Network) 데이터베이스 같은 제품들이 상용화 되었다.1980년대 : 현재 대부분의 기업에서 사용되고..
1.분산 데이터베이스의 개요분산 데이터베이스란?여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스논리적으로 동일한 시스템에 속하나, 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임데이터베이스를 연결하는 빠른 네트워크환경을 이용하여 데이터베이스를 여러 지역 및 노드로 위치시켜 사용성/성능을 극대화시킨 데이터베이스2. 분산 데이터베이스의 투명성(Transparency)분산데이터베이스가 되기 위해서는 6가지 투명성을 만족해야 한다.분할 투명성(단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 사이트에 저장위치 투명성 : 사용하려는 데이터의 저장장소를 명시가 필요하지 않음. 위치정보는 System Caltalog에 유..
1. 슈퍼타입/서브타입 모델의 성능고려 방법가.슈퍼/서브타입 데이터 모델의 개요슈퍼/서브타입 모델 업무를 구성하는 데이터의 특징을 공통과 차이점의 특징을 고려하여 효과적으로 표현할 수 있으므로, 자주 쓰이는 모델링의 방법이다.이 모델은 논리데이터 모델에서 이용되는 형태이고, 물리적인 데이터 모델을 설계하는 단계에서는 일정한 기준에 의해 변환을 해야 한다.아무런 기준없이 막연히 변환하는 것 자체가 성능 저하의 위험이 있다.나.슈퍼/서브타입 데이터 모델의 변환슈퍼/서브타입에 대한 변환을 잘못하면 성능이 저하되는 이유는 트랜잭션 특성을 고려하지 않고 테이블이 설계되었기 때문이다.1) 트랜잭션은 항상 일괄로 처리하는데 테이블은 개별로 유지되어 Union연산에 의해 성능저하 2) 트랜잭션은 항상 서브타입 개별로 ..
1. 대량 데이터발생에 따른 테이블 분할 개요대량 데이터가 발생하는 테이블의 문제점설계가 잘 되어 있는 데이터 모델이라도 대량의 데이터가 하나의 테이블에 집약되어 있고 하나의 하드웨어 공간에 저장되어 있으면 성능 저하를 피하기 힘들다.인덱스도 또한 트리가 커지고 깊이가 깊어져, 조회성능에 영향을 미치게 된다.입력/수정/삭제의 트랜잭션인 경우도 인덱스의 특성상 일량이 증가하여, 더많은 성능저하를 유발하게 된다.컬럼이 많아지게 되면 물리적인 디스크의 여러 블록에 걸쳐 데이터가 저장되게 되며, 로우 길이가 너무 길어서 로우체이닝과 로우 마이그레이션이 많아지게 되어 성능이 저하된다.2. 한 테이블에 많은 수의 칼럼을 가지고 있는 경우200개의 컬럼을 가진 도서정보 테이블이 있다고 가정하고, 하나의 로우 길이가 ..
1. 반정규화를 통한 성능향상 전략가.반정규화의 정의반정규화는 정규화된 엔티티,속성,관계를 시스템의 성능향상 및 개발과 운영의 단순화를 위해 중복,통합,분리 등을 수행하는 데이터 모델링 기법이다.디스크 I/O량이 많아서 조회시 성능이 저하되거나, 테이블끼리의 경로가 너무 멀어 조인으로 인한 성능저하가 예상되거나, 컬럼을 계산하여 읽을 때 성능이 저하될 것이 예상되는 경우 반정규화를 수행하게 된다.업무적으로 조회에 대한 처리성능이 중요하다고 판단될때 부분적으로 반정규화를 고려하게 된다.설계단계에서 반정규화를 적용하게 되며, 반정규화 미수행시에는 다음과 같은 현상이 발생된다.성능이 저하된 데이터베이스가 생성될 수 있다.구축단계나 시험단계에서 반정규화를 적용할 때 수정에 따른 노력비용이 많이 든다.나.반정규화..
0. 정규화정규화(Normalization)란 다양한 유형의 검사를 통해 데이터 모델을 좀 더 구조화하고 개선시켜 나가는 절차에 관련된 이론이다.정규화종류정규화내용1차 정규화복수의 속성값을 갖는 속성을 분리2차 정규화주식별자에 종속적이지 않은 속성을 분리. 부분종속 속성을 분리3차 정규화속성에 종속적인 속성의 분리, 이전 종속(Transitive Dependency) 속성을 분리보이스-코드 정규화다수의 주식별자 분리4차 정규화다가 종속(Multi-Valued Dependency) 속성 분리5차 정규화결합 종속(Join Dependency)일 경우는 두 개 이상의 N개로 분리1. 정규화를 통한 성능 향상 전략정규화를 하는 것은 기본적으로 데이터에 대한 중복성을 제거해주고, 데이터가 관심사별로 모여있게 되므..
1. 성능 데이터 모델링의 정의성능 데이터 모델링데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때 부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK등 여러가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것이다.2. 성능 데이터 모델링 수행시점성능 데이터 모델링은 언제하면 좋은가?사전에 할 수록 비용이 들지 않는다.분석/설계단계에서 성능을 고려한 데이터 모델링을 수행하면, 나중에 성능저하때문에 발생하는 재업무(Rework)비용을 최소화할 수 있다.비즈니스 처리에 핵심적인 트랜잭션이 있다면, 프로젝트 초기에 운영환경에 대비한 테스트환경을 구축하고 트랜잭션을 발생시켜 실제 성능테스트를 해보아야 한다. 데이터 모델의 구조도 변경하면서, 가장 적절한 구조인지를 ..
[데이터베이스] 1. 정규화 과정에 대해 설명하고 정규화가 덜 되었을 때 발생할 수 잇는 Anomaly에 대해 설명할 수 있는가? 2. ER 다이어그램의 형태를 알고 구조가 주어졌을 때 다이어그램을 그릴 수 있는가? 또는 다이어그램으로 DDL을 작성할 수 있는가? 3. 분산 데이터베이스의 목표와 장단점에 대해서 설명할 수 있는가? 4. 병행 제어(동시성 제어)를 하기 위한 2가지 기법은 무엇이 잇고 이에 대해 설명할 수 있는가? 5. 전위, 중위, 후위 운행에 대해 알고 있으며 트리를 보고 각 운행기법에 맞게 운행 순서를 알 수 있는가? 전위/ 중위/ 후위 수식 표기법을 상호 변환할 수 있는가? 6. DCL, DML, DDL, TCL에 관하여 설명하고 명령어를 분류 할 수 있는가? 7. Queue, St..
문제 링크 : https://www.acmicpc.net/problem/7576 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include #includeusing namespace std; int m, n, h; int map[1005][1005], cnt[1005][1005], chk;int q[1000050][2], f, r;int x, y, dab;int dx[4] = { -1, 1, 0, 0, };int dy[4] = { 0, 0, -1, 1, };int main() { int i, j, l, k; cin >> m >> n; for (j = 0; j
문제링크 : https://www.acmicpc.net/problem/1697 1234567891011121314151617181920212223242526272829303132333435363738#include#includeusing namespace std; int n, k;int visited[100001] = { 0, }; int bfs(int start) { queue q; q.push(start); visited[start] = 1; while (!q.empty()) { int y = q.front(); q.pop(); if (y == k) { return visited[y] - 1; } if (y - 1