데이터베이스

데이터베이스/데이터베이스 SQL

[Database] 데이터베이스란?

데이터베이스란? 데이터베이스(Database)는 체계적으로 구성된 데이터의 집합이며, 이 데이터들은 효율적이고 안정적으로 저장, 관리, 검색, 업데이트, 삭제 등의 작업을 수행하기 위해 구조화된 방식으로 구성됩니다. 데이터베이스는 정보를 기록하고 유지하는 데 사용되며, 다양한 종류의 응용 프로그램과 시스템에서 데이터를 관리하는 데 주로 사용됩니다. 데이터베이스는 일반적으로 테이블(table)로 구성된 관계형 데이터베이스(Relational Database) 형태로 사용됩니다. 테이블은 행(row)과 열(column)로 구성되어 있으며, 각 행은 데이터 레코드(record)를 나타내고, 각 열은 해당 레코드의 특정 속성(attribute)을 나타냅니다. 예를 들어, 고객 정보를 저장하는 테이블은 고객의 이..

데이터베이스/레디스 redis

[Redis] 레디스를 사용하는 이유

레디스를 사용하는 이유 레디스(Redis)는 오픈 소스인 인 메모리 데이터 구조 저장소로서, 다양한 용도로 사용되는 데이터베이스입니다. 레디스의 주요 목표는 높은 성능과 확장성을 제공하는 것입니다. 이를 위해 데이터를 주 메모리에 저장하여 빠른 응답 시간을 보장하며, 단일 서버뿐만 아니라 여러 서버 간 데이터 분산도 지원합니다. 레디스를 사용하는 이유는 다음과 같습니다: 1. 높은 성능: 레디스는 모든 데이터를 메모리에 저장하므로 디스크 I/O 오버헤드가 없습니다. 이로 인해 매우 빠른 읽기와 쓰기 작업을 수행할 수 있습니다. 또한 단일 쓰레드 모델을 사용하여 데이터베이스 작업을 순차적으로 처리하므로 복잡한 동시성 문제를 피할 수 있습니다. 2. 다양한 데이터 구조: 레디스는 단순한 키-값 구조 이상의 ..

데이터베이스/레디스 redis

[Redis] 레디스의 장점

레디스의 장점 레디스(Redis)는 인메모리 데이터 스토어로서 많은 장점을 가지고 있습니다. 다음은 레디스의 주요 장점들입니다: 1. 뛰어난 성능: 레디스는 데이터를 주 메모리(RAM)에 저장하므로 매우 빠른 데이터 액세스 속도를 제공합니다. 따라서 레디스는 실시간 애플리케이션에서 매우 효율적이며 높은 처리량과 낮은 지연 시간을 요구하는 시나리오에 이상적입니다. 2. 간결한 인터페이스: 레디스는 간단하면서도 강력한 키-값 저장소 인터페이스를 제공합니다. 사용자는 데이터를 가져오기, 설정하기, 삭제하기 위해 간단한 명령어를 사용할 수 있습니다. 이러한 간결한 인터페이스는 개발자가 레디스를 사용하여 빠르고 쉽게 작업할 수 있도록 도와줍니다. 3. 다양한 데이터 구조 지원: 레디스는 단순한 키-값 저장소 이상..

데이터베이스/데이터베이스 SQL

[SQL] 효율적인 쿼리 작성 방법

효율적인 쿼리 작성 방법 효율적인 쿼리 작성 방법에 대해서는 다음과 같은 것들이 있습니다. 인덱스를 활용하기 데이터베이스에 인덱스를 생성해 놓으면 데이터를 빠르게 찾을 수 있습니다. 인덱스를 생성할 때는 자주 사용하는 컬럼에 대해서 생성하는 것이 좋습니다. 하지만 인덱스를 너무 많이 생성하면 데이터 삽입, 수정, 삭제 시간이 길어질 수 있으므로 적절한 인덱스를 생성해야 합니다. 적절한 쿼리 작성하기 조건절에 적절한 컬럼을 사용하고, 중복되는 데이터를 최소화하는 등 적절한 쿼리 작성 방법이 중요합니다. 불필요한 연산을 피하고, 필요한 컬럼만 가져오는 것도 성능에 도움이 됩니다. 데이터 정규화 데이터를 정규화하여 중복 데이터를 제거하면 저장 공간을 절약할 수 있고, 데이터 무결성이 유지됩니다. 하지만 데이터..

