분류 전체보기114 LZW Compression 이번 포스팅에서는 LZW 압축 알고리즘에 대해 알아보려고 한다. LZW 알고리즘은 Lempel-Ziv-Welch(사람 이름)*의 약자로 무손실 압축 알고리즘이다.* Lempel-Ziv가 만든 LZ78 알고리즘을 개선한 것이다.이 LZW 압축 알고리즘은 단순해서 GIF, TIFF와 같은 파일에 주로 사용되지만 Unix에서 단순 파일을 압축하는 용도로도 많이 사용된다. 그럼 본격적으로 LZW에 대해 살펴보기 전에 간단한 핵심 아이디어를 살펴보면 데이터 공간을 절약하기 위해 패턴을 만들어서 재사용한다. 사실 압축 알고리즘이 패턴을 사용하는 것은 일반적이긴 한데 어떻게 패턴을 만들어서 사용하는지 아래에서 더 자세히 살펴보도록 하자. 일반적으로 ASCII 코드는 각 문자를 8비트로 나타낸다. 때문에 최대 표현할 .. 2019. 2. 18. [AWS] Kinesis Data Streams - Usage 이번 포스팅에서는 Kinesis 데이터 스트림이 어떻게 쓰이는지 실제 아키텍처 및 사례를 확인해 보려고 한다. 그림 1. Overview of Medical Device Use-Case – Real-Time Analytics 그림 1을 확인해보면 Kinesis에서 제공하는 여러 기능을 확인 할 수 있다. 이 중에서 4번을 면밀히 살펴보면 Kinesis 데이터 스트림이 적용된 것을 확인 할 수 있다. (여기서 공급자는 Kinesis Analytics이고 소비자는 Lambda이다.)간단한 Flow를 살펴보면 Analytics에서 파악한 Anomaly 점수를 데이터 스트림으로 보내고 비즈니스 로직을 처리하는 Lambda에서 점수를 바탕으로 경보를 발생하기 위해 SNS에게 데이터를 전달하는 구조이다. 즉, Io.. 2019. 2. 16. [AWS] Kinesis Data Streams - Internals 이번 포스팅에서는 Kinesis 데이터 스트림의 내부를 살펴보려고 한다.(참조에서 언급된 자료는 발표 자료를 바탕으로 한다. 그림 1. Kinesis Capacity Kinesis 스트림에 레코드가 들어왔을 때, 그림 1에서 보는 것처럼 기본적으로 레코드에 접근할 수 있는 시간은 24시간이다.그렇지만 최대 168시간 (7일) 까지 늘릴 수 있다. (시간이 늘어나면 비용 또한 늘어난다는 것을 고려해야 한다.) Kinesis는 자체적으로(?) KPL(Kinesis Provider Library), KCL(Kinesis Consumer Library)를 제공하고 있다. 해당 라이브러리는 High Level API로 공급자와 소비자 측에서 Kinesis를 손쉽게 사용 할 수 있게 한다.그런데 https://gi.. 2019. 2. 16. [AWS] Kinesis Data Streams - Overview AWS에서는 실시간 데이터 스트리밍 (Data Streaming)을 처리하기 위한 Kinesis 라는 서비스가 존재한다.실시간 데이터를 처리하기 위해서는 내부적으로 프로비저닝 (Provisioning)이 잘 이루어져야 하는데 Kinesis는 완전 관리형 (Full Managed) 서비스로 사용자는 내부 인프라에 대해서는 신경을 쓰지 않아도 된다. 이러한 Kinesis 서비스는 아래와 같이 4 가지 기능을 제공한다.- Video Streams- Data Streams- Data Firehose- Data Analytics서비스로서 다양한 기능을 제공하지만 이번 포스팅에서는 Data Streams에 대해서만 알아보려고 한다.(개략적으로 알고 싶다면 https://aws.amazon.com/ko/kinesis.. 2019. 2. 15. 이전 1 ··· 20 21 22 23 24 25 26 ··· 29 다음