Snowflake란 2014년 클라우드 기반 데이터웨어하우스로 시작됨 (2020년 성장) 지금은 데이터 클라우드라고 부를 수 있을 정도로 발전 글로벌 클라우드 위에서 모두 동작 (AWS, GCP, Azure) - 멀티클라우드 데이터 판매를 통한 매출을 가능하게 해주는 Data Sharing/Marketplace 제공 ETL과 다양한 데이터 통합 기능 제공 Snowflake특징 스토리지와 컴퓨팅 인프라가 별도로 설정되는 가변 비용 모델 Redishift 고정비용처럼 노드 수를 조정할 필요가 없고 distkey등의 최적화 불필요 SQL기반으로 빅데이터 저장, 처리, 분석을 가능하게 해줌 비구조화된 데이터 처리와 머신러닝 기능도 제공 CSV, JSON< Avro, Parquet등과 같은 다양한 데이터 포맷을 ..
Redshift가 지원하는 데이터 백업 기본적으로 백업 방식은 마지막 백업으로부터 바뀐 것들만 저장하는 방식 이를 Snapshot이라고 부름 백업을 통해 과거로 돌아가 그 시점의 내용으로 특정 테이블을 복구하는 것이 가능(Table Restore) 또한 과거 시점의 내용으로 Redshift클러스터를 새로 생성하는 것도 가능 자동 백업 기본은 하루이지만 최대 과거 35일까지의 변경을 백업하게할 수 있음 이 경우 백업은 같은 지역에 있는 S3에 이뤄짐 다른 지역에 있는 S3에 하려면 Cross-regional snapshot copy를 설정해야함. 이는 보통 재난시 데이터 복구에 유용함 백업 기한 설정 : Redshift클러스터의 Maintenance 탭 -> Backup details -> Edit 매뉴..
Redshift의 특징 - AWS에서 지원하는 데이터 웨어하우스 서비스 - 2PB의 데이터까지 처리 가능 : 최소 160GB로 시작해서 점진적으로 용량 증감 가능 - Still OLAP 응답속도가 빠르지 않기 때문에 프로덕션 데이터베이스로 사용불가 - 컬럼 기반 스토리지 레코드 별로 저장하는 것이 아니라 컬럼별로 저장함 컬럼별 압축이 가능하며 컬럼을 추가하거나 삭제하는 것이 아주 빠름 - 벌크 업데이트 지원 레코드가 들어있는 파일을 S3로 복사 후 COPY커맨드로 Redshift로 일괄 복사 - 고정 용량/비용 SQL 엔진 최근 가변 비용 옵션도 제공(Redshift Serverless) - 데이터 공유 기능 (Datashare): 다른 AWS계정과 특정 데이터 공유 가능. Snowflake의 기능을 따..
Serializer Serialize - 모델 인스턴스나 QuerySet과 같은 데이터를 JSON 형식의 파일로 변환하는 작업 Deserialize - JSON형식의 데이터를 정의된 포맷에 맞추어 다시 모델 인스턴스로 변환하는 작업 Django shell로 실습 #Serialize >>> from polls.models import Question >>> from polls_api.serializers import QuestionSerializer >>> q = Question.objects.first() >>> q >>> serializer = QuestionSerializer(q) >>> serializer.data {'id': 1, 'question_text': '휴가를 어디서 보내고 싶으세요?',..
Django 설치 1. python 설치 - 다운 받은 설치 파일을 실행 후 터미널에서 실행할 수 있도록 "Add Python to PATH" 옵션 체크하기 https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 2. python 가상 환경 및 django 설치하기 python 설치 완료 후 python의 venv라는 모듈을 사용해 앞으로 만들 Django 프로젝트의 가상 환경을 설정해줘한다. 프로젝트마다 가상환경을 설정해주어야 하는 이유 : 서로 다른 유형과 목적의 프로젝트들을 한 공간에 넣어 관리 시 프로젝트 간의 충돌이 발생할 수 있다. - 터미..
셀레니움 (Selenium) - 동적 웹 페이지와 Ui를 다룰 수 있게 해주고 웹 브라우저를 조작할 수 있는 Python 자동화 프레임워크 Selenium 시작하기 (✅ Chrome 설치 필수) 1. Selenium 라이브러리 설치 %pip install selenium %pip install webdriver-manager 2. 웹 브라우저를 제어할 수 있게 해주는 WebDriver가 필요 # selenium으로부터 webdriver 모듈을 불러옵니다. from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager..