일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 웹스크래핑
- 개념정리
- DataWarehouse
- 클라우드
- 기술면접
- 에어플로우
- 웹크롤링
- SQL
- 데이터엔지니어링
- AWS
- Amazon
- 데이터웨어하우스
- WEB
- Service
- 부트캠프
- 데이터베이스
- 자료구조
- 프로그래머스
- Django
- 취준
- 알고리즘
- 관계형데이터베이스
- 파이썬
- airflow
- 데이터엔지니어
- 개발
- 데브코스
- CS
- 웹자동화
- 운영체제
- Today
- Total
목록부트캠프 (60)
사진과 음악을 좋아하는 개발자 지망생의 블로그
1. SQL vs NoSQL 1) SQL (Structured Query Language) - 관계형 데이터베이스 시스템을 기반으로 하는 데이터베이스 유형 - SQL은 데이터를 테이블 형태로 구조화하며, 데이터는 행과 열의 형태로 저장 - 해진 스키마를 따라 데이터를 저장하고, 데이터 간의 관계를 정의하고 관리하기 위해 SQL 쿼리 언어를 사용 - SQL은 ACID(원자성, 일관성, 격리성, 지속성) 원칙을 준수하여 데이터의 안정성과 일관성을 보장 - 정형화된 데이터를 다루는데 적합하며, 관계를 중심으로 데이터 간의 관계를 유지 2) NoSQL(Not Only SQL) - 비관계형 데이터베이스 시스템을 기반으로 하는 데이터베이스 유형 - 테이블 형태로 데이터를 구조화하지 않고, 여러 가지 형식으로 데이터..

1. 트랜잭션 1) 트랜잭션 - 전부 실행되거나 전부 실행되지 않아야하는(원자성: Atomicity) SQL들을 묶어서 하나의 작업처럼 처리하는 방법 DDL이나 DML 중 레코드를 수정/추가/삭제하는 것에만 의미가 있음 SELECT는 데이터를 조회하는 명령어로써, 데이터를 변경하지 않기 때문에 트랜잭션을 사용할 이유가 없음 BEGIN과 END 혹은 BEGIN과 COMMIT 사이에 해당 SQL들을 사용 만일 BEGIN 전의 상태로 돌아가고 싶거나, ERROR 발생 시 ROLLBACK(실행전으로 돌아감) 실행 → commit mode에 따라 따름 2) 트랜잭션 커밋 모드: autocommit ① autocommit = True - 모든 레코드 수정/삭제/추가 작업이 명시적으로 COMMIT 호출하지 않아도, ..

