Course 2

  • Data storage
  • Data connection
  • Data types
  • Data structures
  • Table schemas
  • Batch and streaming data processing
  • Denormalized data
  • Data governance
  • Metadata
  • Data catalogs
  • Data lakehouse architecture
  • Dataplex
  • Identify and trace data sources
  • Access data libraries
  • Explore data reference architectures
  • Manage tables in BigQuery
  • Add and export data
  • Query tables
  • Access data from Google Cloud services
  • Manage Dataproc
  • Benefits of data partitioning

Manage Access Control with Google Cloud IAM | Google Cloud Labs 통찰력은 그것을 얻은 데이터만큼만 유효합니다. 시작하기 전에 데이터 소스가 정확하고 전반적인 그림을 정확하게 나타내는지 확인하세요.

Also, while we work with numbers, analytics is really about storytelling. 또한, 우리가 숫자를 다루더라도 분석은 실제로 스토리텔링에 관한 것입니다.

Don’t just focus on the numbers —focus how to communicate those numbers such that folks understand what they mean and how to respond. 숫자에만 집중하지 마세요. 사람들이 숫자의 의미를 이해하고 어떻게 대응해야 할지 이해할 수 있도록 숫자를 전달하는 방법에 집중하세요.

Module 1

  • Modern data architectures
  • Data lakehoues
  • Different data types

[Data storage and connections]

  • Common storage systems Systems of record: 조직의 프로세스타 시스템과 관련된 데이터의 진실의 원천 역할을 하는 데이터 저장 시스템입니다.(엥? 번역이..) 규정 준수를 위해 사용되는 모든 독점 정보 및 데이터 포함. 이러한 시스템과 관련된 모든 데이터는 기록 시스템에서 동일하게 유지. 기록 시스템은 해당 시스템이 지원하는 프로세스나 시스템과 관련된 데이터에 대한 권위있는 데이터 소스. Transactional database: 각 거래 또는 상호작용과 해당 필드를 개별 행으로 저장하는 데이터 저장 시스템입니다. Cloud storage: 디지털 데이터를 오프사이트 클라우드 기반 서버에 보관, 액세스 및 유지할 수 있도록 하는 솔루션인 클라우드 데이터 스토리지가 있습니다.

    서로 좀 다른 이야기를 섞어서 하고 있다.

[Common ways to store data]

  • Relational database
  • Data warehouse: 쿼리분석에 최적화되어있어 복잡한 데이터 분석이 필요한 조직에 이상적임.
  • Data mart: 데이터 웨어하우스의 하위 집합이 될 수 있는 주제 중심 데이터베이스. 비지니스 인텔리전스 및 보고에 유리.
  • CSV file
  • Data lake: 필요할 때까지 대량의 원시 데이터를 원래 형식으로 저장하는 데이터베이스 시스템. 크기나 형식에 제한 없이 데이터 처리 가능.

[structured, unstructured, and semi-structured data]

  • structured: 행과 열
  • unstructured: 텍스트, 이미지, 비디오 등. 클라우드기반 데이터 레이크는 비정형 데이터에 적합. Google cloud storage, Google Dataproc. 데이터 분석가는 데이터 형식에 관계없이 필요에 따라 데이터를 빠르게 저장, 검색, 불러오고 분석할 수 있음. 어플리케이션에 영향을 주지 않고 데이터를 수정하는 것도 더 쉬움.
  • semi-structured data: 어느정도 구조를 갖추고 있지만 구조화된 데이터 만큼 정확하게 정리되지 않은 데이터. 구조화된 데이터보다 더 유연하기 때문에 기존 표나 스프레드시트 형식에 맞지 않는 데이터를 저장하는데 적합. 반구조화된 데이터의 일반적인 예로는 이메일.

[BigQuery data types]

  • Numbers
  • Strings: String, BYTE
  • Date and time
  • Location
  • Time interval: 주문을 처리하는 데 걸린 시간이나 고객이 지원팀과 전화 통화를 한 시간 등의 기간을 저장하는데 사용
  • JSON objects
  • Array(Repeated): 동일한 열에 동일한 데이터 유형의 여러 값을 저장할 수 있음을 의미.
  • STRUCT(Record): 동일한 열어 다양한 유형의 여러 값을 저장할 수 있음.

[BigQuery Mode]

  • 열에 빈 값이 들어갈 수 있는지 여부
  • “반복”모드를 설정하여 열을 배열로 바꿀 수 있기 때문에 중요.

[nested data structure] 중첩된 데이터구조는 정보를 저장하고, 처리하고, 검색하는 매우 효과적인 방법을 제공. 이를 통해 데이터 분석가는 무결성을 보장하고 효율적인 데이터 관리를 촉진. 중첩된 데이터는 부모-자식 관계나 다단계 분류와 같은 것에 적용 구조체: 여러 열을 그룹화하는 방법. BigQuery에서는 record라고 불림. 주소칼럼에 주소1, 주소2, 우편번호… (음. 속성을 하나로 퉁치는?) 배열: 같은 데이터 형식의 값을 포함하는 목록. BigQuery에서는 repeated라고 불림. 이메일1, 이메일2,… 배열안에 구조체를 넣을수도 있음. (그렇게해서는 RDB가..음.유용한 부분도 있겠지만. 잘 생각을해야.)

