본문 바로가기

Development20

[AWS] 나도 모르게 빠져나간 금액 환불받기 2월중에 AWS RDS를 사용했었다. 데이터베이스 진짜 한시간은 사용해봤을까? 사용을 마치고 다시 생성하기 귀찮으니까 중지(stop)를 해놨었다. 그런데 4월 2일인가..아침에 눈을뜨니 계좌에서 5만원이 넘게 빠져나갔다고 알람이 왔다. 분명 내가 중지 시켰는데 뭐지?!!! 허겁지겁 AWS를 들어갔다. ??? 저번에 중지 시켜둔 RDS 가 초록불이 뜬채로 계속 돌아가고 있었다.. 다시 중지시키고 삭제하려고 보니까 중지는 7일뒤에 다시 재시작된다는 경고문이 떴다. 아..그땐 왜 못봤을까..... 일단 허겁지겁 고객센터에 문의를 남겼다. 내가 선택한 환불 요청 문의글 케이스는 이렇게 선택했고 문의글을 작성했다. 그리고 다음날 바로 환불과 함께 이메일로 답장이 왔다. "어 니가 말하는거 알아들었고 한번은 봐줄게.. 2022. 4. 4.
[Apache Spark] 스파크의 구조와 실행흐름 이해하기 스파크 애플리케이션의 구조 스파크를 사용하면서 잊지 말아야 하는 점은 데이터는 항상 분산되어 있고 같은 연산을 하더라도 여러 노드에서 작업한다는 점이다. [스파크 구조 설명] 스파크는 작업을 관리하는 드라이버 프로그램과 작업이 실제로 작동되는 워커 노드로 나뉘어 있다. 그리고 중간은 클러스터 매니저가 존재하는데 클러스터 매니저는 드라이버 프로그램과 워커노드를 연결시켜주는 중간다리 역할을 한다. [용어 설명] Driver Program : 개발자가 상호작용 할 수 있는 노드이다. main함수를 실행하고 스파크 Context를 생성한다. Spark Context : 새로운 RDD를 생성하고, 클러스터 매니저와 연결되는 객체이다. Cluster Manager : 드라이버에서 지시받은 작업(리소스)의 스케쥴링과.. 2022. 3. 30.
분산처리의 문제점 분산처리중 신경써야하는 문제점 1. 부분 실패 - 노드 몇개가 프로그램과 상관 없는 이유로 인해 실패 => RDD의 불변한 성질을 이용해 복구가 가능함 => 스파크 내부에서 일어나는 과정이라 크게 신경쓰지 않아도 됨. 2. 속도★ - 많은 네트워크 통신을 필요로 하는 작업은 속도가 저하 => 네트워크 통신을 필요로 하는 코드를 후순위에 두고 작성해야한다. => 네트워크는 메모리 연산에 비해 100만배 정도 느리다. 참고 이미지 2022. 3. 23.
[Apache Spark] 아파치 스파크 배경, 그리고 이해 빅 데이터를 다루기 위해 만들어진 아파치 스파크 아파치 스파크의 배경, 이해 아파치 스파크는 "빅데이터 분산 처리 엔진" 혹은 "빅데이터 오픈소스 분산 처리 플랫폼" 구체적으로는 "인메모리 기반 대용량 데이터 고속 처리 엔진으로 범용 분산 클러스터 컴퓨팅 프레임워크" 이렇게 이해되고 있다. 처음 빅데이터의 개념이 등장했을때 빅데이터 처리는 분산형 파일 시스템을 기반으로 만들어진 하둡(HDFS) 에코시스템이 대세를 이루었다. 그러나 현재는 빅데이터 처리를 실시간으로 필요한 서비스가 늘어나면서 DISK I/O 기반인 하둡이 아닌 인 메모리상에 동작하는 Spark가 주목받기 시작했고, 이제는 빅데이터에서 없어서는 안될 중요한 프레임워크가 되었다. 디스크 블록에서 처리하는게 아닌 인메모리상에서 동작하는 스파크는.. 2022. 3. 22.
병렬처리와 분산처리 병렬처리란? 데이터를 여러개로 쪼개고 여러 쓰레드에서 각자 task를 적용한다. 각자 만든 결과값을 합치는 과정 분산된 환경에서의 병렬처리? 데이터를 여러개로 쪼개서 여러 노드로 분산한다. 여러 노드에서 각자 독립적으로 task를 적용한다. 각자 만든 결과값을 합친다. but 노드간 분산처리의 경우 노드간 통신같이 신경써야 될 것이 늘어나는데 Spark를 이용하면 분산된 환경에서도 일반적인 병렬 처리를 하듯 코드를 짜는게 가능하다. Spark는 분산된 환경에서 데이터를 병렬 모델로 구현해 추상화 시켜주기 때문이다. = RDD RDD.map() * 노드간 통신에 걸리는 지연시간을 주의하며 코드를 작성해야 한다. 2022. 3. 18.
[Apache Kafka] 아파치 카프카란 본 내용은 아래 글들에서 읽고 정리한 것입니다. https://www.redhat.com/ko/topics/integration/what-is-apache-kafka https://kouzie.github.io/kafka/%EC%95%84%ED%8C%8C%EC%B9%98-%EC%B9%B4%ED%94%84%EC%B9%B4/# 아파치 카프카란? 아파치 카프카는 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼이다. 카프카는 초당 수백만 개의 데이터 포인트를 처리할 수 있어서 여러 소스에서 데이터 스트림을 처리하고, 여러 사용자에게 전달하도록 설계되었다. 여기서 여러 사용자는 데이터 처리가 필요한 어느 곳이든 해당 될 수 있다. 아파치 카프카는 시스템 또는 애플리케이.. 2022. 1. 5.