What tests did you run that made you feel like duckdb is faster than ch? I did not get the same results at all but it heavily depends on what you test. I used the NY taxi dB to run analytics and ch was always faster than duckdb sometimes orders of magnitude faster. Also, for data streams as well as reads and writes of large timeseries did ch perform better. But I did spin up multiple clients, multithreaded. It scales exceptionally well.
Another advantage is that ch interfaces with many visualization tools, such as grafana. Not sure duckdb does so, too.
I managed to use ch as backend storage for timebase. I now have one single solution across the board that handles live data streams, off which I can run trading algorithms and/or persist the incoming data to disk/db,and I can use the very same platform to request timeseries from ch that are streamed through timebase for backtests. I migrate to an integrated platform that allows me to use the exact same technology whether I profile new ideas, test ideas or implement and trade algorithms, all on the same architecture. Plus I can do so either via Python or C++ or C# without changing a thing in terms of data storage and event processing. Plus I can quickly load any filtered ticks/bars/whatever into Polars dfs. No more wasted time with static and pricing data. Plus timebase comes from a highly respected house and specializes in highly performant financial trading and risk management solutions. Their code generator saves a lot of time creating pocos and other boiler plate code.
That makes me strongly favor timebase/ch over other solutions in open source space. Time will tell whether this particular solution makes it eventually into my production architecture but I am quite optimistic atm.