일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Linux
- IntelliJ
- JPA
- MongoDB
- SQL
- 오블완
- git
- 명령어
- Javascript
- Python
- mssql
- MariaDB
- API
- DBMS
- 트랜잭션
- network
- spring
- 차이점
- 자바
- docker
- 리눅스
- 티스토리챌린지
- mysql
- analytics4
- top
- rsync
- group by
- java
- PostgreSQL
- oracle
- Today
- Total
목록DATABASE (34)
hanker
데이터베이스에서 데이터 백업과 복구는 데이터 손실을 방지하고 시스템 장애 시 신속하게 복구하기 위해 필수적인 작업이다. 이번 글에서는 각 데이터베이스 별 SQL 데이터 백업과 복구의 개념, 방법에 대해서 알아봅시다! 1. 데이터 백업을 왜 해야할까? 데이터 백업을 하는 이유는 데이터베이스의 데이터를 안전한 위치에 저장하여 데이터 손실에 대비하기 위함이다.즉, 시스템 장애나 하드웨어 오류, 사용자 실수, 사이버 공격에 대비한다. 2. 백업의 유형 2-1. 전체 백업- 데이터베이스 전체를 백업한다.- 장점 : 복구가 간단하며, 모든 데이터를 포함- 단점 : 시간이 오래 걸리고, 저장 공간을 많이 사용 2-2. 증분 백업- 마지막 전체 백업 이후 변경된 데이터만 백업한다.- 장점 : 속도가 빨고 저장 공간..
저장 프로시저(Stored Procedure)는 데이터베이스에 저장된 SQL 코드의 집합으로, 재사용 가능한 쿼리와 로직을 효율적으로 실행할 수 있도록 설계된 기능이다.저장 프로시저는 데이터베이스 성능을 최적화하고, 복잡한 비즈니스 로직을 관리하는데 유용하다. 이번 글에서는 저장 프로시저의 개념과 장점, 생성 방법, 그리고 실제로 활용하는 방법에 대해서 알아보자! 1. 저장 프로시저(Stored Procedure)란? 저장 프로시저는 이름이 지정된 SQL 코드의 블록으로, 데이터베이스에 저장되어 필요할 때 호출된다.- 저장 프로시저는 입력 파라미터를 받아서 실행할 수 있다.- 복잡한 작업을 캡슐화하여 코드 중복을 줄이고 유지보수를 간편하게 만든다. 이렇게만 보면 function과 비슷한 것 같지만, ..
SQL에서 트리거(Trigger)는 특정 이벤트(INSERT, UPDATE, DELETE)가 발생할 때 자동으로 실행되는 특별한 유형의 저장 프로시저이다.트리거는 데이터 무결성을 유지하고, 데이터베이스 작업을 자동화하는 데 유용하다. 이번 글에서는 트리거의 정의, 종류, 생성 방법, 그리고 실전 활용 방법을 알아보자! 1. 트리거(Trigger)란? 트리거는 테이블에 정의된 이벤트 처리 메커니즘이다. 특징으로는- 지정된 이벤트 발생 시 자동으로 실행된다.- 테이블 수준에서 동작하며, 특정 작업을 자동화한다.- 데이터 무결성 유지, 로깅, 또는 복잡한 비즈니스 로직 구현에 사용된다. 2. 트리거의 종류 트리거는 이벤트와 실행 시점에 따라 구분된다.종류설명BEFORE지정된 작업(INSERT, UPDATE, ..
SQL을 사용하는 각 데이터베이스에서 버전을 확인하는 방법에 대해서 알아보자! 1. MySQL 1-1. SQL에서 확인# SELECT VERSION() 명령어SELECT VERSION();# STATUS 명령어STATUS; 1-2. CLI(Command Line Interface)에서 확인mysql --version 2. MSSQL 2-1. SQL에서 확인# @@VERSION 사용SELECT @@VERSION;# 서버 속성 확인SELECT SERVERPROPERTY('ProductVersion') AS Version, SERVERPROPERTY('ProductLevel') AS Level, SERVERPROPERTY('Edition') AS Edition; 2-2. SQLCMD에서 ..
대규모 데이터를 효율적으로 관리하고 쿼리 성능을 최적화하기 위해 테이블 파티셔닝(Table Partitioning)이 사용된다.파티셔닝은 하나의 큰 테이블을 여러 작은 부분으로 나누어 관리하는 기법이다. 이번 글에서는 테이블 파티셔닝의 개념, 종류, 그리고 실전에서 사용하는 방법을 알아보자! 1. 테이블 파티셔닝(Table Partitioning) 이란? 테이블 파티셔닝은 테이블의 데이터를 논리적으로 분리하여 여러 파티션에 저장하는 방식이다.- 각 파티션은 독립적으로 관리되며, 물리적으로는 하나의 테이블처럼 동작한다.- 대규모 데이터를 관리하기 쉽고, 특정 데이터에 대한 쿼리 성능이 크게 향상된다. 2. 테이블 파티셔닝의 장점 2-1. 성능 최적화- 쿼리 실행 시 특정 파티션만 액세스하여 검색 속도를 높..
SQL에서 뷰(View)는 복잡한 쿼리를 단순화하고 데이터의 보안을 강화하는 데 유용하다.뷰는 테이블처럼 동작하지만, 실제 데이터를 저장하지 않는 가상 테이블이다. 이번 글에서 뷰의 개념과 생성 법 등 다양한 뷰 기능들에 대해서 알아보자! 1. 뷰(View) 란? 영어로 View는 "보다", Page에서 View는 사용자가 보는 페이지를 뜻하는데,SQL에서의 뷰는 하나 이상의 테이블에서 가져온 데이터를 기반으로 정의된 가상 테이블이다.특징으로는- 뷰는 SQL 쿼리를 저장해서, 테이블처럼 사용할 수 있다.- 뷰 자체는 데이터를 저장하지 않고, 정의된 쿼리를 실행하여 데이터를 반환해 준다. 2. 뷰의 장점 2-1. 복잡한 쿼리 단순화- 복잡한 쿼리를 뷰로 저장하면 사용자는 간단한 SELECT 문으로 데이터..
SQL에서 트랜잭션(Transaction)은 데이터베이스의 상태를 관리하고 데이터 무결성을 보장하는 중요한 개념이다.특히, 데이터 처리 중 오류가 발생했을 경우 롤백(ROLLBACK)으로 상태를 복원하거나, 커밋(COMMIT)으로 변경 사항을 확정ㅇ하는 기능은 트랜잭션의 핵심이다. 이번 글에서는 트랜잭션의 개념, 동작 원리, 그리고 활용 방법에 대해서 알아보자! 1. 트랜잭션(Transaction) 이란? 트랜잭션은 데이터베이스에서 수행되는 하나 이상의 작업 단위를 말한다.데이터 무결성을 유지하기 위해 모두 성공하거나 모두 실패해야 한다. * 무결성 : 데이터의 정확성, 일관성, 신뢰성을 전체 라이프사이클 동안 유지하는 것을 의미 트랜잭션의 4가지 특성 (ACID)- 원자성 (Atomicity) : ..
SQL에서 인덱스(Index)는 데이터베이스의 검색 속도를 높이는 데 중요한 역할을 한다.그러나 잘못된 인덱스 설정은 성능을 저하시킬 수 있다.이번 글에서는 인덱스의 정의, 종류, 그리고 효과적으로 사용하는 방법을 알아보자.1. 인덱스란? 인덱스는 책의 색인처럼 데이터베이스에서 특정 데이터를 빠르게 찾을 수 있도록 돕는 구조이다. - 인덱스가 없다면 데이터베이스는 모든 행을 하나씩 탐색하는 풀 스캔(Full Scan)을 수행한다.- 인덱스는 테이블의 특정 열에 대해 정렬된 데이터를 저장하여 검색 속도를 높인다.2. 인덱스의 작동 원리 인덱스는 B-tree 구조 또는 해시(Hash)를 기반으로 작동한다. - B-tree 인덱스: 대부분의 데이터베이스에서 기본적으로 사용하는 인덱스 유형으로, 범위 검색에 유..
SQL 윈도우 함수(Window Functions)는 데이터를 그룹화하지 않고도 집계 값을 계산하거나 순위를 매길 때 사용된다.윈도우 함수는 데이터 분석에 강력한 도구를 제공하며, 데이터를 더 세밀하게 처리할 수 있도록 도와준다.이번 글에서는 윈도우 함수의 정의와 활용 방법을 알아보자!1. 윈도우 함수란? 윈도우 함수는 쿼리 결과 데이터에서 각 행에 대해 계산을 수행하며, OVER 절과 함께 사용된다. - 기존의 집계 함수(SUM, AVG 등)와 달리, 그룹화를 하지 않고도 계산할 수 있다.- 각 행에 대해 범위를 정의하여 계산을 수행한다. 2. 윈도우 함수의 기본 구조 아래 기본 문법으로 사용 방법에 대해서 알아보자.(컬럼명) OVER ([PARTITION BY 컬럼명] [ORDER BY 컬럼명])PA..
SQL에서 서브쿼리는 쿼리 안에 중첩된 또 다른 쿼리를 의미한다.이를 통해 복잡한 데이터 처리를 간결하고 유연하게 구현할 수 있다.서브쿼리는 SELECT, INSERT, UPDATE, DELETE와 함께 사용되며, 다양한 방식으로 활용 가능하다.이번 글에서는 서브쿼리의 정의와 활용 방법을 알아보자! 1. 서브쿼리란? 서브쿼리는 주 쿼리(main query) 내에서 중첩된 쿼리로, 주로 임시 데이터 처리를 위해 사용된다. 서브쿼리의 주요 특징은- 소괄호 ( )로 감싸져야 한다.- 주 쿼리에 데이터를 제공하거나 조건을 정의한다. 예제를 통해 더 자세히 알아보자. 2. 서브쿼리의 유형 2.1 스칼라 서브쿼리 (Scalar Subquery)한 행과 한 열을 반환하여 주 쿼리의 값으로 사용된다.SELECT na..