1. JOIN - 두 개 이상의 테이블들을 결합하기 위해 사용하는 구문 - 공통 필드를 기준으로 두 테이블을 연결하여 하나의 테이블로 만듬 ① INNER JOIN 두 테이블에서 공통된 값을 가진 행만을 반환 - 두 테이블에서 공통된 값을 가진 행만을 반환 ② LEFT JOIN (또는 LEFT OUTER JOIN) - 왼쪽 테이블의 모든 행과, 오른쪽 테이블에서 왼쪽 테이블과 공통된 값이 있는 행을 반환 ③ RIGHT JOIN (또는 RIGHT OUTER JOIN) - 오른쪽 테이블의 모든 행과, 왼쪽 테이블에서 오른쪽 테이블과 공통된 값이 있는 행을 반환 ④ FULL JOIN(FULL OUTER JOIN) - 두 테이블의 모든 행을 반환 - 공통된 값이 없는 경우 NULL로 반환 ⑤ CROSS JOIN(..

1. GROUP BY & Aggregate 함수 - 테이블의 레코드를 그룹핑하여 그룹별로 다양한 정보를 계산 - 그룹핑은 두 단계로 이뤄짐 ① 먼저 그룹핑을 할 필드를 결정(하나 이상의 필드가 될 수 있음) - GROUP BY로 지정(필드 이름을 사용하거나 필드 일련번호 사용) ② 그룹별로 계산할 내용을 결정 - 여기서 Aggregate 함수를 사용 - COUNT, SUM, AVG, MIN, MAX, LISTAGG, .....(필드 이름을 지정하는 것이 일반적) SELECT customer_id, SUM(price * quantity) as total_sales--customer_id별로 주문한 총 가격 계산하기 GROUP BY customer_id; 2. CTAS - SELECT를 가지고 테이블 생성 ..

SQL in Redshift - Redshift에서의 SQL은 다르 SQL과 다르지 않다 - 특히, Posgresql과는 거의 대동소이할 만큼 유사하다 1. SQL 기본 - 다수의 SQL문을 실행한다면 세미콜론으로 분리 필요 (SQL문1;SQL문2;SQL문3;) - 주석처리 ① --: 한주짜리 주석(C, Java에서 //와 같다) ② /* -- */: 여러 줄에 걸쳐 사용 가능한 주석 - SQL 키워드는 대문자를 사용한다던지 하는 나름대로의 포맷팅이 필요하며 특히, 팀 프로젝트라면 팀에서 사용하는 공통 포맷이 필요하다 - 테이블/필드이름의 명명규칭을 정하는 것이 중요하다 ① 단수형 vs 복수형: User vs Users ② _ vs CamelCaing: user_session_channel vs User..

데이터 웨어하우스 1. 데이터 웨어하우스(Data Warehouse) - 회사에 필요한 모든 데이터를 저장 - 여전히 sql 기반의 관계형 데이터베이스임 프로덕션 데이터베이스와는 별도이어야 함(비록, 프로덕션 데이터를 복사해와야 하지만...) AWS의 Redshift(고정비용), Google Cloud의 Big Query, Snowflake 등(가변비용)이 대표적 - 데이터 웨어하우스는 고객이 아닌 내부 직원을 위한 데이터베이스이다 따라서, 처리속도가 아닌, 데이터 크기와 관계없이 원하는 분석을 수행할 수 있는 것이 더 중요하다 - ETL 혹은 데이터 파이프라인 외부에 존재하는 데이터를 읽어다가 데이터 웨어하우스로 저장해주는 것을 ETL작업이 필요해짐 보통 데이터 웨어하우스 + ETL(데이터 파이프라인)..

데이터 직군 3대장 1. 데이터 분석가 - 데이터 분석가는 SQL을 사용하여 데이터를 추출하고 조작하는 작업을 수행 - 이를 통해 데이터를 이해하고, 비즈니스 도메인에 대한 지식을 바탕으로 의사 결정에 도움을 주는 분석 결과를 도출 - 또한 통계적인 방법을 활용하여 AB 테스트 분석을 수행하는 등, 데이터 분석에 필요한 전문적인 지식과 기술을 보유해야 함 2. 데이터 과학자 - 대용량 데이터를 처리하고 변환하는 데 SQL을 사용 - 머신러닝과 같은 고급 분석 기술을 활용하여 데이터를 분석하고 문제를 해결하는데 필요한 능력을 가지고 있어야함 - 이를 위해서는 파이썬과 SQL같은 프로그래밍 언어와 함께 통계적인 방법론을 이해하고 활용할 수 있어야 함 3. 데이터 엔지니어 - 데이터 파이프라인과 데이터 웨어하..

1) 나의 영어 타자 실력을 믿지 말자 오늘도 어제와 마찬가지로 에러와 마주치고 만다 사건은 사용자가 직접 설문조사 질문을 작성하여 post 버튼을 누르면 데이터에 사용자가 작성한 질문에 저장되고, 저장이 잘됐다는 내용과 함께 사용자가 저장한 설문조사 질문의 질문 내용과 질문 id, 질문의 소유자(사용자)를 띄워주는 프로그램을 작성하는 데서 발생하였다. 해당 코드를 작성하고 컴파일 한 뒤 POST 버튼을 누르는 순간! 에러 내용을 보니 'owner'라는 변수를 못찾겠다고 하더라 이상하다.. 분명 있는데.. 방금 전 작성한 소스를 아무리 봐도 잘못된 점을 못 찾았다. 그렇다면, 그 윗단에 해당하는 소스에서 잘못된 게 있을 거라 판단하여, 모델들을 정의하는 models.py 소스 파일을 찾아봤고 Questi..