[바미] 데이터 베이스 스케일링
·
MySQL(DB)
데이터베이스 스케일링은 데이터베이스 용량을 증가하거나 그로 인한 성능 향상을 위한 기법입니다. 데이터베이스 스케일링은 일반적으로 수직 스케일링 (Vertical Scaling), 수평 스케일링 (Horizontal Scaling) 2가지 방법으로 이루어집니다 데이터베이스를 스케일링 할 때 적절한 전략을 선택하는 것이 중요한데 기존 시스템에서 사용하던 인프라와 새로운 인프라 간에 호환성을 고려해야 하며, 이를 위해 적절한 데이터베이스 클러스터링 기법을 선택해야 합니다. 이들은 데이터베이스 일관성, 확장성, 가용성을 유지하면서 성능을 향상시키는 데 사용될 수 있습니다. 수직 스케일링 (Vertical Scaling) 데이터베이스 서버의 하드웨어 자원을 확대하는 방법. 이를 통해 더 많은 요청을 처리할 수 있..
[바미] 데이터 베이스 캐싱 전략
·
MySQL(DB)
데이터베이스 캐싱 전략 요청을 빠르게 처리하기 위해 일부 데이터를 캐싱하여 재사용 할 수 있는 방법을 의미합니다. Cache hit 찾으려는 데이터가 캐쉬에 저장되어 있어 데이터베이스를 거치지 하고 캐쉬에서 바로 데이터를 가져오는 형태. Cache hit이 많이 발생할수록 데이터 베이스에 대한 부담이 줄어든다. Cache-Asdie 일반 적인 형태의 캐쉬로 어플리케이션이 캐쉬업데이트 업데이트 담당. 캐쉬에 먼저 쿼리문을 보내고 캐쉬에 데이터가 없을시 데이터베이스에서 데이터를 가져온후 캐쉬에 데이터를 업데이트 한다 장점: 1. 데이터베이스 데이터 모델과 캐쉬의 데이터 모델이 다르게 저장 가능 2. 캐쉬 서버가 다운되도 데이터베이스에서 데이터를 가져올수있다. 3. Lazy Loading 단점: 1. 데이터와..
[바미] Join 시 on과 where의 차이
·
MySQL(DB)
요약 on : join 전에 조건을 필터링 where : join 후에 조건을 필터링 INNER JOIN 에서의 ON vs WHERE INNER JOIN + ON 조건절 + ON 조건절 SELECT * FROM a INNER JOIN b ON a.key = b.key AND a.key2 = b.key2 EQUI JOIN + WHERE 조건절 SELECT * FROM a AS a , b AS b WHERE a.key = b.key AND a.key2 = b.key2 INNER JOIN + ON 조건절 + WHERE 조건절 SELECT * FROM a INNER JOIN b ON a.key = b.key WHERE a.key2 = b.key2 위 세 쿼리는 모두 같은 결과, 같은 퍼포먼스가 나오게 됨. 즉,..
[바미] 관계형 DB VS 비관계형 DB
·
MySQL(DB)
관계형 DB사전적인 의미를 살펴보자면관계형 데이터베이스란 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타낸다.테이블은 이름을 가지고 있으며, 행(row)과 열(column) 그리고 거기에 대응하는 값을 가진다. 즉, 관계형 데이터베이스는 위와 같이 구성된 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체로 이해할 수 있습니다.이처럼 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스라고 말합니다. 특징가장 많이 사용되고 있는 db의 한 종류 (고전적 데이터 베이스)table로 이루어져 있고, table은 키(key)와 값(value)의 관계를 나타냄.일반적으로 알고있는 Mysqsl, Oracle, Mssql 등.스키마 :..
[바미] Mysql 이전 날짜(특정날짜) 데이터 조회에 대하여
·
MySQL(DB)
안녕하세요. 오늘은 Mysql에서 이전 이전 날짜 또는 특정 날짜를 조회할 때 유의 할 부분을 알려드리고 싶어 포스팅을 하게 되었습니다. 날짜 칼럼에 있는 데이터가 위와 같이 있습니다. 여기서 만약 1주 전, 1년 전 데이터를 조회 하고 싶을 때 보통 인터넷에 나와있는 코드는 아래와 같습니다. // 1분전 데이터 조회 SELECT * FROM 테이블명 where 시간칼럼명 = DATE_ADD(NOW(), INTERVAL -1 MINUTE) // 10분전 데이터 조회 SELECT * FROM 테이블명 where 시간칼럼명 = DATE_ADD(NOW(), INTERVAL -10 MINUTE); // 한시간전 데이터 조회 SELECT * FROM 테이블명 where 시간칼럼명 = DATE_ADD(NOW(), ..
Bami
'MySQL(DB)' 카테고리의 글 목록 (3 Page)