[Selecting the appropriate data format]

  • Data requirements
  • Data characteristics
  • Processing speed
  • Latency constraints
  • Integration capabilities

Module 2

  • Denormalized 정규화
  • Data governance
  • Technical and business metadata
  • Master data management
  • Data catalogs
  • Data laehouses

[Denormalized data]

  • Ideal for gathering information quickly 비정규화된 데이터는 정보를 빠르게 수집하는 데 이상적임.
  • Reduce overall complexity 전반적인 복잡성이 줄어들고
  • Create the ability to scale quickly 빠르게 확정할 수 있는 능력이 생김.

  • Duplicated data
  • Increased storage needs
  • Potential for inconsistencies 불일치 가능성

[Ways to denormalizeed data] 쿼리성능을 향상시키는 비정규화 방법이라..

  • Add duplicated columns 각 테이블에 중복된 영을 추가하는 것. 데이터분석가는 테이블 자체를 조일할 필요가 없음.
  • Split tables 각 어플리케이션에 필요한 행이나 열만 있는 작은 테이블로 분할
  • Mirror tables 읽기 쉽도록 테이블의 복사본 만들기
  • Create summary tables 개수나 평균과 같은 기성 합계를 보관하는 요약 테이블

[Data governance] 회사 데이터의 공식적인 관리를 보장하기 위한 프로세스 조직 데이터의 정확성, 신뢰성, 보안을 유지하는데 도움이 됨.

  • Polices and standards: 데이터처리, 사용 및 공유에 대한 기대치를 확립하고 일관성을 보장. 모범사례를 준수.
  • Quality management: 데이터의 정확성, 완전성, 일관성. 신뢰성을 유지하는데 중점을 둠. 사전 정의된 품질기준을 충족하는지 확인하기 위한 데이터 정리, 검증 및 지속적인 모니터링 프로세스가 포함됨.
  • Privacy and security: 보안 프로토콜 구현, 액세스 제어, 데이터 보호법 준수가 포함됨.
  • Stewardship and ownership 데이터 관리 및 소유권에 대한 역할과 책임을 할당하는 것.

데이터 거버넌스 활동을 담당하는 지정된 개인이나 팀이 있는지 확인.

[Data governance goal]

  • Achieve data integrity and accuracy throughout the data lifecycle 데이터 수명 주기 전반에 걸쳐 데이터 무결성과 정확성을 달성하는데 도움.
  • Establish policies and practices that align with regulations and protect privacy right 데이터 보호 규정이 늘어나면서 데이터 거버넌스도 규정 준수에 중요한 역할. 이를 통해 조직은 규정에 부합하고 개인 정보 보호 권리를 보호하는 정책과 관행을 수립할 수 있음.
  • Make data more accessible and usable for authorized users 권한이 있는 사용자가 데이터에 더 쉽게 접근하고 사용할 수 있도록 하는 것. 이는 적절한 데이터 분류, 액세스 제어, 메타데이터 관리를 구현함으로써 가능.

데이터 거버넌스는 신뢰할 수 있고, 시기적절하고, 정확한 데이터를 기반으로 정보에 입각한 의사 결정을 내릴 수 있는 기반을 제공. 기업은 데이터의 품질과 무결성을 강화함으로써 더욱 신뢰할 수 있는 통찰력을 얻고 정보에 입각한 의사결정을 내릴수 있음. 이를 통해 보안 조치가 더욱 강화되어 데이터 침해 및 개인정보 침해 위험이 낮아짐. 이를 통해 신뢰가 구축되고 조직의 평판을 보호하는데 도움이 됨. 적절한 데이터 거버넌스를 통해 조직은 데이터 기반 이니셔티브에 대한 신뢰와 신뢰성의 문화를 구축할 수 있음. 데이터 거버넌스는 데이터 관리 프로세스를 간소화하여 중복과 비효율성을 줄여줌. 이를 통해 데이터를 전략적 자산으로 활용하면 조직의 효율성과 효과성이 향상됨. 데이터 거버넌스를 올바른 방향으로 유지하는 것은 조직의 성장과 성공에 중요함.

[How to implement data governance 단계별 가이드]

  • Set clear goal and objectives 데이터 거버넌스 프로젝트에 대한 명확한 목표와 목적을 설정
  • Get support from top leaders
  • Put together data governance team IT,법률,재무,운영 등 다양한 부서의 대표자로 데이터 거버넌스 팀을 구성
  • Clearly define the roles and responsibilities of the data management team + 그리고 팀원들이 이를 알고 있는지 확인 필요.
  • Create data governance plan 데이터 관리를 위한 정책, 절차, 표준, 가이드라인을 포함하는 데이터 거버넌스 계획.

[데이터 거버넌스 계획이 만들어지면]

  • Invest in tools and technologies 데이터 관리 프로세스를 자동화하고 간소화하는 데 도움이 되는 도구와 기술에 투자 필요.
  • Train data management team 이러한 도구를 사용하는 방법과 모범 사레를 따르는 방법에 대한 교육 필요.
  • Keep track of how well the data governance plan is working 데이터 거버넌스 계획이 핵심 성과 지표(KPI)와 얼마나 일치하는지 추적.
  • Promote a data-driven culture
  • Data governance plan should grow and evolve

