본문 바로가기

SQL11

FastAPI 대량 데이터 처리와 BigQuery 사용한 효과적인 작업 수행 FastAPI에서 대량의 데이터를 다루는 경우, 효과적인 처리를 위해 여러 방법을 사용할 수 있습니다. 주로 고려해야 할 부분은 데이터의 저장, 검색, 전송이며, 이를 위해 비동기 처리, 데이터 스트리밍, 배치 처리, 데이터베이스 최적화 등의 기술을 활용할 수 있습니다. 다음은 대량의 데이터를 효과적으로 다루기 위한 몇 가지 방법과 예제 코드를 제공합니다. 1. 비동기 처리 대량의 데이터를 처리할 때, 요청을 비동기적으로 처리하면 서버의 응답성을 향상시킬 수 있습니다. FastAPI는 Python의 async와 await 구문을 사용하여 비동기 처리를 쉽게 구현할 수 있도록 지원합니다. 데이터베이스 비동기 조회 예시 from fastapi import FastAPI from sqlalchemy.ext.a.. 2024. 3. 28.
Vitess 대규모 웹 서비스 데이터베이스 클러스터링 시스템 Vitess는 대규모 웹 서비스를 위한 데이터베이스 클러스터링 시스템입니다. YouTube에서 개발되었으며, 현재는 CNCF(Cloud Native Computing Foundation)의 산하 프로젝트로 운영되고 있습니다. Vitess의 주요 목적은 MySQL 데이터베이스의 확장성과 관리 용이성을 개선하는 것입니다. Vitess의 주요 특징 확장성: Vitess는 MySQL의 단일 인스턴스 한계를 극복하고, 수십억 개의 행과 수천 개의 쿼리를 처리할 수 있는 확장성을 제공합니다. 샤딩: 자동 샤딩을 통해 데이터를 여러 데이터베이스로 분산시켜 처리 속도와 효율성을 높입니다. 복제와 고가용성: MySQL의 복제 기능을 이용하여 데이터의 안정성과 가용성을 높입니다. 쿼리 최적화: 복잡한 쿼리를 분석하고 최적.. 2024. 2. 25.
PostgreSQL 스키마를 기반으로 PostgREST 통해 API 자동화 생성 PostgREST가 무엇인지 먼저 생각해 봅시다. 현대의 데이터베이스 애플리케이션은 일반적으로 직접 데이터베이스에 연결하여 임의의 SQL 명령을 내리지 않습니다. 일반적으로 그 사이에 어떤 추상화 계층이 항상 존재합니다. 이 계층은 Hibernate 코드 또는 어떤 종류의 API가 될 수 있습니다. 문제는 API를 수작업으로 작성하는 것이 많은 작업이며 귀찮다는 것입니다. 일반적으로 데이터베이스에는 이미 대부분의 정보가 있습니다(필드, 데이터 유형 등). 그러나 수동으로 API를 작성하면 본질적으로 데이터베이스가 이미 알고 있는 것을 중복하게 됩니다. PostgREST는 전혀 다른 접근 방식입니다. 이는 데이터베이스 시스템 카탈로그를 검사하고 데이터베이스에서 API를 자동으로 생성합니다. 충분한 권한이 .. 2024. 1. 9.
인프라 및 클라우드 자산을 Steampipe 쿼리로 통합 관리 Steampipe는 오픈 소스의 인프라 스프레드시트입니다. 이것은 인프라 및 클라우드 자산을 쿼리하고 관리하기 위한 도구로 사용됩니다. Steampipe는 SQL을 사용하여 데이터를 쿼리할 수 있는 경험이 익숙한 사람들을 위해 설계되었습니다. Steampipe는 다양한 모듈 및 플러그인을 통해 다양한 클라우드 제공 업체 및 데이터 소스에 대한 지원을 제공합니다. 이를 통해 사용자는 각종 클라우드 서비스, 데이터베이스, 네트워크 디바이스 등과 같은 여러 환경에서 데이터를 추출하고 분석할 수 있습니다. Steampipe의 핵심 특징은 다음과 같습니다. 표준 SQL 사용: Steampipe는 SQL 쿼리 언어를 사용하여 데이터에 쉽게 액세스할 수 있도록 합니다. 플러그인 아키텍처: Steampipe의 플러그인.. 2024. 1. 5.
Debezium으로 DB(데이터베이스) 동기화 구축 Debezium은 데이터베이스의 변경 사항을 캡처하고 이를 이벤트 스트림으로 변환하는 오픈 소스 데이터 변경 스트리밍 플랫폼입니다. Debezium을 사용하여 데이터베이스 간 또는 데이터베이스와 다른 애플리케이션 간의 실시간 데이터 동기화를 구축할 수 있습니다. 아래는 Debezium을 사용하여 DB 동기화를 구축하는 과정에 대한 기본적인 정보입니다. Debezium 설치 및 설정: 먼저 Debezium을 설치하고 설정해야 합니다. Debezium은 Kafka Connect 플러그인으로 제공되며, Apache Kafka 클러스터를 사용하여 변경 이벤트를 게시합니다. Kafka와 Kafka Connect를 먼저 설치하고 Debezium 플러그인을 추가해야 합니다. 데이터베이스 연결 구성: Debezium은.. 2023. 11. 11.