분류 전체보기
-
NoSQLCS 지식/데이터베이스 2021. 1. 14. 15:35
NoSQL RDBMS를 지양하며 대량의 분산된 데이터를 저장하고 조회하는데 특화된 data store 동적 스케일 아웃을 지원 CAP 이론 일관성 (Consistency) 다중 클라이언트에서 같은 시간에 조회하는 데이터는 항상 동일한 데이터 보증 관계형 데이터베이스가 지원하는 가장 기본적인 기능 일관성을 지원하지 않는 NoSQL 을 사용하면, 데이터의 일관성이 느슨하게 처리되어 동일한 데이터가 나타나지 않을 수 있음 느슨하게 처리된다는 것 === 데이터의 변경을 시간의 흐름에 따라 여러 노드에 전파하는 것 이러한 방법을 최종적으로 일관성이 유지된다고 하여 최종 일관성 또는 궁극적 일관성을 지원한다고 함 분산 노드 간의 데이터 동기화를 위해서 두 가지 방법 동기 방법 데이터의 저장 결과를 클라이언트로 응답..
-
트랜잭션(Transaction)CS 지식/데이터베이스 2021. 1. 14. 15:33
Transaction이란 무엇인가? 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 or 한번에 모두 수행돼야하는 연산들을 의미 작업의 완전성을 보장해준다. 논리적인 작업을 모두 완벽히 처리하거나 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상이 발생되지 않게 만들어준다. 트랜잭션과 Lock Lock은 동시성을 제어하기 위한 기능, 트랜잭션은 정합성을 보장하기 위한 기능 Lock은 여러 커넥션에서 동시에 동일 자원에 대해 자원을 요청할 때 순서대로 하나의 커넥션만 변경할 수 있게 해주는 역할 트랜잭션은 쿼리의 갯수에 관계 없이 논리적인 작업 셋 자체가 100% 적용되거나 아무것도 적용되지 않아야함을 보장 특징 (ACID) 원자성(Atomicity) ..
-
정규화CS 지식/데이터베이스 2021. 1. 14. 15:23
정규화 목적 불필요한 데이터 제거하고 데이터를 논리적으로 저장하기 위해서 이상 현상 삽입 이상 원하지 않은 자료 삽입 or 삽입이 안되는 문제점(데이터 부족) 삭제 이상 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제 수정 이상 정확하지 않거나 일부의 튜플만 갱신 ~> 정보가 모호 or 일관성 깨짐 위의 이상 현상을 해결하기 위해 릴레이션의 애트리뷰트를 나눠 작은 릴레이션으로 분해하는 작업 1정규화 모든 속성이 원자 값을 가져야 함(더 이상 작은 단위로 쪼개지지 않는 값) 2정규화 1정규형을 만족하면서, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속이 돼야함 문제점 이행적 함수 종속이 존재함 삽입이상 새로운 엔티티가 생길 때, 종속되는 기본 키값이 없으면 NULL이 되므로 삽입 ..
-
인덱스(Index)CS 지식/데이터베이스 2021. 1. 14. 15:20
인덱스(Index) 인덱스(Index)란 데이터베이스 테이블의 모든 데이터를 검색해서 원하는 결과 값을 가져오려면 시간이 오래 걸리기 때문에, 특정 칼럼에 인덱스를 부여해서 정렬하는 것을 의미함 데이터가 저장된 칼럼의 값과 레코드가 저장된 주소의 키와 값의 쌍으로 인덱스를 만든다. 기본적으로 기본키가 인덱스의 기능을 하기는 한다. Index 의 성능과 고려해야할 사항 인덱스를 기준으로 정렬된 상태를 유지하기 때문에 원하는 값을 탐색하는데 빠르다. 하지만, 새로운 값을 추가,삭제,수정하는 경우에는 쿼리문 실행 속도가 느려진다. ~> 트리구조로 관리하고 있기 때문에 B-Tree & B+Tree B-Tree는 데이터가 정렬된 상태로 유지되는 트리 루트 노드와 브랜치 노드, 리프 노드로 이루어져서, 어떠한 값에..
-
데이터 베이스CS 지식/데이터베이스 2021. 1. 14. 15:18
데이터 베이스 특징 데이터 독립성 외부단계(논리적 데이터 독립성) - 개념적 단계(물리적 독립성)-내부적 단계 이 단계는 외부스키마, 내부스키마, 개념스키마로 설명 가능 물리적 독립성 내부 스키마가 변경되어도 외부/개념 스키마에는 영향이 없도록(응용 프로그램을 수정할 필요 없도록) 지원 논리적 독립성 개념 스키마가 변경되어도 외부 스키마에는 영향이 없도록 지원 데이터 무결성 데이터베이스에 저장된 값들에 대해 여러 제한을 통해 데이터에 대한 신뢰를 보장해서 일관성을 유지하는 것(유효성 검사 ~> 잘못된 데이터가 발생하는 것 방지) 영역 무결성 한 컬럼에 대해 NULL 허용 여부와 타당한 데이터 값을 지정 자료형, 규칙과 제약, 값 범위 등을 제한 참조 무결성 기본 키와 참조 키 간의 관계가 항상 유지됨을 ..
-
자바스크립트와 이벤트 루프Java Script/기본 개념 정리 2021. 1. 14. 01:49
자바스크립트와 이벤트 루프 위키에 따르면, 이벤트 루프에 대해 아래와 같이 설명하고 있다. 컴퓨터 과학에서 이벤트 루프는 프로그램의 이벤트나 메시지를 대기하다가 디스패치(효율적으로 처리)하는 프로그래밍 구조체 일반적으로 이벤트가 도착할 때까지 요청을 차단하는 일부 내부 또는 외부의 이벤트 제공자에게 요청한 다음 관련 이벤트 핸들러를 호출(이 때 이벤트를 디스패치) 이벤트 제공자가 선택 또는 polling되는(유닉스 시스템 호출에서 실제로 폴링되지는 않음) 파일 인터페이스를 따르는 경우 이벤트 루프는 반응자와 결합해서 사용할 수 있다. 이벤트 루프는 거의 무조건 메시지 제공자와 비동기식으로 동작 반응자 동시에 들어오는 서비스 처리 요청을 관리하는 이벤트 처리 패턴 이벤트 루프에 대해 어느정도 감이 잡혔으니..
-
BOJ) 최소 스패닝 트리 (1197 번)알고리즘/백준 2021. 1. 7. 16:36
최소 스패닝 트리 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 최소 스패닝 트리 최소 신장 트리라고도 하며, Minimum Spanning Tree(MST) 로 많이 들어 봤을 것이다. MST는 주어진 그래프의 모든 정점들을 연결하는 부분 그래프 중에서 가중치의 합이 최소가 되는 트리이다. 즉, 최소 가중치를 가지며 그래프의 모든 정점을 연결하는 방법이다. 이 때, cycle이 생겨서는 안된다. 이 문제는 Prim과 Kruskal 알고리즘 두 개로 풀어봤다. ..
-
BOJ) 골드바흐의 추측 (9020 번)알고리즘/백준 2021. 1. 7. 16:18
골드바흐의 추측 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 골드바흐의 추측은 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 소수는 에라토네스의 체를 이용하면 수월하게 소수를 구할 수 있다. 에라토네스의 체의 개념을 다시 환기하기 위해 작성한다. 추가적으로, 이 문제에서 출력 부분에 String.format을 이용해서 출력하는 방법과 띄워쓰기와 new line을 append 해주며 출력하는 방법을 이용해봤는데, 메모리와 속도 측면..