DB 썸네일형 리스트형 도커로 postgres 설치하기 1. DockeHub에서 postgres 버전 확인 https://hub.docker.com/_/postgres postgres - Official Image | Docker Hub Note: the description for this image is longer than the Hub length limit of 25000, so has been trimmed. The full description can be found at https://github.com/docker-library/docs/tree/master/postgres/README.md. See also docker/hub-feedback#238 and docker/ hub.docker.com 2. postgres 이미지 pull doc.. 더보기 [DB] In-memory DB Redis와 Memcached 비교 1. 데이터 모델 Redis: 데이터 모델은 다양하며, String, Hash, List, Set, Sorted Sets 등을 지원 -> 다양한 데이터 구조를 지원하기 때문에 복잡한 데이터를 다룰 때 적합. Memcached: 간단한 키-값 쌍 데이터 모델. 단순한 캐싱이나 분산 세션 스토어 등에 적합 2. 데이터 지속성 Redis: 지속성을 지원하며 디스크에 데이터를 저장하고 백업할 수 있음. 스냅샷 및 AOF(Append Only File) 로그 파일을 사용하여 지속성 제공 더보기 스냅샷(Snapshot) 스냅샷 메커니즘은 주기적으로 Redis의 데이터 상태를 스냅샷 파일로 디스크에 저장 주기적으로 또는 특정 조건이 충족될 때 스냅샷을 생성하여 데이터의 상태를 디스크에 저장하므로 장애 시 데이터를 복.. 더보기 [DB] 데이터 베이스 종류 RDB, NoSQL, In-memory DB 1. 대표적인 데이터 베이스 종류 1) RDB(관계형 데이터베이스) 엑셀처럼 행과 열이 존재하며 SQL 언어를 사용해서 접근할 수 있음 종류: MySQL, PostgresSQL, MariaDB 2) NoSQL(Not Only SQL) 관계형 데이터베이스가 아닌 다양한 형태의 데이터 모델을 사용 HDD나 SSD 같은 보조 기억장치에 데이터를 저장 형태에 따라 종류가 분류됨 키-값(key-value) 데이터베이스 간단한 구조로, 각 데이터 항목은 고유한 키와 연관 됨 주로 캐싱, 세션 저장 등에 사용 종류: Redis, DynamoDB, Riak 문서(Document) 데이터베이스 JSON 또는 BSON 형식의 도큐먼트로 데이터 저장 각 도큐먼트는 유연한 스키마를 가짐 종류: MongoDB, CouchDB .. 더보기 [DB] 마리아디비(MariaDB) 로그인 에러 ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password: NO) 사용자의 비밀번호가 없는 경우 나타나는 오류문구 해결 방법 -p를 붙이고 비밀번호 입력을해줌 비밀번호 틀렸을 때 뜨는 오류 ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password: YES) 사용자의 비밀번호가 틀렸을 경우 나타나는오류문구, 비밀번호를 확인해서 다시 입력 더보기 [DB] 마리아 디비(MariaDB) 사용해보기 데이터베이스 생성 create database {사용할db이름}; 데이터베이스 보기 show database; 내가만든 데이터베이스 사용하기 use {db명}; 테이블 생성하기 create table sky.users(# create table [db명, 테이블명] id int not null auto_increment,# id(고유식별자) name varchar(20) not null,# name(이름) age int unsigned not null,# age(나이) married tinyint not null,# married(결혼여부) comment text null# comment(자기소개) created_at datetime not null default now(),# created_at(로우 .. 더보기 [SQL] 뷰(View) 실제 데이터를 가지고 있지 않음, 테이블이 수행하는 역할만을 수행하기 때문에 가상 테이블(Virtual Table)이라고 함 단지 뷰 정의(View Definition)만을 가지고 있음 질의에서 뷰가 사용되면 뷰 정의를 참조해서 DBMS 내부적으로 질의를 재작성하여 질의를 수행 뷰 사용의 장점 장점 설명 독립성 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 됨 편리성 - 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있음 - 해당 형태의 SQL문을 자주 사용할 때 뷰를 이용하면 편리하게 사용 가능 보안성 숨기고 싶은 정보가 존재한다면 뷰 생성 시 해당 컬럼 없이 생성함으로써 사용자에게 정보를 감출 수 있음 뷰 생성 - 기본 뷰 생성 CREATE VIEW 뷰_선.. 더보기 [SQL] 서브쿼리(Subquery) 1. 서브쿼리(SubQuery) 1) 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문 2) 알려지지 않은 기준을 이용한 검색을 위해 사용 2. 메인쿼리의 질의 결과에 서브쿼리의 컬럼을 표시하기 위한 방법 - 서브쿼리는 메인쿼리의 컬럼을 모두 사용할 수 있지만 메인쿼리는 서브쿼리의 컬럼을 사용할 수 없음 1) JOIN 이용 2) 함수 이용 3) 스칼라 서브쿼리 이용 3. 서브쿼리 사용 시 주의사항 1) 서브쿼리를 괄호로 감싸서 사용해야 함 2) 서브쿼리는 단일 행(Single Row) 또는 복수 행(Multiple Row) 비교 연산자와 함께 사용 가능. 단일 행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하여야 하고 복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관 없음. 3) 서브쿼리에서는 .. 더보기 [SQL] CASE 표현 1. CASE 표현 1) IF-THEN-ELSE 논리와 유사한 방식으로 표현식을 작성해서 SQL의 비교 연산 기능 보완 2) ANSI/ISO SQL 표준에는 CASE Expression이라고 표시되어 있음 3) 함수와 같은 성격을 가지고 있으므로 다른 함수처럼 중첩 사용 가능 [예제] 사원 정보에서 급여가 2000 이상이면 보너스를 1000으로, 1000 이상이면 5000으로, 1000 미만이면 0으로 계산 SELECT NAME, SAL, CASE WHEN SAL >= 2000 THEN 1000 ELSE (CASE WHEN SAL >= 1000 THEN 500 ELSE 0 END) END as BONUS FROM EMP; 4) Oracle의 Decode 함수와 같은 기능을 함 - DECODE 함수는 Or.. 더보기 이전 1 2 3 다음