일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- javascript
- MVC
- data structure
- 알고리즘
- 코딩테스트
- dfs
- generic class
- cloud computing
- 자료구조
- 크루스칼
- 코테
- Stack
- BFS
- dbms
- DB
- 클라우드 컴퓨팅
- 자바의정석
- python
- 암호학
- JDBC
- sql
- 생성자
- Queue
- JPA
- 공개키 암호화
- Java
- 가상컴퓨팅
- Algorithm
- jsp
- spring
- Today
- Total
목록개발 공부/Database (17)
PLOD
캐싱(Caching)캐시는 데이터나 연산 결과를 임시로 저장하여 나중에 동일한 요청에 빠르게 응답할 수 있는 메모리 또는 저장공간을 의미한다.대규모 트래픽 처리에서 캐시는 반복적으로 요청되는 데이터나 연산을 캐싱하여 서버의 부하를 감소시키고 응답시간을 단축시킨다. → 효율적인 자원 활용 + 높은 확장성 , 높은 성능 제공 RedisRemote Dictionary Storage모든 데이터를 메모리에 저장하고 조회하는 in-memory DBkey-value 구조의 데이터 관리 시스템No-SQL실시간 처리가 요구되는 응용 프로그램에서 사용Redis 장점빠른 I/O 처리레디스는 데이터를 메모리에 저장하여 빠른 읽기와 쓰기 작업을 가능하게 한다캐싱, 세션 저장, 실시간 분석등에서 높은 처리 속도가 요구 되는 ..
SUB QUERY (서브 쿼리) 하나의 SQL문 안에 포함되는 또 다른 SQL 문을 의미한다. SELECT ENAME, SAL-- MAIN QUERY(OUTER QUERY) FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME = 'JONES')-- SUB QUERY(INNER QUERY) SQL문을 실행하는 데 필요한 데이터를 추가로 조회하기 위해 SQL문 내부에서 사용하는 SELECT 문을 의미하며 INNER QUERY라고도 부른다. 반대로 서브 쿼리의 결과 값을 사용하여 기능을 수행하는 맨 바깥쪽에 있는 쿼리를 MAIN QUERY라고 부른다. 서브쿼리는 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며 소괄호 ()로 묶여 사용한다. 또 where 절이나..
SELECT 그룹함수(컬럼 명), 컬럼1, 컬럼2.. -----------------------> 다섯번째 실행 FROM 테이블 ---------------------------------->첫번째 실행 WHERE 조건------------------------------------------>두번째 실행 GROUP BY 컬럼1 , 컬럼2...(그룹함수 X)------------------>세번째 실행 HAVING 그룹 조건 ----------------- >네번째 실행 ORDER BY 컬럼1, 컬럼2 --------------->여섯번째 실행 GROUP절은 WHERE절 아래에 위치하며 , SQL에서 그룹 함수를 사용할 때 , 그룹함수를 사용하지 않은 컬럼을 기준으로 결과를 출력하기 위해서 사용한다. G..
SELECT 문을 사용하여 특정 쿼리들을 출력할 때, 함수들을 사용하여 데이터를 효과적으로 출력할 수 있다. SQL 함수는 기본적인 쿼리문을 더욱 강력하게 해주고 질의문을 짤 떄 쉽게 짤 수 있게 한다. SQL 함수는 단일 행 함수와 다중 행 함수(그룹함수) 가 있다. * SQL 언어 특성 - 선언적 언어 - 결과지향적 언어 - 과정 기술 못함 - 예외처리 못함 - 변수 사용 못함 - 명시적으로 IF 조건처리 (CASE , DECODE), FOR 반복처리 어려움 이러한 특성들 때문에 SQL은 함수를 사용하여 데이터의 계산이나 FORMAT 형식변환, 컬럼값 변환 , 중첩사용 같은 것들을 POWERFUL하게 처리가 가능하다. * 단일 행 함수 단일 행 함수는 행 하나당 하나의 결과를 반환한다. SELECT ..
병행 제어에 앞서, 먼저 병행에 대해서 알아보자. 병행(Concurrency)은 매우 빠르게 여러 트랜잭션 사이를 이동하면서 조금씩 처리를 수행하는 방식이다. 따라서 실제로는 한 번에 한 트랜잭션만 수행하지만, 마치 동시에 여러 트랜잭션을 수행하는 것처럼 보이도록 하는 것이다. 병행 제어(Concurrency Control)는 이렇게 트랜잭션이 병행 수행될 때 트랜잭션이 데이터베이스의 일관성을 파괴하지 않고, 다른 트랜잭션에 영향을 주지 않도록 트랜잭션 간의 상호작용을 제어하는 것을 말한다. 병행 제어의 목적은 다음과 같다. 데이터베이스의 일관성 유지(consistency) 데이터베이스 공유 최대화 시스템 활용도 최대화 사용자 응답 시간 최소화(Minimize response time) 단위 시간당 트랜..
ACID 1. Atomicity(원자성) : 트랜잭션의 작업들이 모두 수행되거나 전혀 수행되지 않아야 함. 일부만 수행된 상태가 되어서는 안됨 2. consistency (일관성) : 트랜잭션의 수행 이후에도 데이터는 항상 일관되고 무결성이 유지된 상태에 있어야 함 -> integrity 유지 3. Isolation(격리성, 고립성) : 각 트랜잭션은 다른 트랜잭션의 수행에 영향을 끼치지 않아야 함 -> serializability : 각 트랜잭션을 따로 수행한 결과와 동일하여야 함 4. Durability(내구성, 지속성) 한번 commit된 트랜잭션의 결과는 계속적으로 유지되어야 함 Transaction Definition in SQL commit을 호출하면 트랜잭션 종료 rollback을 호출하면 ..