A selection of FAQs from Timescale Office Hours. During recent sessions we discussed speeding up queries, performance tuning, storing metrics, and more.
As a reminder, we run open office hours a few times a month to give users an opportunity to ask any questions they might have about TimescaleDB. We’ve found these office hours to be a great informal way to 1) discuss use cases and 2) serve as a way for our community to share knowledge. Below we will share a selection of questions from our last two sessions.
[Interested in signing up for office hours? Follow this link for more information.]
What is the best way to handle LIKE queries on text fields?
You can build indexes on text field queries, but remember that indexes only help when your LIKE queries search from foo%. They won’t help if you search for %foo. An interesting alternative is to consider using something like pg_trgm, which is a PostgreSQL extension that supports fuzzy string matching.
Is there anything specific you should do to speed up GROUP BY queries with TimescaleDB?
No, in this case, you should treat the indexes you build for TimescaleDB similarly to how you would build indexes for PostgreSQL.
How should I tune my hardware for better performance?
In the generic case, run timescaledb-tune. For larger workloads, you may want to consider increasing your max connections limit.
Do you see performance issues when running with Docker?
Many of our users run with Docker, and we haven’t observed running Docker to be the source of performance issues.
When should I scale out to multiple machines?
TimescaleDB currently supports read replicas, which lets you scale out reads. For larger workloads with multiple concurrent connections running read-only queries, read replicas are a good option.
What do you recommend using for compression?
We see users successfully using ZFS and getting 3-8x better compression. This is actually a focus for an upcoming release of TimescaleDB where early tests show 25x better compression.
For storing metrics, does TimescaleDB work well with Zabbix?
Yes! Zabbix recently added TimescaleDB support with their latest release. If you are already using vanilla PostgreSQL with Zabbix, TimescaleDB can boast some significant performance improvements. For more information about the integration, check out Zabbix’s blog.
Is there a way to send metrics to TimescaleDB directly from the source?
There’s a few viable options (i.e. Kafka and Prometheus), but a new method we are excited about is the PostgreSQL & TimescaleDB plugin for Telegraf. You can learn all about it from our blog post.