전체 글 1383

[스마트팜] 나는 왜 농업(스마트팜)에 관심을 가지게 되었나?

[스마트팜] 나는 왜 농업(스마트팜)에 관심을 가지게 되었나? “후진국이 공업 발전을 통해 중진국이 될 수는 있으나 농업 발전 없이는 선진국이 될 수 없다” - 사이먼 쿠즈네츠 (노벨 경제학상 수상, 1971) - 한국은 불과 한 세대 전까지만 해도 농업이 주류였다. 그러나 산업화 과정을 겪으면서 많은 사람들이 도시로 몰렸고, 그 결과 농업에 대한 관심 및 인구가 급격하게 줄기 시작했다. 그리고 언제부턴가 농업은 사양 산업으로 인식되었다. 이러한 현상은 비단 우리나라 뿐만 아니라 전세계적으로 산업화 과정에서 발생하는 자연스러운 현상이었다. 산업화의 발달과 함께 의식주 및 위생, 공중보건, 의료 서비스 등이 발전하면서 과거에 비해 질병으로 인한 사망자 감소와 함께 평균 수명 증가로 인해 인구 또한 지속적으..

스마트팜 일기 2023.03.18

[AWS] AWS Redshift 실행된 쿼리 및 Slow query 확인

[AWS] AWS Redshift 실행된 쿼리 및 Slow query 확인 l Version : AWS Redshift, Redshift Serverless AWS Redshift에서 특정 시간이상 실행된 쿼리 또는 사용자에 의한 취소 쿼리 목록 및 실행시간, 실행된 쿼리 등을 확인하는 방법에 대해서 알아본다. 아래 스크립트는 3초 이상 실행된 쿼리 목록을 확인하여, WHERE 부분을 수정하여 사용자에 필요한 시간으로 변경하여 사용할 수 있다. 조회 결과는 오래 수행된 쿼리의 내림 차순으로 표시되며, S3 spectrum을 사용할 경우 외부 테이블에 대한 사용 정보도 함께 나태낸다. 쿼리 결과에서 elapsed_time은 전체 쿼리가 수행에 걸린 시간을 나타내므로 해당 시간이 클수록 느린 쿼리라고 판단할..

AWS 2023.02.19

[AWS] AWS Redshift Serverless 사용량을 확인하여 빌링비용 예상하기

[AWS] AWS Redshift Serverless 사용량을 확인하여 빌링비용 예상하기 l Version : AWS Redshift Serverless AWS Redshift Serverless는 사용한 RPU (Redshift Serverless는 리소스 단위로 RPU 라는 것을 사용한다.) 만큼의 비용이 발생하는 구조이다. 그렇다면 사용자가 쿼리를 실행하였을 때, 얼마만큼의 RCU를 사용하였는지 확인하여 예상 빌링 비용을 산출하는 방법에 대해서 알아본다. AWS Redshift Serverless 환경에서 쿼리를 실행을 완료한 다음, SYS_SERVERLESS_USAGE 라는 시스템 테이블을 확인하면, 서버가 실행된 시간과 그 때 사용된 리소스 사용량을 확인할 수 있다. select * from s..

AWS 2023.01.12

SQL Server DELAYED_DURABILITY 옵션으로 트랜잭션 로그 쓰기 성능 개선 하기

SQL Server DELAYED_DURABILITY 옵션으로 트랜잭션 로그 쓰기 성능 개선 하기 l Version : SQL Server SQL Server 데이터베이스에는 모든 트랜잭션과 각 트랜잭션에 의해 적용된 데이터베이스 수정 내용을 기록하는 트랜잭션 로그가 있다. 트랜잭션 로그는 데이터베이스의 매우 중요한 요소로 시스템 오류가 발생한 경우 데이터베이스를 일관된 상태로 다시 전환하려면 이 로그가 필요하다. l 트랜잭션 로그 아키텍처 : https://learn.microsoft.com/en-us/sql/relational-databases/sql-server-transaction-log-architecture-and-management-guide?view=sql-server-ver16 데이터베이..

SQL Server 에서 AWS S3에 직접 백업하기

SQL Server 에서 AWS S3에 직접 백업하기 l Version : SQL Server 2022 SQL Server 2022부터는 데이터 플랫폼에 통합 오브젝트 스토리지를 도입하여 Azure Storage외에도 AWS S3 호환 오브젝트 스토리지도 사용할 수 있다. 즉, SQL Server에서 AWS S3로 직접 백업을 할 수 있게 되었다. 기존 SQL Server 2019의 경우 Microsoft Azure 저장소만 가능 하였다. SQL Server 2022 부터 도입된 S3 REST API는 SQL Server에서 AWS S3 직접 백업, 복원을 할 수 있어, 백업 후 이동에 따른 프로세스 단축 및 대용량 백업을 진행할 경우에도 로컬 공간이 부족하여도 백업을 진행할 수 있게 되었다. 지원되는 ..

