[0] https://www.timescale.com/
[1] https://blog.dbi-services.com/optimized-row-columnar-orc-for...
Real columnar databases like MemSQL or Clickhouse are a different beast -- for example they give very good column-wise compression in the dataset, which can save dramatic amounts of space. They're also good very for use cases like this, since they're heavily optimized for OLAP style workloads.
There is also cstore_fdw which does offer columnar, compressed storage for PostgreSQL as a foreign table, but it won't hold a candle to something like MemSQL or Clickhouse in terms of raw performance. Maybe one day.
Ultimately it's not about columnar storage or partitioning support, though, it's about the data and the queries you want to run on it, in what amount of time. Timescale can do pretty good for a lot of cases like this I bet, and I'm investigating it myself for a project.
I have been evaluating TimescaleDB and my company currently uses Splunk, ES, and Prometheus. I'm going to be giving Loki a go this weekend for our k8s cluster.
Your explanation here really helped clarify some things I've only explored a bit.
Postgres full text search, and Timescale extension would be ideal for logging kind of application. I could just set data retention to something like 2 months to keep the data volume simple and manageable.
But, all "data explorer" like tools for SQL databases obviously focus on having their end users write SQL. I'm hard pressed to find a good search interface that talks to Postgres at the backend..
It's still focused on SQL but the "Question" flow is quite simple, and doesn't require you to write SQL. You can, of course, write raw SQL if you want to and have those results still visualised.
Metabase seems excellent for building a dash board composed of several SQL based questions, and to generally have a searchable list of questions(which are internally SQL queries). But, searching for logs seems to not be one of its use cases...
Last I used(2 years ago), Postgres weren't able to keep up with it. Though I just use default RDS and didn't do anything to tune it.
I asked myself that question over the past few months and ended up building a proto-type logging pipeline using Postgres/TimescaleDB.
I wrote about it in a blogpost; https://www.komu.engineer/blogs/timescaledb/timescaledb-for-...
Logging in plain text - syslog
Logging to ELK(+indexes)
Logging to a DB like Postgres
Systemd's binary logs
This Grafana Loki
10+ GB/day is big to deal with as you say. But, I'm wondering it would be around the same regardless of your choice above..
With all of the choices though, we can always set staging rules and stage old data out to archives.
Personally, I'm struggling to find an equivalent search UI for Postgres.