데이터베이스/레디스 redis

[Redis] cluster info 레디스 클러스터 전후 비교

클러스터 전 127.0.0.1:7001> cluster info cluster_state:fail cluster_slots_assigned:16384 cluster_slots_ok:5461 cluster_slots_pfail:10923 cluster_slots_fail:0 cluster_known_nodes:3 cluster_size:3 cluster_current_epoch:3 cluster_my_epoch:1 cluster_stats_messages_ping_sent:2 cluster_stats_messages_sent:2 cluster_stats_messages_received:0 total_cluster_links_buffer_limit_exceeded:0 클러스터 후 127.0.0.1:7001>..

데이터베이스/레디스 redis

[Redis] (error) MOVED 에러 해결 방법

root@redis_1:/data# redis-cli -a password Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> set key value (error) MOVED 12539 172.28.0.5:6379 접속에 -c 옵션을 추가하자 root@redis_1:/data# redis-cli -a password -c Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> set key value -> ..

데이터베이스/데이터베이스 SQL

[SQL] 데이터 레이크란? (Data Lake)

- 정형, 반정형, 비정형 데이터를 원시 형태로 저장 - 이로 인한 데이터 활용성이 높아지고, 머신러닝 딥러닝 모델 만들기 용이함 - 기업에서 얻은 아무런 정제되지 않은 데이터가 저장돼 있다. - Hadoop - RDBMS - 클라우드 기반 스토리지

데이터베이스/데이터베이스 SQL

[SQL] 데이터웨어하우스(DW), 데이터마트 란?

- 데이터 저장소 - 데이터의 양은 데이터 마트보다 많음 - 기본적으로 기업의 정보와 의사결정을 도와주는 데이터를 모으는 데이터베이스 - 데이터 저장소 - 데이터의 양은 데이터 웨어하우스보다 적음 - 위의 데이터 웨어하우스보다 작은 데이터 웨어하우스라고 생각하면 됨 - 데이터 웨어하우스의 하위 집합 정도 - 범위가 제한적인 데이터 웨어하우스 - 데이터의 양이 데이터 웨어하우스보다 적어서 쿼리가 가벼움 - 데이터 웨어하우스보다 쿼리의 복잡성이 낮음 (왜냐면 분석에 용이하게 구축된 데이터이기 때문에) - 시간과 돈을 아낄 수 있음 - 효율성을 추구해서 너무 많..

데이터베이스/데이터베이스 SQL

[SQL] 파이썬과 마리아디비 테스트용으로 도커 컨테이너 만들기

파이썬과 데이터베이스 연결을 위해 두개의 컨테이너를 만드는 작업을 해보자 파일의 구조는 다음과 같다 docker-compose.yml version: '2.1' services: mariadb: image: mariadb:10.7 hostname: mariadb container_name: mariadb restart: always ports: - 3376:3306 environment: MYSQL_ROOT_PASSWORD: root python: hostname: python container_name: python build: context: . dockerfile: ./Dockerfile stdin_open: true tty: true restart: always volumes: - type: bi..

데이터베이스/데이터베이스 SQL

[SQL] MariaDB 테이블 정보를 쿼리로 확인하는 방법

데이터베이스 목록 조회 show databases; 데이터베이스 a_db 로 만들기 create database a_db; show databases; a_db 데이터베이스를 사용하고, 테이블 조회하기 use a_db; show tables; 테이블 만들어보기 a_table create table a_db.a_table (num int primary key, num2 int); show tables; 만든 테이블의 정보 조회하기 show columns from a_db.a_table; b_table 이라는 테이블을 만드는데 테이블의 열은 num, num2 컬럼으로 만들고 둘다 타입을 int(3) 으로 만들어보자 create table a_db.b_table (num int(3) primary key, n..

박경태
'데이터베이스' 카테고리의 글 목록