[Master data management] MDM은 조직 전체에서 데이터에 대한 단일하고 일관된 관점읋 확보하기 위해 중요한 데이터 자산을 관리하고 유지하기 위한 규율과 프레임워크

  • Data governance
  • Data integration 데이터가 조화롭게 흐르고, 다양한 부서와 시스템에서 단일 출처에서 최신 정보에 액세스하여 사용할 수 있음.
  • Data quality management 마스터 데이터의 정확성, 완전성, 일관성을 유지하고 개선하는데 중점을 둠. 데이터가 사전 정의된 품질 기준을 충족하는지 확인하기 위해 데이터 정리, 검증 및 보강이 필요.
  • Data stewardship 데이터 소유권, 유지관리, 거버넌스에 대한 책임을 할당. 데이터 관리자는 데이터 정확성을 보장하고, 데이터 관련 문제를 해결하고, 데이터 거버넌스 모범 사례를 홍보할 책임.

[MDM의 비지니스적 이점]

  • 데이터관리를 위한 표준화된 규칙, 프로세스, 통제 수단을 확립하여 데이터 품질을 향상. 중복되거나 상충되는 정보를 제거하여 시스템 전반에서 데이터가 수집, 저장 및 유지되는 방식의 일관성을 보장.
  • 주요 데이터에 대한 전체적이고 완전한 관점을 제공함으로써 데이터 기반의 의사결정을 강화. 정확한 정보의 확보는. 사업 성장과 경쟁 우위를 촉진하는 정보에 입각한 의사 결정이 가능.
  • MDM이 Single source of truth 데이터를 만들어 낸다는 점임. 데이터 사일로와 불일치 해소.
  • 직원이 업무에 사용하는 데이터를 신뢰할 수 있음으로 운영 효율성이 향상.
  • MDM은 데이터 관리 프로세스를 간소화하고 중복을 제거함으로써 값비싼 실수, 재작업, 조정 및 수동 데이터 입력에 소요되는 노력, 비용 및 시간을 절약.

[Data catalogs] 데이터 자산을 중앙에서 관리한 목록. 사용 가능한 데이터에 대한 포괄적인 보기를 제공하여 사용자가 데이터 자산을 쉽게 검색, 이해 및 사용할 수 있도록 함. 이러한 수준의 가시성과 접근은 효율적이고 효과적인 데이터 관리의 기초.

  • Structured data : (예) 선수의 기록
  • Unstructured data: (예) 뉴스기사, 사진, 소셜 미디어 컨텐츠, 비디오 클립
  • Reports: (예) 급여 보고서와 선수 성과 보고서
  • Dashboards and visualizations : (예) 선수 성과에 초점을? 그런 대시보드를 저장하나?
  • Automations and machine learning models : (얘) 플레이어 성과에 대한 예측을 시도하는 것

[Key elements of a data catalog]

  • Metadata: 데이터의 진정한 가치를 끌어내는 열쇠. 데이터 카탈로그는 데이터 세트에 대한 중요한 세부 정보를 구성하고 저장하여 메타데이터 관리를 가능하게 함.
  • Data lineage information 조직은 데이터 카탈로그를 통홰 데이터의 출처와 변환 과정을 추적하여 신뢰성과 정확성을 확보할 수 있음. 계통을 따라, 잠재적인 문제를 식별, 데이터 무결성을 확신.
  • Data govenance 데이터 자산에 대해 함께 작업하고 통찰력을 공유할 수 있는 중앙 집중식 플랫폼을 제공하여 협업을 향상시킴.

[Benefit of a data catalog]

  • Enhance data understanding 데이터 카탈로그에 제공되는 포괄적인 메타데이터는 데이터에 대한 이해를 높여 더 정확한 분석, 의사 결정 및 사업 전략을 수립하는 데 도움.
  • Quickly locate and access important data assets 데이터팀의 생산성을 높임.
  • Decrease time spent on data preparation 메타데이터 관리와 데이터 검색을 모두 간소화함으로써 데이터 카탈로그는 데이터 준비에 소요되는 시간을 줄일수있음.
  • Enforce governance practices 거버넌스 관행을 강화하고 데이터 무결성, 개인 정보 보호 및 보안을 보호. 이를 통해 조직은 규정 준수 요구사항을 충족
  • Create a wonderful culture of innovation

Techncal and business metadata

메타데이터는 데이터를 설명하고, 구성하고, 맥락에 맞게 설명하여 데이터를 더 쉽게 이해라고 사용할 수 있도록 함. 메타데이터는 데이터 분석가가 데이터를 검색하고 의미 있게 활용활 수 있도록 보장하는 데 중요한 역할. Metadata includes details about data structure, format, origin, quality, and meaning

메타데이터는 무엇, 언제, 어디, 어떻게에 대한 정보로, 데이터의 특성과 속성에 대한 중요한 정보를 제공함.

  • 기술적 메타데이터 Technical metadata focuses on the detailed aspects of data, like file formats, structure, source, and lineage. 기술적 메타데이터는 원활한 데이터 접근성, 흐름, 교환 및 통합을 위한 기반, 시스템과 어플리케이션 전반애서 호환성과 상호 운용성을 보장.

  • 비지니스 메타데이터 데이터의 맥락과 의미에 초점. Business metadata includes the meaning of the data, associated business rules, and information about data ownership and relationships. 비지니스 메타데이터는 비지니스에 중요한 백락을 제공하고 데이터 기반의 의사결정을 가능하게 함. 이는 기술적 복잡성과 비지니스 요구 사항 간의 격차를 메우는데 도움이 됨.(?)

