반응형

Avro 3

Kafka Schema Registry

개요 - Schema Registry는 Kafka와 별도로 동작하는 프로세스이며, Kafka에서 발생하는 Message에 대한 Schema를 관리하는 역할을 가진다. - RESTful 인터페이스로 동작한다. - Confluent에서 공개한 오픈소스 (Hortonworks, Spring Cloud Stream 도 있음) Confluent Schema Registry 목적 데이터 호환성을 유지 및 관리하기 위해서 개발되었다. producer, consumer가 많을 수 있는 분산 시스템 환경에서, 데이터에 대한 호환성을 유지하기 위함 또한 schema에 대한 관리를 하기 위함. (data governance, 정확성, 신뢰성) 장단점 장점 단점 스키마 변경 시 발생하는 오류 방지: 메시지에 대한 변경이 일어..

개발 일지 2023.05.23

Apache Avro 란

Avro Avro 란 Avro란 Apache에서 만든 프레임워크로 데이터 직렬화 기능을 제공한다. JSON과 비슷한 형식이지만, 스키마가 존재한다. Avro = schema + binary(json value) 장단점 장점 단점 스키마를 통해 데이터 구조 및 타입을 알 수 있다. 데이터 압축 스키마 변경에 유연하게 대응 가능 binary로 serialize 되어서, 디버깅 등 상황에서 데이터 확인에 어려움이 있다. 스키마에 대한 관리가 필요하다 (관리 포인트 증가) DataType Primitive null boolean int long float double bytes string Complex record name (M): name of record, String namespace (O): 패키지, ..

개발 일지 2023.05.22

Kafka 압축 방식 성능 평가

개요 Kafka는 대용량 메시지 처리를 상정하고 개발 된 시스템이다. Kafka는 토픽으로 전송 받은 메시지를 로그 형식으로 저장하고 있으며, 이를 압축하는 기능을 제공한다. 3가지 압축방식을 지원하는데 압축에 따라서 메시징 성능에 영향을 끼친다. 압축 방식 Snappy Google에서 C++을 사용해 개발한 압축 라이브러리 적정 수준의 압축률에 빠른 압축 및 해제를 목표로 개발됨 일반적으로 초당 250MB 압축 CPU 사용률이 상대적으로 적고 빠름 압축률은 상대적으로 낮음 Gzip UNIX 시스템에서 쓰이던 압축 프로그램을 대체하기 위해 개발됨 무손실 압축 지원 ZIP과 같은 DEFLATE 알고리즘 사용 여러 파일 압축을 지원 안해서 tar와 같이 사용됨 Lz4 빠른 무손실 압축 및 해제 속도를 목표로..

개발 일지 2023.04.13
반응형