개발로 자기계발
728x90
SMALL
데이터 웨어하우스와 클라우드(Redshift) 소개
Database & Data/기타 2023. 5. 9. 00:11

데이터 웨어하우스란(Data Warehouse)?조직이나 기업에서 다양한 출처의 데이터를 통합, 저장하고 분석할 수 있도록 구성된 대규모 데이터 저장소이다.데이터 웨어하우스는 데이터 마이닝, 비즈니스 인텔리전스(BI), 리포팅, 분석 등의 목적으로 사용되며, 이를 통해 의사결정에 도움을 주는 인사이트를 얻을 수 있다. 1) 주요 특징- 데이터 통합: 다양한 출처의 데이터를 통합하여 일관성 있는 형태로 저장한다. 이를 위해 데이터 추출, 변환 및 적재(ETL) 과정을 거친다.- 대용량 데이터 저장: 거대한 양의 데이터를 저장하고 관리할 수 있는 구조를 갖추고 있다.- 시계열 데이터 관리: 시간에 따른 데이터 변화를 추적하고 저장할 수 있다.- 성능 최적화: 대규모 데이터를 효율적으로 조회하고 분석할 수 있..

관계형 데이터베이스와 SQL 소개

관계형 데이터베이스(RDBMS)관계형 데이터베이스(Relational Database)는 데이터를 테이블 형태로 저장하고 관리하는 데이터베이스관계형 데이터베이스의 핵심 개념은 관계(Relation)로, 데이터를 행(Row)과 열(Column)로 구성된 2차원 테이블에 저장한다.이러한 테이블들은 서로 관계를 맺고, 이를 통해 다양한 데이터 조작과 쿼리를 수행할 수 있다. 대표적인 관계형 데이터베이스1) 프로덕션 데이터베이스: MySQL, PostgreSQL, Oracle 등등- OLTP(OnLine Transaction Processing)- 빠른 속도에 집중, 서비스에 필요한 정보 저장- 백엔드 및 프론트엔드 개발자, 데이터 업계 종사자들 사용 2) 데이터 웨어하우스: Redshift, Snowflake..

article thumbnail
RDS(MySQL) - 서버 시간을 한국 시간으로 변경하기(권한 에러 추가)
Database & Data/MySQL 2023. 5. 7. 16:32

Date 필드의 기본값을 현재 시간으로 하려고 한다면 CURRENT_TIMESTAMP로 많이 쓰인다.다만 다른 설정을 해주지 않으면 한국시간보다 -9시간으로 글로벌 시간이 지정되어있다.참고 - https://shwjdqls.github.io/aws-mysql-timezone-encoding/ Time_zone 변경이 명령문을 Workbench나 터미널에서 MySQL Shell에 접속해서 치게 되면 현재 Time_zone 설정을 볼 수 있다.select @@global.time_zone, @@session.time_zone; UTC기준으로 Time_zone이 설정되어 있었고, 나는 Asia/Seoul로 변경하고 싶었다.SET time_zone='Asia/Seoul';SET GLOBAL time_zone='..

reduce와 lambda를 통한 데이터프레임 merge 함수

def merge_dataframes(df_list: list, merge_option: str, column: str): """ 여러 개의 DataFrame을 공통 column을 기준으로 병합하는 메소드. :param df_list: 병합할 DataFrame들의 리스트 :param merge_option: 병합 옵션 ('inner', 'outer', 'left', 'right' 중 하나) :param column: 병합 기준이 되는 공통 column의 이름 :return: 병합된 DataFrame """ merged_df = reduce(lambda x, y: pd.merge(x, y, how=merge_option, on=column), df_list) return merged_df 이 코드는 여러 ..

데이터 크롤하고 분석(Seaborn) - 7

1) Python 시각화 종류 - Matplotlib: 가장 많이 사용되는 데이터 시각화 라이브러리 중 하나이며, 다양한 유형의 그래프를 그릴 수 있다. - Seaborn: Matplotlib에 기반을 두고 있지만, 더 간단한 인터페이스와 예쁜 그래픽 디자인을 제공하여 통계적인 분석을 위한 그래프 작업을 수행할 때 유용하다. - Plotly: 인터랙티브 그래프를 그리는 데 특화된 라이브러리이며, 웹에서 그래프를 공유하거나 웹 애플리케이션에서 사용할 수 있다. - Bokeh: Plotly와 유사하게 인터랙티브 그래프를 그리는 데 특화된 라이브러리다. - ggplot: R의 ggplot2 패키지에서 영감을 받아 만든 라이브러리로, 그래픽 디자인을 중심으로 한 라이브러리다. - Altair: Declarati..

데이터 크롤하고 분석(Jupyter Lab) - 6