이 두가지 유형의 메타데이터는 상호 보완적이며, 이를 통해 데이터를 효과적으로 관리하고 활용하는 포괄적인 접근 방식을 형성. 하지만 둘을 구별하는 것은 중요. 기술적 메타데이터는 세부 정보에 초점을 맞추는 반면, 비지니스 메타데이터는 비지니스 맥락과 의미를 제공

Data lakehouse

[Data lakehouse architecture]

  • Combines the best features of data warehouses and data lakes
  • Stores data in its native format
  • Incorporates structured elements and organization 데이터 레이크하우스는 데이터 웨어하우스와 유사하게 구조화된 요소와 조직을 통합.

유사하지만, 다르다. 데이터 레이크하우스 아키텍처는 모든 데이터로 시작하여 ETL프로세스로 이동. 여기에서 데이터는 “데이터 레이크”로 이동. 그런다음 데이터웨어하우스, 시각화 프로그램 또는 머신러닝 모델로 이동하기 전에 변환.

[Data lakehouse architecture advantages]

  • Scalability 기업의 추가적인 하드웨어나 소프트웨어 없이도 방대한 양의 데이터를 저장하고 처리.
  • Flexibility 유연성이 있어 기업이 호환성 문제 없이 다양한 데이터 도구와 기술을 활용할 수 있음.

하지만, 구조화된 데이터 웨어하우스가 필요한 경우는? 데이터 웨어하우스와 레이크하우스를 모두 포함하는 2계층 아키텍처를 구축할 수 있음.

특징 데이터 웨어하우스 (DWH) 레이크하우스 (Lakehouse) 개념 구조화된 데이터를 저장하고 분석하는 시스템 데이터 레이크와 데이터 웨어하우스의 장점을 결합한 아키텍처 데이터 유형 정형 데이터 (Structured) 위주 정형, 반정형, 비정형 데이터 모두 지원 데이터 저장 방식 Schema-on-Write (사전에 스키마 정의) Schema-on-Read + Schema-on-Write 데이터 처리 방식 ETL (Extract, Transform, Load) ELT (Extract, Load, Transform) 확장성 제한적 (고비용의 확장 필요) 고확장성 (클라우드 기반 확장 용이) 비용 높은 스토리지 및 처리 비용 비교적 저렴한 스토리지 (클라우드 데이터 레이크 활용) 성능 최적화 빠른 분석 쿼리 최적화 웨어하우스 수준의 쿼리 성능 제공 사용 목적 BI(비즈니스 인텔리전스), 보고서 생성 BI, 머신러닝, 데이터 과학 등 다양한 분석 대표 기술 Snowflake, Amazon Redshift, Google BigQuery Databricks Delta Lake, Apache Iceberg, Snowflake

Components of data lakehouse architecture

데이터 레이크하우스 아키텍처는 데이터 레이크와 데이터 웨어하우스를 결합합니다.

[Data lakehouse architecture components]

  • Data lake: repository of data in its original form 데이터 레이크는 원래 형태 그대로의 데이터를 저장하는 저장소.
  • Data warehouse: organized sets of structured data 데이터 웨어하우스는 구조화된 데이터의 집합으로 구성. 레이크하우스를 사용하면 구조화된 데이터 세트와 구조화되지 않은 데이터 세트를 모두 단일 플랫폼으로 결합 가능. 레이크하우스는 두 가지 데이터 구조를 결합하기 때문에 파이프라인을 개발하는 데 아키텍처가 중요함. 또한 도구를 단일 데이터 소스에 연결가능. 모든 데이터를 보관하고 정리하기 위한 데이터 레이크 아키텍처에는 5가지 계층이 있음.

[Layers of a data lakehouse architecture]

  • Ingestion: [Structured, Sem-Structured, Unstructured] > Ingestion Layer(Batch Streaming)
  • Storage: ETL > Data Lake, 일부 데이터는 데이터 레이크로 이동하고, 다른 데이터는 ETL을 거쳐 데이터웨어하우스로 이동.
  • Metadata: 데이터는 거버넌스 규칙이 적용됨. 메타데이터, 캐싱 및 인덱싱.
  • API: [Meatadata API, SQL API, Declarative Daataframe API] 최종계층의 데이터 및 메타데이터 액세스를 추상화하고 단순화 하는데 사용됨.
  • Consumption: BI reports, Data Science Machine Learning

Module 3

[What]

  • How to find data
  • Trace a data source
  • Analytics Hub introduction
  • Explore data discovery. creation. and unification

[Analytics Hub] Analytics Hub는 데이터를 정리하고 보호한 다음 사용자가 분석 프로젝트에 필요한 데이터를 찾을 수 있도록 도와줍니다. Analytics Hub는 BigQuery 데이터 세트의 게시 및 구독 모델을 기반으로 구축됩니다. 데이터 생산자 또는 게시자가 자신이 만든 데이터 세트를 데이터 소비자 또는 구독자에게 재공한다는 의미. 컴퓨팅과 스토리지를 분리하면 데이터 생산자는 데이터를 복제하지 않고도 많은 사용자와 공유 가능. 데이터 생산자는 데이터를 저장하는 공간에 대해서만 비용을 지불하고, 소비자는 공유 데이터에 액세스하거나 쿼리를 실행할 때만 비용을 지불합니다.

