DevOps BootCamp/데이터베이스 15

레플리카

★ 많은 사용자가 발생함에 따른 문제를 해결하기 위한 방법 레플리카(replica : 복제서버) : 데이터베이스의 복사본을 저장하는 각각의 노드 > 원본이 되는 데이터베이스와 같은 데이터를 다른 위치에 존재하는 여러 노드에 유지하는 방식 > 데이터의 중복성이 발생, 이 중복성으로 인해서 얻을 수 있는 장점이 존재하며, 그에 따라 해결해야하는 문제점들 역시 존재 레플리카의 장점 > 시스템 장애시 동작할 수 있는 가용성 확보 > 일부 노드가 사용불가능 상태라면 해당 데이터는 남은 다른 노드를 통해 여전히 제공할 수 있다는 장점 > 리더 데이터베이스에 화재, 지진, 네트워크 오류 등의 장애 상황이 발생하더라도 레플리카 중 하나를 새로운 리더로 지정하고 사용자의 요청을 새로운 리더로 연결 > 읽기 쿼리 제공 장..

낮은 검색 성능 - 인덱싱

★ 인덱스 - 데이터베이스에 저장된 기본데이터(primary data)에서 파생된 부가적인 메타데이터(meta-data : 데이터에 관한 구조화된 데이터) > 메타데이터인 인덱스가 우리가 원하는 데이터의 위치를 찾는데 도움을 주는 이정표가 됨 > 인덱스의 편집사항은 데이터베이스의 내용에는 영향을 주지 않음 > 단지 질의(Query) 성능에만 영향 고려사항 > 별도의 저장공간을 확보 > 데이터에 연계된 인덱스들을 필요에 따라 설정 > 데이터 변경에 따라서 인덱스에 대한 수정도 연계되어 이루어져야 하므로 적절하게 인덱스를 활용하지 못하는 경우 오히려 성능저하의 문제가 발생 > 자주사용하는 정도나, 분포, 정보의 변경 주기 등 다양한 사항을 고려해 목적에 맞게 인덱스를 설정

SQL - INSERT, UPDATE, DELETE

● INSERT INTO 구문 INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); INSERT INTO table_name VALUES (value1, value2, value3, ...); > 모든 열에 값을 추가하는 경우, 속성 추가 x 지정된 열에만 데이터 삽입 INSERT INTO Customers (CustomerName, City, Country) VALUES ('Cardinal', 'Stavanger', 'Norway'); ★ NULL : NULL 값이 있는 필드는 값이 없는 필드 IS NULL 구문 SELECT column_names FROM table_name WHERE c..

SQL - SELECT

SELECT DISTINCT 구문 SELECT DISTINCT column1, column2, ... FROM table_name; > 중복값 제거 SELECT COUNT(DISTINCT Column1) FROM Table_name; > 서로 다른(구별된) 속성의 개수 다음은 MS Access에 대한 해결 방법입니다. SELECT Count(*) AS DistinctColumns FROM (SELECT DISTINCT Column FROM Table_name); WHERE 구문 SELECT column1, column2, ... FROM table_name WHERE condition; > SQL은 텍스트 값을 작은따옴표로 묶어야 합니다(대부분의 데이터베이스 시스템에서는 큰따옴표도 허용함). 그러나 숫자..

데이터베이스 기초

메모리에 임시 저장(In-Memory) > 데이터를 다룰 때에는 프로그램이 실행될 때에만 존재하는 데이터 > 예를 들어 변수를 만들어 값을 저장한 경우, 해당 값은 메모리 상에 일시적으로 저장되지만, 프로그램이 종료될 때 해당 프로그램이 사용하던 데이터도 사라짐 파일 입/출력(I/O) > 파일을 읽는 방식으로 작동하는 형태를 말함 > 엑셀 시트나 CSV 같은 파일의 형태 > but 데이터가 필요할 때마다 전체 파일을 매번 읽어야 함, 복잡하고 데이터량이 많아질수록 데이터를 불러들이는 작업이 점점 힘들어 짐 but 관계형 데이터베이스에서는 하나의 CSV 파일이나 엑셀 시트를 한 개의 테이블로 저장할 수 있음 > 한번에 여러 개의 테이블을 가질 수 있기 때문에 SQL 을 활용해 데이터를 불러오기 수월 ★ R..