[AWS Aurora] Aurora PostgreSQL Auto Vacuum 이해하기

[AWS Aurora] Aurora PostgreSQL Auto Vacuum 이해하기 l Version : AWS Aurora PostgreSQL PostgreSQL은 오픈소스 관계형 데이터베이스로 AWS PostgreSQL은 오픈소스 데이터베이스를 완전 관리형 데이터베이스 서비스로 제공한다. l Amazon Aurora : https://aws.amazon.com/ko/rds/aurora/ 많은 사용자들이 PostgreSQL(이하 PG)을 사용할 때 Vacuum 동작으로 인해 예상하지 못한 성능 하락 문제를 겪고 있는데 Vacuum이 수행되었을 때 발생하는 문제는 무엇이 있는지, 그리고 이러한 문제를 최소화하기 위한 전략이 무엇이 있는지에 대해서 알아본다. [Vacuum 은 왜 하는 것일까] Vacuu..

AWS 2022.10.27

[AWS Aurora] Aurora Parallel Query 활성화 방법 및 특징

[AWS Aurora] Aurora Parallel Query 활성화 방법 및 특징 l Version : AWS Aurora Amazon Aurora MySQL 병렬 쿼리는 데이터 집약적인 쿼리 처리에 수반되는 I/O 및 컴퓨팅의 일부를 병렬화 하는 최적화 작업이다. 병렬화되는 작업은 스토리지로부터 행 검색, 열 값 추출, 어떤 행이 WHERE 절 및 JOIN절의 조건과 일치하는지 판단한다. 데이터 집약적인 작업은 Aurora 분산 스토리지 계층의 여러 노드에 위임(푸시다운)되고 병렬 쿼리가 없으면 각 쿼리가 스캔한 모든 데이터를 Aurora MySQL 클러스터(헤드노드)내의 단일 노드로 가져오고 거기에서 모든 쿼리 처리를 수행한다. 병렬 쿼리 기능을 설정하면 Aurora MySQL 엔진이 힌트 또는 테..

AWS 2022.07.25

[AWS Aurora] Aurora Global Database를 사용한 Cross-Region 장애조치

[AWS Aurora] Aurora Global Database를 사용한 Cross-Region 장애조치 l Version : AWS Aurora Amazon Aurora Global Database는 여러 AWS 리전에 걸쳐 있고 대기 시간이 짧은 글로벌 읽기를 지원하기 때문에, 전세계 지역에서 실행되는 애플리케이션들은 가까운 리전의 Aurora Global Database에서 서비스를 제공받기 때문에 안정적이며 빠른 서비스를 제공할 수 있다. 또한 Aurora Global Database는 데이터를 마스터링하는 하나의 기본 AWS 리전 및 최대 5개의 읽기 전용 보조 AWS 리전으로 구성되기 때문에, AWS 리전에서 장애 발생시 신속하게 다른 리전으로 복구할 수 있다. Aurora Global Dat..

AWS 2022.07.24

[AWS Aurora] Aurora 스토리지 특징 요약

[AWS Aurora] Aurora 스토리지 특징 요약 l Version : AWS Aurora Amazon Aurora 스토리지는 SSD(Solid State Drive)를 사용하는 단일 가상 볼륨인 클러스터 볼륨에 저장된다. 클러스터 볼륨은 동일한 AWS 리전에 속한 세 가용 영역의 데이터 사본으로 구성되어 있다. l Aurora Storage Engine : https://sungwookkang.com/1488 가용 영역에서 데이터는 자동으로 복제되기 때문에 디스크 결함으로 인한 데이터 손실 가능성을 최소화 한다. 또한 클러스터 볼륨을 구성하는 디스크 볼륨에서 장애를 자동으로 감지한다. 예를 들어 볼륨 세그먼트에 결함이 발생하면 Aurora가 즉시 해당 세그먼트를 복구한다. Aurora가 디스크 세..

AWS 2022.07.11

[AWS Aurora] Aurora DB 클러스터 엔드포인트 연결 종류 4가지

[AWS Aurora] Aurora DB 클러스터 엔드포인트 연결 종류 4가지 l Version : AWS Aurora Amazon Aurora DB Cluster는 하나 이상의 DB 인스턴스와 이 DB 인스턴스의 데이터를 관리하는 클러스터 볼륨으로 구성된다. Aurora 클러스터 볼륨은 다중 가용 영역을 아우르는 가상 데이터베이스 스토리지 볼륨으로 각 가용 영역에는 DB 클러스터 데이터의 사본이 있다. l 기본 DB 인스턴스 : 읽기 및 쓰기 작업을 지원하고 클러스터 볼륨의 모든 데이터 수정을 실행한다. Aurora DB 클러스터마다 기본 DB 인스턴스가 하나씩 있다. l Aurora 복제본 : 기본 DB 인스턴스와 동일한 스토리지 볼륨에 연결되며 읽기 작업만 지원한다. 각 Aurora DB 클러스터는..

AWS 2022.07.10