[Data publisher workflow]

  • Identifies dataset to share in BigQuery
  • Creates a listing of datasets in Analytics Hub
  • Manages use of shared datasets

[Data subscriber workflow]

  • Browses Analytics Hub to find a dataset
  • Subscribes to a dataset
  • Receives a read-only link to dataset in the subscriber’s BigQuery project
  • Queries the data

공유 데이터 세트 데이터 교환 목록 작성 (구독자쪽)연결된 데이터 세트

[Shared datasets and linked datasets]

  • Shared datasets are collections of data, tables, and views
  • Data subscribers receive a version of a dataset called a linked dataset. 비슷하지만 읽기 전용임.

[Data listings and exchanges]

  • Each oice of data is uniquely identified as a listing 데이터 세트에 대한 링크, 간략한 설명, 관련 문서가 포함.
  • Data exchanhes can either be open to every user or restricted to certain users

[사용자 유형]

  • 게시자 Analytics Hub publisher: Generate income with instant data sharing Share data without creating duplicates Build catalog of data sources ready for analysis Create detailed permissions Manage subscriptions
  • 구독자 Analytics Hub subscriber 공유된 데이터를 기존 데이터와 병합할 수 있는? Merge shared data with existing data Use the built-in tools of BigQuery
  • 시청자 Analytics Hub viewer Browse throurg datasets
  • 관리자 Analytics Hub administrator Enable data sharing Give access permissions to both data publishers and subscribers

[Analystics Hub limitations]

  • For a shared datasets that’s encrypted. subscribers won’t have the cloud key needed to access the dataset 게시자가 고객 관리 암호화 키로 주요 작업을 보다 효과적으로 제어하기 위해 암호화된 공유 데이터 세트에 대한 목록을 만드는 경우 구독자는 데이터 세트에 액세스하는 데 필요한 클라우드 키가 없음.
  • Limit of 1,000 linked datasets to a shared dataset 공유 데이터세트에 연결할 수 있는 데이터세트의 수는 1,000갸로 재한.
  • A dataset with unsupported resources can’t be shared

Benefits of using Dataplex

Context: The condition in which something exists or happens 맥락이란 무엇인가가 존재하거나 일어나는 조건. 이는 치과 의사 설문조사에서 묻는 구체적인 질문과 파스타가 제시된 방식과 같이 데이터에 영향을 미치는 주변 환경과 관련이 있음. 마찬가지로 의미 있고 진실된 분석을 위해서는 데이터 세트를 둘러싼 맥락을 파악하는 것이 중요. Dataplex는 검색과 데이터 발견을 통합하는 중앙 집중식 데이터 카탈로그로, 데이터 전문가가 데이터 출처를 이해하는데 도움이 됨.

[Dataplex advantages]

  • Dataplex provides a centralized hub where users can explore, catalog, and manage data assets 사용자가 복잡한 데이터 환경을 쉽게 탐색하여 원하는 것을 찾고 해당 정보가 신뢰할 수 있는지 확인할 수 있음으로 데이터 소스 식별 프로세스가 간소화됨. 그들은 데이터 생태계에 대한 포괄적인 관점을 얻어서 정보에 입각한 의사 결정과 귀중한 통찰력을 얻을 수 있음.
  • Dataplex provides as user-friendly interface for exploring data sources within BigQuery 빠른 권리 성능과 확장성을 제공하므로 대량의 데이터를 처리하는데 이상적임.

Techniques to access data

  • Data patterns and schemas in BigQuery
  • Tools for Google Cloud integration / Vertex AI, Google Colab
  • Benefits of partitioning
  • Manage partitioned tables
  • Dataproc for scripts

통계와 같은 전통적인 데이터 분석 방법은 ML의 잠재력을 제한합니다.

머신러닝: 컴퓨터 시스템에 데이터 패턴을 분석하고 발견하도록 가르치키 위해 알고리즘과 통계 모델을 사용하고 개발하는 것

[머신러닝 타입]

  • Classification 분류모델. 공통적인 특성을 기준으로 항목을 분류하거나 항목을 미리 정의된 붐주로 그룹화하기 위해 모듈을 훈련 이는 무언가가 포유류인지 파충류인지 판별하는 것처럼 간단할 수도 있고 신제품이 판매될 가능성이 있는지 없는지 판별하는 것처럼 복잡할 수도 있음.
  • Clustering 클러스터링모델. 서로 비슷한 점이 있는 데이터 포인트를 그룹화하는 것 머신러닝은 모델에서 확인된 유사성을 기반으로 항목을 어떻게 그룹화할지 결정. 예를 들어, 제품을 구매할 가능성이 가장 높은 고객이 어느 지역에 있는지 알아낼 수 있음.(?)
  • Linear regression 선형 회귀 모델. 선형 회귀 분석은 연속적인 종속 변수와 하나 이상의 독립 변수 간의 선형 관계를 추정하는 기술. 선형 회귀를 통해 판매량을 예측하거나, 다음 주에 내릴 강수량을 예측해 볼 수도 있음.
  • Ranking 순위모델. 특성을 사용하여 항목을 가능성에 따라 정렬합니다. (예) 엔터테인먼트 스트리밍 서비스는 순위 모델을 사용하여 고객이 즐길 만한 음악이나 영화를 추천합니다. 이러한 모델은 사용자가 듣거나 보는 것의 유사점을 찾고, 사용자가 콘텥츠를 즐길 가능성에 따라 새로운 엔터테인먼트 옵션의 순위를 매기려고 합니다.

