Ideal way to create a timescaledb structure

I am planning to move our entire workload to timescale for storing candlesticks. What will be the ideal way to go about this? I have around 60G in data, and the work load is around 2k rps across all timeframes. I have lowest timeframe as 5sec.

Here are some of the doubts I have

  1. Should I use materialized views/views?
  2. Should I keep seperate databases for historical data (until yesterday) and realtime (which is today’s data being populated every 5 seconds)
  3. Should I calculate candles on the fly instead of using views?
  4. Should I seperate readers and writers to get the expected performance
  5. How to use the candlestick and candlestick_agg hyperfunctions efficiently and should they be used for querying data which are not analytical in nature?