Example - Integration with ClickHouse - 5.2 English - 57404

AOCL User Guide (57404)

Document ID
57404
Release Date
2025-12-29
Version
5.2 English

ClickHouse is an open-source column-oriented DBMS for online analytical processing that allows users to generate analytical reports using SQL queries in real-time. It supports LZ4 compression by default. It also provides a C++ interface ICompressionCodec to integrate third-party compressors with it.

Steps to integrate AOCL-Compression with ClickHouse:

  1. Add AOCL-Compression library source code to contrib/aocl-compression.

  2. Add the parent CMakeLists.txt in AOCL-Compression library to contrib/aocl-compression-cmake.

  3. Create a new compressor in src/Compression/CompressionCodecAocl.cpp. Create a class CompressionCodecAocl by deriving from ICompressionCodec. Override doCompressData() and doDecompressData() methods to call AOCL-Compression unified APIs.

  4. Make necessary changes in programs/compressor/Compressor.cpp to add a new compressor option “aocl”. Make changes in src/Compression/CompressionFactory.cpp and src/Compression/CompressionInfo.h to register the new compressor.

  5. Make necessary changes in CMakeLists.txt in contrib, src, programs and utils to include the newly added compressor.

  6. Build and launch ClickHouse server with “aocl” as compressor.