[머신러인 도입]

  • 팀은 온프레미스 환경의 웨어하우스를 구글 클라우드로 이동 이를 통해 팀은 거의 실시간으로 새로운 데이터를 수집하는 파이프라인을 개발하는데, 이는 데이터 유입이나 감소가 있을 때 확장 가능함. 데이터가 준비되고 ML에 사용 가능해지면 팀의 다음 단계는 하이퍼파라미터 튜닝을 자동화하는 것.
  • Hyperparameters Parameters whose value is used to control the learning process. 학습과정을 제어하는 데 사용되는 값을 갖는 매개변수. 여기가 바로 머신 러닝의 ㅎㅁ이 시작되는 부분이며, 모델이 스스로 업데이트되기 시작하는 부분. 팀에서는 최적화하려는 하이퍼파라미터 미터를 설정. Vertext AI를 사용하면, Vertex AI가 하이퍼파라미터를 자동흐로 조정하여 가장 적합한 값을 설정하는데 도움을 주므로 팀에서는 하이퍼파라미터 튜징을 가속화할 수 있음.

    하이퍼파라미터 vs 파라미터 하이퍼파라미터: 사용자가 직접 설정해야 하며, 학습 전에 정해지는 값 (예: 학습률). 파라미터: 모델이 학습을 통해 자동으로 최적화하는 값 (예: 가중치, 편향).

[클라우드로 이동하는 옵션]

  • BigQuery: 강력한 쿼리 및 데이터 액세스기능을 제공. BigQuery플랫폼 내에서 직접 ML모델을 구축하는 데 사용할 수 있는 머신 러닝 기능도 기본 제공 됨. BigQuery를 사용하면 SQL 지식을 활용하여 머신 러닝 모델을 개발할 수 있음. BigQuery의 기본 제공 선형 회귀 모델을 사용하여 일일 매출을 예측 하는 모델을 학습 할 수도 있음. 선형회귀분석은 연속적인 종속 변수와 하나 이상의 독립 변수 간의 선형 관계를 추정하는 기술. 제품, 날짜별 과거 매출, 시간별 과거 매출, 휴일별 과거 매출 등의 정보를 입력할 수 있음. 그런 다음 SQL을 사용하여 모델을 만들고 미리 작성된 선형 회귀 모델을 사용할 수 있음. 가장 좋은 점은 더 많은 데이터가 입력될수록 모델이 스스로 학습하여 더욱 정확해진다는 점.

[Benefits of Colab notebooks]

  • Graphical processing units(GPU) and tensor procerss unit(TPU) Colab의 무료 버전은 최대 12시간 동안 그래픽 처리 장치와 텐서 처리 장치를 무료로 사용.
  • Google Drive에 저장된 Colab 파일에 대한 공유 가능 링크를 만들어 더욱 쉽게 협업. 노트북 공유.
  • Install libraries. 사용자는 AWS S3, GCP, SQL, MySQL등 설치가능.
  • Pre-installed libraries. NumPy, Keras와 같은 여러 가지 사전 설치된 라이브러리가 있음.
  • Google Drive storage. Colab은 모든 작업을 Google Drive 저장소에 저장함으로 Google Drive 계정을 사용하여 어느 컴퓨터에서나 작업을 중단한 부분부터 이어서 작업할 수 있음.
  • Github integration. Github계정을 Colab에 연결하여 코드 파일을 손쉽게 이동할 수도 있음.
  • Mutiple data sources. 모든 종류의 데이터 소스와 호환되므로 머신 러닝 및 AI 교육 프로젝트에 적합함.

[Database partitioning] 데이터를 별도의 데이터 세그먼트 또는 별도로 관리하고 액세스할 수 있는 파티션으로 나누는 프로세스. 데이터베이스 파티셔닝은 하드웨어 전반에 데이터를 분산시키지 않고 단일 테이블 내에서 데이터를 분할하는 테이불 파티셔닝과 다르다는 점을 강조하는 것이 중요. 데이터베이스 파티셔닝은 많은 이점을 제공 하지만 가장 중요한 것은 확장성, 가용성, 성능이 향상되는 것.

[Database partitioning helps improve]

  • Scalability. 데이터를 여러 파티션에 분산시켜 확장성을 향상시키는 데 도움이 됨. 데이터를 관리 가능한 부분으로 나누면 시스템은 더 많은 작업을 효율적으로 처리할 수 있어 지속적으로 뛰어난 성능을 보장할 수 있음.
  • Data availability. 데이터를 여러 사버로 나누어 데이터 가용성을 향상시키는 데 도움이 됨. single point of fail 단일 실패 지정도 방지.
  • Performance. 시스템이 데이터베이스 전체를 쿼리하는 대신 작읍 부분만 쿼리할수 있게 하여 성능을 향상시키는데 도움이 됨.

