Spark 3.0부터는 major 버전 업에 걸맞게 많은 변경 사항이 있었습니다. 현재 LightningDB에서는 Spark 2.x대를 사용중인데 3.0으로 업데이트 시 어떤 이점이 있으며, Data Source 부분에 어떤 변경 사항이 필요할지 검토하는 차원에서 Spark 3.0 Feature들을 정리 해보았습니다.
WAIT Command는 REDIS master와 replica 사이의 asynchronous replication 설정 시 발생할 수 있는 데이터 일관성 문제를 보완하기 위한 Command입니다. REDIS 창시자의 블로그의 "WAIT: synchronous replication for Redis" (http://antirez.com/news/66)를 요약, 정리하였습니다.
Redis에서 사용하는 bio thread의 동작에 대해 소개하고, bio thread에서 오류 발생 시 정상적으로 프로세스가 종료되지 않는 이슈에 대해 소개합니다.
Arrow는 Cross language 간에 호환되는 In-memory용 Columnar format입니다. Spark, Dask, Omnisci 등 여러 ecosystem에서 사용 중인 Apache Arrow의 목적, 특징, 장점, 구조 등에 대해 정리해 보았습니다.
Parquet은 Disk에 저장할 목적의 Columnar Format입니다. Parquet는 Data Type별로 적합한 방식으로 Data를 Encoding해 효율적으로 Columnar Data를 저장합니다. 뿐만 아니라, Parquet Data Format은 SQL쿼리 엔진이 Filter Pushdown과 Projection Pushdown을 이용해 쿼리 성능을 최적화할 수 있게 설계되어 있습니다. Parqeut GitHub과 Parquet관련 세미나에서 나온 내용들을 바탕으로 Parquet File 구조, Data Encoding 및 쿼리 최적화 방식에 대해서 정리 해보았습니다.