본문 바로가기

기록/DB6

[DB] 클러스터란 -클러스터란? 디스크로부터 데이터를 읽어오는 시간을 줄이기 위해서 조인이나 자주 사용되는 테이블의 데이터를 디스크의 같은 위치에 저장시키는 방법 입니다. - 클러스터 하기 좋은 테이블 주로 조회가 자주 발생하고 수정이 거의 발생하지 않는 테이블 컬럼안의 많은 중복 데이터를 가지는 테이블 자주 Join되는 테이블 출처 : https://brownbears.tistory.com/183 2022. 10. 31.
엘라스틱서치(Elasticsearch) 란? + Elasticsearch는 Apache Lucene(아파치 루씬) 기반의 java 오픈소스 분산 검색 엔진입니다. "데이터 저장소"가 아니라 MySQL같은 데이터베이스를 대체할 수 없습니다. 방대한 양의 데이터를 신속하고 거의 실시간으로 저장, 검색, 분석할 수 있습니다. Elasticsearch는 검색을 위해 단독으로 사용되기도 하며, ELK( Elasticsearch / Logstatsh / Kibana )스택으로 사용되기도 합니다. 출처: https://choseongho93.tistory.com/231 2022. 6. 28.
[DB/Index] 인덱스는 언제 사용하면 좋을까? 설계할 때 인덱스 쓸지 안 쓸지 결정. 어떨 땐 인덱스 쓰면 성능이 떨어진다. 인덱스 쓸 때 단점 중 하나 : 타 성능 악영향 인덱스는 데이터 조회(SELECT)를 제외한 모든 동작 즉, INSERT / UPDATE / DELETE의 성능에 영향을 미친다. 그럼에도 불구하고 RDBMS(관계형 데이터베이스 관리 시스템)에서 인덱스는 필수다. 일반적인 OLTP(OnLine Transaction Processing, 온라인 트랜잭션 처리) 시스템에서 데이터 조회 업무가 90% 이상이기 때문이다. 그러한 조회 업무의 검색 속도 향상은 시스템 부하를 감소시켜, 같은 시간 내에 더 많은 업무 처리가 가능해진다. (1) 규모가 작지 않은 테이블에서 (2) INSERT / UPDATE / DELETE가 자주 발생하지 .. 2022. 5. 31.
[DB] RDB, RDBMS, ERD RDB(Relational Database) : 관계형 데이터 모델에 기초를 둔 데이터베이스 RDBMS(Relational Database Management System) : 관계형 데이터베이스를 생성하고 수정하고 관리할 수 있는 소프트웨어 관계형 데이터베이스는 관계성을 사용하려고 하는 것이기 때문에, FK를 사용하지 않으면 의미가 없다고 함. + ERD(Entity Relationship Diagram) : E-R 다이어그램. 데이터들의 관계를 나타낸 도표. 설계도. https://jwprogramming.tistory.com/52 RDB, RDBMS 란? 보통, Database를 사용하면 Oracle 또는 MySQL을 많이 접하게 됩니다. Oracle과 MySQL 둘 다 관계형 데이타베이스(이하 R.. 2022. 5. 30.
[DB] 옵티마이저 룰 베이스 vs 코스트 베이스 옵티마이저 : - 쿼리 최적화를 담당 - SQL로 요구된 결과를 최소의 비용으로 처리할 수 있는 처리 경로를 결정 규칙 기반 옵티마이저(Rule-Based Optimizer) : 미리 룰을 정해두고 룰에 맞게 정해진 우선순위에 따라 실행계획을 수립한다. 액세스 경로별 우선순위로서, 인덱스 구조, 연산자, 조건절 형태가 순위를 결정짓는 주요 요소이다. 비용 기반 옵티마이저(Cost-Based Optimizer) : 데이터베이스 내부에 있는 통계정보에 따라 수단을 선택한다. 쿼리를 수행하는데 소요되는 일량 또는 시간 기반. 비용을 산정할 때 사용되는 오브젝트 통계 항목으로는 레코드 개수, 블록 개수, 평균 행 길이, 칼럼 값의 수, 칼럼 값 분포, 인덱스 높이, 클러스터링 팩터 같은 것들이 있다. 오브젝트 .. 2022. 5. 30.