[Partitioning Type]

  • Horizontal partitioning. 수평 분할은 데이터를 여러 개의 별도 세그먼트로 나누는 프로세스. 각 파티션 또는 샤드는 별도의 데이터 저장소이지만 모든 샤드는 동일한 조직 레이아웃을 따름. 각 샤드는 특정 고객 그룹의 모든 주문처럼 전체 데이터중 고유한 부분을 보관. SKU 또는 ID번호를 기준으로 조작으로 나뉜 스니커즈 재고
  • Vertrial partitioning. 수직 분할은 데이터를 별도의 세그먼트로 나누는 프로세스. 각 파티션은 데이터 저장소의 항목에 대한 고유한 필드 부분을 유지. 자주 사용되는 필드는 하나의 수직 파티션에 넣고, 자주 액세스하지 않는 필드는 다른 파티션에 넣을 수 있음.
  • Functional partitioning. 데이터베이스 시스템의 다양한 부분에서 사용되는 방식에 따라 데이터를 그룹화하는 별도의 세그먼트로 데이터를 나누는 프로세스. (얘) 스니커즈 브랜드를 훈련이나 달리기 등 스니커즈의 디자인 용도에 따라 하나의 파티션에 배치할 수 있음. 동시에 가격에 따라 다른 파트션에 할당될 수도 있음.

[Considerations when incorporating partitiong in an active system] 이미 활성화된 시스템에 파티셔닝을 통합할 때 고려해야 할 세 가지 주요 사항

  • Change how data is accessed in the system. 시스템에서 데이터에 액세스하는 방법을 변경해야 할 수도 있음.
  • Require migration of large amounts of existing data. 데이터를 여러 파티션으로 나누려면 기존에 저장된 대량의 데이터를 마이그레이션해야 함.
  • Keep using the system during the data migration. 데이터 마이그레이션 중에도 시스템을 계속 사용하고 싶어함.

[Considerations when partitioning data]

  • Parallel processing. 병령성은 시스템이 여러 데이터베이스 파티션에서 동시에 여러 작업을 수행할 수 있는 능력.
  • Application requirements. 애플리케이션 요구 사항은 데이터베이스 분할로 인해 시스템 설계 및 개발이 더욱 복잡해질 수 있음으로 중요. 트래픽이 급증할 때 불균형하게 분포되면 사용자는 파티션을 재조정하여 문제를 해결해야 함. 이는 새로운 전략을 만들고 기존 분할 체계에서 새 분할 체계로 데이터를 이동하여 수행됨.

[Partitionig Table] 분할된 테이블은 작은 세그먼트 또는 파티션으로 나뉜 큰 테이블. 파티셔닝은 쿼리가 처리해야 하는 데이터 양을 줄여줌. 분할된 테이블에서는 데이터가 별도의 저장 장치에 저장되고, 각 저장 장치에는 단일 데이터 파티션이 포함됨. 여러 개의 데이터베이스를 관리하게 되는 데이터베이스 분할과 달리, 분할된 테이블은 여전히 단일 테이블로 처리할 수 있음. 파티션된 테이블은 각 파티션에 저장된 데이터에 대한 메타데이터를 추적하고, 해당 메타데이터를 사용하여 쿼리를 최적화할 수 있음. 또한 메타데이터 덕분에 BigQuery는 쿼리를 실행하기 전에 쿼리 비용을 보다 정확하게 추정할 수 있음. 분할은 고유값이 적은 열에 효과적이며, 각 분할에는 여전히 비교적 충분하 향의 데이터가 있음. BigQuery에서는 파티션당 최소 1GB를 두는 것이 가장 좋음.

[When to partition a table]

  • To improve query performance by only scanning a specific section of table 테이블의 특정 섹션만 스캔하여 쿼리 성능을 개선해야 할 때 유용.
  • If table operation exceeds the expected volume of data, the data professional needs to limit it to specific partition column values 테이블 작업이 예상 데이터 볼륨을 초과하는 경우 데이터 전문가는 해당 작업을 특정 파티션 열 값으로 제한해야 함. 이는 더 높은 분할 테이블 할당량의 이점임.
  • To set a partition expiration time to automatically delete entire partitions after a specific time period 특정 기간이 지난 후 전체 파티션을 자동으로 삭제하도록 만료 일정을 설정해야 하는 경우.
  • To load data to a specific partition without affecting other partitions in the table 테이블의 다른 파티션에 영향을 주지 않고 특정 파티션에 데이터를 로드해야 하는 경우.
  • To delete specific partitions without scanning the entire table 전체 테이블을 스캔하지 않고 특정 파티션을 삭제해야 하는 경우

[Table partition type]

  • integer-range partitioning 정수 범위분할. partitioning column, start value, end value, interval of each range within the partition
  • time-unit column partitioning 시간 단위 열 분할. 해당 열이 date, datetime, timestamp인 경우. 시간별, 일별, 월별 또는 연도별. UTC기준.
  • ingestion time partitioning 수집 시간 분할. 데이터가 BigQuery에 의해 수집되거나 가져오는 시간을 기준으로 테이블 행을 자동으로 파티션에 할당 함. UTC기준.

[Clustered table] 사용자가 클러스터형 열을 사용하여 열 순서를 정의하는 테이블.

