본문 바로가기
728x90

DataBase70

[Data] 마스터 데이터 vs 트랜잭션 데이터, fact테이블 vs dimension 테이블, 시계열 데이터란? 마스터 데이터란? 트랜잭션 데이터란? 트랜잭션 데이터(transaction data): 시간과 함께 생성되는 데이터를 기록한 것 한 번 기록하면 시간과 함께 생성되기에 변화하지 않는다. 트랜잭션 데이터 는 트랜잭션에서 수집한 정보입니다. 거래가 진행된 시간, 발생한 장소, 구매한 항목의 기준 소매 가격, 사용된 지불 방법, 할인(있는 경우), 거래와 관련된 기타 수량 및 품질이 기록 트랜잭션 데이터는 일반적으로 정형 데이터 범주에 속합니다. 몇 가지 예는 다음과 같습니다. 금융 트랜잭션 데이터: 보험 비용 및 청구 데이터, 또는 구매 또는 판매 데이터, 은행의 경우 입출금 데이터물류 트랜잭션 데이터: 배송 상태 데이터, 배송 파트너 데이터업무 관련 트랜잭션 데이터: 직원 시간 추적 ex) 판매 이력 마스.. 2021. 8. 6.
[Data] 데이터 레이크(data lake)란? 데이터 레이크란? 데이터를 있는 그대로 축적해서 모아두는 곳 데이터를 원래의 형태(미가공의 원시데이터)로 축적해두고 나중에 그것을 필요에 따라 가공하는 구조 데이터를 축적하는 호수에 비유 CSV나 JSON 등의 범용적인 반구조화 텍스트형식이 대부분 사용된다. 구조화된 데이터, 반구조화 된 데이터, 비구조화 데이터가 적재된다. 데이터 웨어하우스를 대체하는 개념 하둡의 HDFS, AWS S3처럼 객체 저장소가 데이터 레이크의 역할을 수행 할 수 있다. *구조화 데이터: 스키마가 명확하게 정의된 데이터 ex) 테이블,csv(반구조화가 될수도 있음),스프레드시트(반구조화가 될수도 있음) *반구조화 데이터: 스키마리스 데이터 라고도 불리며, 데이터 서식은 정해져 있지만, 칼럼 수나 데이터형은 명확하지 않은 데이터.. 2021. 8. 6.
[SQL] NULL 과 NULL처리 함수,연산자 NULL이란 알려지지않은 값(unknown),정해지지 않은 값으로 공백과 0과는 다른 개념. ORACLE NULL처리함수 NVL(컬럼명,지정값) -입력한 컬럼명의 값이 null인 경우 지정값으로 대체 NVL2(컬럼명,지정값1,지정값2) -입력한 컬럼명의 값이 null이 아닌경우 지정값1로 대체, null인 경우 지정값2로 대체 ORACLE및 다른 모든 DBMS NULL처리 함수 COALESCE(expr1,expr2,expr3,…) -expr1이 NULL이 아니면 expr1값을, 그렇지 않으면 COALESCE(expr2,expr3,…)값을 반환. -주어진 인수에서 첫번째로 null이 아닌 값을 반환 ex1) COALESCE(empno,1) empno가 null이면 1 empno가 null이 아니면 empn.. 2021. 3. 4.
[NoSQL] MongoDB 집계(Aggregation)1 #집계 프레임워크 -파이프라인의 각 단계에서의 출력이 다음 단계로의 입력으로 제공되는 파이프라인(집계 파이프라인,aggregation pipeline)을 정의한다. $project - 출력 도큐먼트상에 배치할 필드를 지정한다.(projected) $match - 처리될 도큐먼트를 선택하는 것. find()와 비슷한 역할을 수행한다. $limit - 다음 단계에 전달될 도큐먼트의 수를 제한한다. $skip - 지정된 수의 도큐먼트를 건너뛴다. $unwind -배열을 확장하여 각 배열 항목에 대해 하나의 출력 도큐먼트를 생성한다. $group -지정된 키로 도큐먼트를 그룹화한다. $sort -도큐먼트를 정렬한다. $geoNear - 지리 공간위치 근처의 도큐먼트를 선택한다. $out - 파이프라인의 결과(출.. 2021. 1. 21.
[NoSQL] MongoDB 쿼리 언어 총정리2 #자바스크립트 쿼리 연산자 -쿼리에 자바스크립트 표현식을 넘겨주기 위해서는 특수한 $where 연산자를 사용할 수 있다. ex) db.컬렉션이름.find({ '$where': "function() {return this.helpful_votes > 3;}" }) //this는 현재의 도큐먼트를 가리킨다. db.컬렉션이름.find({'$where': "this.helpful_votes > 3"})처럼 표현할 수 있다. -자바스크림트 쿼리는 성능 저하 문제와 인젝션 공격에 노출되는 위험성을 가지고 있다. #정규 표현식(regular expression) -$regex연산자: 요소를 제공된 정규 표현식과 맞춰 본다. -prefix 타입의 쿼리를 제외하고는 정규 표현식 쿼리는 인덱스를 사용할 수 없고, 대부분의.. 2021. 1. 20.
[NoSQL] MongoDB 쿼리 언어 총정리1 #셀렉터 매칭 -가장 간단한 쿼리는 키-값 쌍이 도큐먼트에 문자적으로 일치하는 셀렉터를 사용하는 쿼리다. ex) db.컬렉션이름.find({"키":"값"}) db.컬렉션이름.find({"키1":"값1","키2":"값2"}) -하나 이상의 키 값을 넘겨줄 때는 조건이 모두 매치되어야 한다.(쿼리 조건 함수는 논리적 AND) -MongoDB에서 모든 텍스트 문자열 일치는 대소문자를 구분한다.(Case sensitive) #범위 연산자 범위 해당하는 연산자 $lt ~보다 작은 $lte ~보다 작거나 같은 = ex) db.컬렉션.find({'birth_year': {'gte': 1985}, 'birth_year': {'$lte': 2015}}) 위의 쿼리는 1985년보다 크거나 같고 2015년보다 작거나 같은 .. 2021. 1. 20.
[Data&SQL] Ad-Hoc , Ad-Hoc 쿼리란? Ad-Hoc이란? 라틴어로, 직역하면 그것에 대해서라는 뜻. '임시변통 가설'이라고 번역되기도 한다. '거짓말은 하지 않는다'의 훌륭한 예시이며, 대개 무의미하다. 학문적인 의미로 쓰일 때는 Ad Hoc가설이라 해서, '어떤 이론이나 학설, 논리에 대한 부정적인 근거나 반박이 나왔을 때 오직 그것에 대해서 반박하기 위해서만 필요한 가설', '반박을 위한 반박', '임시방편'을 일컫는다. 피반박자가 갖고 있는 의제가 논파되지 않도록 하기 위한 일종의 궤변이라고 생각하면 편하다. 즉, 문제에 대해 충분히 일반화되지 않은 해법인 셈.(임시(임기변통)의 뜻, 즉석에서 만드는 의 뜻이 강함) Ad-Hoc 쿼리란? 말그대로 Ad-Hoc의 성격을 띈 query이다. ex) 좀 여유롭게,혹은 특정한 형식 없이 사용할 .. 2021. 1. 19.
[NoSQL] MongoDB Index 생성,예제,효율확인 1. 50만개의 도큐먼트 생성 use testdb //testdb 데이터베이스 > for (i =0; i 2021. 1. 19.
[NoSQL] MongoDB capped collection, TTL collection Capped Collection -캡드 컬렉션은 높은 성능의 로깅 기능을 위해 설계되었다. -일반 컬렉션과 다른 점은 고정된 크기를 갖는다는 점이다. -더 이상의 공간이 없게 되면 도큐먼트를 삽입할 때 컬렉션에 추가된 지 가장 오래된 도큐먼트를 덮어쓰게 된다. -일반적인 보통 컬렉션에 모든 연산이 가능하도록 허용하지는 않는다. -개별 도큐먼트를 삭제할 수 없고, 도큐먼트의 크기를 증가시키는 어떤 업데이트도 수행할 수 없다. -만드는 방법 db.createCollection("컬렉션이름",{capped: true, size: 16384, max:100}) 최대 크기가 16384바이트고, 최대 100도큐먼트까지 저장되는 컬렉션 ex) capped 컬렉션 생성 for문을 이용하여 500개의 데이터 삽입 cap.. 2021. 1. 19.
728x90