본문 바로가기

BackEnd Programming

(19)
#Redis 01 - Redis란? kafka와의 차이 Redis 란?Redis(Remote Dictionary Server)는 고성능 데이터 처리를 위해 메모리(RAM) 기반으로 데이터를 Key-Value 형태로 저장하는 오픈소스 인메모리 데이터 저장소(In-Memory Data Store)이다. 캐시(Cache), 세션 저장소, 메시지 브로커, 실시간 데이터 처리 시스템 등에서 주로 사용된다. 1. Redis 기본 구조일반적인 DB:Redis: TTL (Time To Live) Redis와 Kafka의 차이1. 목적의 차이Redis는 데이터를 빠르게 저장하고 조회하기 위한 저장소이고, Kafka는 데이터를 안정적으로 전달하기 위한 이벤트 스트리밍 플랫폼이다. 2. 데이터 저장 방식 차이- Redis: 현재 데이터(State)를 Key-Value 형태로 저..
# mysql 쿼리 튜닝 DB 성능을 개선하는 법1. SQL 튜닝2. 캐싱 서버 활용 (Redis 등)3. 래플리케이션 (Master/Slave 구조)4. 샤딩5. 스케일업 (CPU, Memory, SSD 등 하드웨어 업그레이드) SQL 튜닝은 기존의 시스템 변경없이 성능을 개선할 수있는 가성비 있는 방법이다.근본적인 문제를 해결하는 방법이다. SQL 자체가 비효율적으로 작성 됐다면 아무리 시스템적으로 성능을 개선한다고 하더라도 한계가 있다. MySql의 아키텍처 클라이언트가 DB에 SQL 요청을 보낸다.MySQL 엔진에서 옵티마이저가 SQL문을 분석한 뒤 빠르고 효율적으로 데이터를 가져올 수 있는 계획을 세운다. 어떤 순서로 테이블에 접근할 지, 인덱스를 사용할 지, 어떤 인덱스를 사용할 지 등을 결정한다. (옵티마이저가 세운..
데이터베이스의 종류(RDB, NoSqlDB) 데이터 베이스의 종류1) 관계형 데이터 베이스 (Relational Database, RDB)- SQL DB 라고도 한다.- 스키마가있다.2) 나머지(Not Only SQL DB)- NoSQL DB- 스키마가 없다.1)Key-Value- 속도 빠르다- 실시간 분석등에 주로 사용- redis, amazon dynamoDB2)Document- key-value에서 진화되어 key와 document(json과 유사한)- json 형태의 데이터라 스키마가 변경되는 것에 유연하게 대처- mongoDB, amazon DocumentDB, Cloud Firestore3)Graph- node의 속성별로 데이터를 저장하는 방식- 소셜네트워크, 추천엔진에 주로 사용됨.- neo4j, amazon neptune, Girap..
Oracle의 MERGE 문과 유사한 기능을 MariaDB, MySQL, MSSQL에서 구현하는 방법 데이터베이스에서 조건에 따라 데이터를 업데이트하거나 삽입하는 작업은 매우 일반적입니다. 각 데이터베이스 시스템은 이러한 작업을 수행하기 위한 고유한 구문을 제공합니다. 이 글에서는 Oracle, MariaDB, MySQL, MSSQL에서 MERGE 문 또는 유사한 기능을 구현하는 방법을 예제와 함께 설명합니다.Oracle: MERGE 문Oracle에서는 MERGE 문을 사용하여 조건에 따라 데이터를 업데이트하거나 삽입할 수 있습니다.예제:MERGE INTO target_table tgtUSING source_table srcON (tgt.id = src.id)WHEN MATCHED THEN UPDATE SET tgt.name = src.name, tgt.value = src..
SQL 특징 및 최적화 SQL(Structured Query Language)SQL은 관계형 데이터베이스에 포함된 데이터를 쿼리하기 위해 설계된 언어입니다. SQL은 C나 BASIC과 같은 명령형 언어가 아닌 집합적이고 선언적인 질의 언어입니다.SQL의 주요 특징구조적(Structured): SQL은 데이터베이스 스키마와 구조에 맞춰 데이터를 정의하고 조작하는 언어입니다.집합적(Set-based): SQL은 개별 행이 아닌 데이터 집합을 처리합니다.선언적(Declarative): SQL은 원하는 결과를 선언적으로 기술하며, 이를 어떻게 수행할지는 DBMS에 맡깁니다.SQL 최적화SQL은 기본적으로 구조적이고 집합적이며 선언적인 질의 언어입니다. 사용자는 원하는 결과 집합을 구조적이고 집합적으로 선언하지만, 그 결과 집합을 만드..
Oracle 계정 및 데이터베이스 생성 --테이블 스페이스 생성 CREATE TABLESPACE DBMSEXPERT_DATA DATAFILE 'C:\app\dbmsexpert\oradata\orcl\DBMSEXPERT_DATA.DBF' SIZE 4G AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED LOGGING ONLINE PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON ; --임시 테이블 스페이스 생성 CREATE TEMPORARY TABLESPACE DBMSEXPERT_TMP TEMPFILE 'C:\app\dbmsexpert\oradata\orcl\DBMSEXPERT_TMP.DBF'..
[DB]MariaDB/Mysql date_format 날짜 시간 형식 표현 날짜 형식 지정 및 예시쿼리에서 날짜 형식을 지정할 때 대소문자에 따라 결과가 달라질 수 있습니다. 아래는 날짜 형식의 포맷과 그 설명입니다.포맷(Format) 및 설명포맷설명%M월 이름 (January, December, ...)%W요일 이름 (Sunday, Monday, ...)%D월의 날짜 (1st, 2nd, 3rd, ...)%Y연도 (1987, 2000, 2013)%y연도 (87, 00, 13)%X연도 (1987, 2000) - %V와 함께 사용%x연도 (1987, 2000) - %v와 함께 사용%a요일 (Sun, Tue, ...)%d일 (00, 01, 02, ...)%e일 (0, 1, 2, ...)%c월 (1, 2, ..., 12)%b월 (Jan, Feb, Mar ...)%j연중 몇 번째 일 (..
maria TEXT 타입 글자제한수 Maria DB, MYSQL의 대용량 텍스트 타입 종류와 범위 TINYTEXT- 범위 : 최대 255 글자TEXT- 범위 : 최대 65535 글자MEDIUMTEXT- 범위 : 최대 16777215 글자LONGTEXT- 범위 : 최대 4294967295 글자