[Clustered column] 클러스터형 열은 열 내의 값을 기준으로 저장 블록을 정렬하는 사용자 정의 테이블 속성. 클러스터형 열의 값 순서는 테이블 행이 메모리와 디스크에 저장되는 순서를 결정. 클러스터형 열을 기준으로 테이블에 액세스하는 쿼리의 성능이 향상될 수 있음. 쿼리에 필요한 순서대로 행이 이미 정렬되어 있기 때문.

[Benefits of clustering]

  • Flexible and adaptable
  • Great for columns with tons of unique values. 클러스터링은 고유 값이 많은 열어 적합함으로 쿼리를 통해 더 많은 행을 필터링할 수 있음.
  • Keeps sorting criteria in context 각 작업의 컨텍스트에서 정렬 기준을 유지하여 이를 수정함.
  • Improves query performance and cost 파티션된 테이블읋 클러스터링하는 경우 각 파트션의 데이터는 클러스트링 열을 기준으로 정렬됨.

[Partition pruning] 파티션 정리는 쿼리를 실행할 때 불필요하거나 관련성이 없는 데이터를 고려 대상에서 제거하는 프로세스. 데이터 전문가는 분할 열의 값에 대한 자격 필터를 사용하여 쿼리를 실행함. 이렇게 하면 BigQuery는 필터와 일치하는 파티션만 스캔하고 나머지는 건너뜀.

[Query a time-unit column-partitioned table]

  • 시간 단위 열로 파티션된 테이블을 쿼리할 때 불필요한 파티션을 제거하려면 파티션 열을 기반으로 하는 필터를 사용.
  • BigQuery의 수집 시간 분할 테이블에는 분할 시간이라는 특수 열이 있음. 이 열에는 각 행이 가져온 시점의 UTC가 저장되며, 매시간이나 매일처럼 가장 가까운 파티션 경계로 반올림됨. 이는 타임스템프 값으로 표현됨.
    SELECT *
    FROM   dataset.table
    WHERE
    _PARTITIONTIME BETWEEN TIMESTAMP('2016-01-01') AND TIMESTAMP('2016-01-01')
    
  • 정수 범위로 분할된 테이블을 쿼리할 때 파티션을 정리하려면 정부 범위 분할 열을 기반으로 하는 필터를 포함.
  • 거의 실시간으로 BigQuery에 전송되는 데이터는 할당된 파티션으로 이동되기 전에 쓰기 최적화된 스토리지에 기록됨. 데이터는 임시로 ‘분할되지 않음’이라는 파티션에 저장되며, 이 임시로 분할되지 않은 파티션에서 데이터를 쿼리할 수 있음. 쓰기 최적화된 저장소의 데이터에는 파티션 시간 및 파티션 날짜 열에 null값이 있음.
    SELECT *
    FROMFROM   dataset.table
    FROM   dataset.table
    WHERE
    _PARTITIONTIME IS NULL
    

    이제 분할되지 않은 파티션의 데이터를 쿼리하려면 null 값이 있는 파티션 시간 의사 열을 사용함.

[Best practices for partition pruning]

  • Use a constant filter expression
  • Isolate the partition column in the filter. 필터에서 파티션 열을 분리하는 것. 여러 필드의 데이터가 필요한 필터는 파티션을 정리하지 않음. (예) 대상 Column을 변형(Type Cast등)하지 말것. (음. 이 부분은 당연한 것인데..)
  • Require a partition filter in queries

[Key processes and benefits of Dataproc] Google Cloud Platform에서 빅데이터 처리 작업을 실행하기 위한 완전 관리형 서비스 Dataproc은 일괄 처리, 쿼리, 스트리밍, 머신 러닝을 위한 오픈소스 데이터 도구를 최대한 활용하는 완전 관리형 서비스. Dataproc을 사용하면 사용자는 클러스터를 빠르게 생성하고 쉽게 관리할 수 있음. 필요하지 않을 때는 클러스터를 꺼서 비용을 절감할 수 있음. hadoop과 Spark 클러스터를 사용하면 데이터 분석가는 필요한 수동 작업을 크게 줄이고, 효율적으로 데이터를 처리하고, 잠재적 오류를 완화할 수 있음.

[Key Dataproc processes]

  • Batch processing
  • Querying
  • Streaming: 생성된 데이터를 처리하는 것.
  • Machine learning

[PySpark]

  • A language for creating more automated analyses and pipelines
  • Structured and semi-structured data

[Benefits]

  • Lower cost: 데이터 분석가가 Dataproc을 통합하면 클러스터가 사용하지 않을 때 꺼지기 때문에 더 낮은 비용으로 데이터를 처리할 수 있음.
  • Process speeds up: Hadoop을 통합하여 작업이 여러 대의 머신에 클러스터로 분산되므로 프로세스 속도가 빨라짐.
  • Integration with BigQuery: 데이터 분석가가 모든 분석 요구 사항을 위해 단 하나의 플랫폼만 사용하여 상호 작용할 수 있음을 의미.
  • Fully managed: 분석 시스템에 대한 유지 관리가 필요하지 않음.
  • Ingest data without fail: Dataproc을 워크플로우에 통합하면 데이터 분석가는 하루에 여러 번이나 실패 없이 데이터를 수집할 수 있음.
  • Scale up and down: 클러스터는 확장되거나 축소되므로 조직에서는 필요

Read Count