Jupyter Lab Jupyter 프로젝트의 최신 웹 기반 사용자 인터페이스로, 데이터 과학, 기계 학습 및 인공 지능 분야에서 널리 사용되는 대화형 개발 환경이다. JupyterLab은 Jupyter Notebook과 함께 다양한 통합 개발 도구를 제공하며, 웹 브라우저에서 코드, 텍스트, 시각화, 간단한 GUI 등을 실행하고 관리할 수 있다. JupyterLab 설치: JupyterLab을 사용하려면 먼저 설치해야 하며, 설치는 pip를 사용하여 쉽게 할 수 있다. 1) 터미널에서 설치 pip install jupyterlab 2) 실행 jupyter lab 3) 단축키 모음 - 셀 실행 Shift + Enter: 현재 셀 실행 후 다음 셀로 이동 Ctrl + Enter: 현재 셀 실행 Alt + ..

데이터 크롤하고 분석(Seleniuum) - 5

Selenium 웹 페이지를 자동화하여 사용자가 직접 실행하는 것과 같은 테스트를 수행할 수 있다. Selenium은 다양한 언어를 지원하며, 특히 Java, Python, Ruby, C# 등의 언어에서 많이 사용된다. Selenium WebDriver를 사용하면 자동화된 테스트를 실행할 수 있으며, Selenium Grid를 사용하면 여러 브라우저에서 동시에 테스트를 실행할 수 있다. 또한 Selenium IDE를 사용하면 브라우저에서 리코딩 기능을 사용하여 테스트를 작성할 수 있다. * 레코딩: 사용자가 브라우저에서 수행하는 모든 작업을 기록하고 해당 작업들을 자동화된 테스트로 바꿀 수 있는 기능 1) 버전차이 Selenium은 4 버전 이후로 문법이 변경되었다. Selenium 3.xx버전 from..

데이터 크롤하고 분석(정적 페이지와 동적 페이지) - 4

정적 페이지 정적 페이지(Static Page)는 항상 같은 내용을 제공하는 웹 페이지 정적 페이지는 서버에서 미리 HTML 파일을 생성하여 클라이언트에게 제공한다. 정적 페이지는 보통 HTML, CSS, JavaScript 등을 사용하여 작성된다. 동적페이지 동적 페이지(Dynamic Page)는 클라이언트의 요청에 따라 내용이 동적으로 생성되는 웹 페이지 동적 페이지는 보통 서버 측에서 요청을 처리하고, 그 결과를 HTML 코드로 생성하여 클라이언트에게 전달한다. 동적 페이지는 CGI(Common Gateway Interface), 서블릿(Servlet), JSP(JavaServer Pages), ASP(Active Server Pages) 등을 사용하여 작성된다. 정적 페이지와 동적 페이지의 가장 ..

데이터 크롤하고 분석(BeautifulSoup) - 3

BeautifulSoup HTML, XML 등의 마크업 언어에서 데이터를 추출하는 파이썬 라이브러리 BeautifulSoup을 사용하면 마크업 언어로 작성된 문서를 파싱 하여, 문서 내에서 원하는 정보를 추출할 수 있다. BeautifulSoup은 파서(parser)를 선택하여 사용할 수 있으며, 주로 HTML 및 XML 파싱에 사용된다. 파싱 된 문서는 BeautifulSoup 객체로 반환되며, 이 객체를 통해 문서 내의 태그, 속성, 텍스트 등을 다룰 수 있다. 예를 들어, find() 함수를 사용하여 문서 내에서 원하는 태그를 찾거나, select() 함수를 사용하여 CSS 선택자를 이용하여 여러 개의 태그를 찾을 수 있다. 1) 사용 함수 - select(선택자) : CSS 선택자를 사용하여 요소..

데이터 크롤하고 분석(Web Scraping 기초) - 2

Web 1) 네트워크 둘 이상의 장치(device) 간에 데이터를 주고받을 수 있는 연결(connection)을 의미 이러한 장치들은 서로 다른 위치에 있을 수 있으며, 인터넷 같은 대규모 네트워크에서는 전 세계의 장치들이 연결되어 있다. 네트워크를 사용하면 데이터를 다른 장치에 전송할 수 있으며, 이는 인터넷이나 로컬 네트워크에서 일상적으로 이루어지는 일이다. 예를 들어, 웹 브라우저를 사용하여 인터넷에 접속하면, 컴퓨터는 인터넷으로 연결되어 있는 라우터(router)에 연결된다. 그리고 라우터는 인터넷 서비스 제공업체(ISP, Internet Service Provider)를 통해 인터넷과 연결된다. 그리고 ISP는 다른 ISP나 인터넷 서버와 연결되어 있으며, 데이터는 이러한 연결을 통해 전송된다...

728x90
SMALL