Grisha Trubetskoy
grisha.org · Personal blog · on HN since 2013
Grisha Trubetskoy, a developer, writes about time series storage, forecasting, PostgreSQL, Go, and the Tgres time series database.
What HN saysHN links it for time series storage and Tgres, offered as an alternative to Graphite and RRD-style tools, plus a few other technical posts.
27HN people shared it
13linked it in comments
41stories submitted
589story points
5 years agolast shared
2013people per year2026
Most-shared posts
- 1Holt-Winters Forecasting for Dummies6 people · 10 points · first shared 2016 · discussion on HN
- 2Storing Time Series in PostgreSQL Efficiently – Grisha Trubetskoy5 people · 4 points · first shared 2015 · discussion on HN
- 3Tgres – Time Series with Go and PostgreSQL4 people · 19 points · first shared 2017 · discussion on HN
- 4Linus on Understanding Pointers4 people · 11 points · first shared 2013 · discussion on HN
- 5Building a Go Web App in 20173 people · 23 points · first shared 2017 · 8 comments on HN
- 6Proof-Of-Work is a Decentralized Clock2 people · 246 points · first shared 2018 · 124 comments on HN
- 7Introducing Tgres – A Time Series DB on Top of PostgreSQL2 people · 17 points · first shared 2016 · discussion on HN
- 8My Thoughts on WSGI2 people · 3 points · first shared 2013 · 1 comments on HN
- 9Relational Database on top of Key/Value store explained2 people · 3 points · first shared 2013 · discussion on HN
- 10Graceful Restart in Golang2 people · 2 points · first shared 2014 · discussion on HN
- 11SQLite DB stored in a Redis Hash2 people · 2 points · first shared 2013 · discussion on HN
- 12Storing time seris in postgresql optimize for write2 people · first shared 2017
- 13Bitcoin value 22 people · first shared 2017
- 14Electricity cost of 1 bitcoin2 people · first shared 2017
- 15Mod_python - the long story1 people · 147 points · first shared 2013 · 33 comments on HN
What HN people wrote when they linked it
gtrubetskoy · 2015-06-30
The subject of Time Series has lately been on my mind as well, see my blog posts on accuracy of Graphite vs RRD, as well as InfluxDB storage: http://grisha.org/
I am leaning towards none of the above being the best solution and am in the process of writing my own (too early to announce yet).
sciurus · 2017-04-04
If your main use case for timeseries is a graphite/statsd replacement, another PostgesSQL-based project worth looking at is tgres.
https://grisha.org/blog/2017/03/22/tgres-0-dot-10-dot-0b-time-series-w…
https://github.com/tgres/tgres
Blackstone4 · 2018-05-23
I used to be a Java dev (6 years ago)...
Over the last year I've been learning JavaScript + React (frontend) and TypeScript + Node.js (backend) for a side project. At times it's great because you can cobble together all these small modules to build something really quickly and other times.... everything gets updating so often and apis change.....oh I'm going to create a new project.... xyz module needs dependency abc...blablabla.
Also JS on the server is synchronous which is not natural for me to write it. I end up using async/await everywhere except for a few places.
So I've been thinking about to concentrating on a more stable eco-system so I can really master it. With that in mind, I've started learning Golang. Great if you're interested in web servers and distributed systems. It makes concurrency easy and it runs fast. Check out this post: https://grisha.org/blog/2017/04/27/simplistic-go-web-app/
For data you could use Python (#1) but I understand Golang is also a respectable in this arena but probably not the best.
gigatexal · 2019-10-05
jasode · 2017-12-08
A recent September 2017 blog[1] estimated electricity mining costs to be ~$19k. (I don't know if bitcoin community has adjusted the hashing difficulty since September 2017 to maintain the 10-minute block rate.)
Are there realistic scenarios where the sustained value of bitcoin exceeds the mining costs?
What was the mining cost of 1 BTC in May 2010 when the famous request for 2 pizzas[2] for 10000 bitcoins was made?
[1] https://grisha.org/blog/2017/09/28/electricity-cost-of-1-bitcoin/
[2] https://bitcointalk.org/index.php?topic=137.0
g09980 · 2017-11-02
A post [1] shared a couple of days ago made a thesis that BTC price needs to grow for it to become a viable "store of value." Maybe this is what we are seeing.
"Market cap size is critical for adoption of a store of value. It needs to be large enough to “fit” even very large amounts of fiat, ideally without affecting the market. Gold market cap is estimated at 7 trillion USD, which means that even the richest people can move all their assets into gold and not move the market. (At least one at a time. All of them at once will move the market big time).
Bitcoin market cap of about 70B USD is not large enough for even one of the richest people on the planet. This implies that if the market cap does not grow, Bitcoin is likely to fail as store of value."
[1] https://grisha.org/blog/2017/09/25/bitcoin-value-2/
daurnimator · 2017-08-11
Could you contrast this with the approaches mentioned in the series of blog posts starting here: https://grisha.org/blog/2015/09/23/storing-time-series-in-postgresql-e…
That blog post grew to be tgres http://github.com/tgres/tgres https://grisha.org/blog/2017/03/22/tgres-0-dot-10-dot-0b-time-series-w…
rohannair · 2017-08-11
The guy wrote something about TimescaleDB as well: https://grisha.org/blog/2017/07/13/timescaledb/
riku_iki · 2017-08-11
> Regarding native storage, the insert rate really goes down as your table gets large, e.g., Timescale gets 20x higher throughput than PG: https://blog.timescale.com/timescaledb-vs-6a696248104e
I actually looked at this benchmark briefly, but couldn't find what kind of PostgreSQL schema you used there.
Did you use similar array based schema as was described by Tgress author in his post? https://grisha.org/blog/2015/09/23/storing-time-series-in-postgresql-e…
ash · 2017-04-24
> ... why this kind of data and/or problems require specific software and why it can't be handled by traditional RDBMs?
There's Tgres, that stores time series in Postgres, efficiently (using Postgres arrays and views):
https://github.com/tgres/tgres
https://grisha.org/blog/2017/01/21/storing-time-seris-in-postgresql-op…
tenken · 2017-04-18
They have thousands of object types.
I don't know what format they serialize to; native object, XML, json...
But here is an example tool that can do migrations via XML serialized data for Java. As an intermediary step in the XML serialization they create a document of XML that simply contains a version attribute alongside the schema. A similar approach would work for other serialization formats (json, native, etc).
https://dzone.com/articles/migrate-serialized-java
Edit:
I'll bet they use something like Across internally:
https://grisha.org/blog/2013/06/06/avro/
vngzs · 2021-12-09
Surprised no one seems to have mentioned the godfather of CS books, The C Programming Language by Brian Kernighan and Dennis Ritchie [0]. At first glance, it's a programming language book rather than a "computer science" book, but you probably won't think that by the time you're finished ...
First, every operating system you'll use - likely in your lifetime - is a giant mountain of C code. From the kernel all the way to the userspace utilities. As a programmer, your career will be forged on the shoulders of giants, and those giants wrote in C. So to understand how your machine works, you must learn C.
Second, K&R covers far more than just a language - it presents a system of thinking about computing. It covers algorithms for line counting, memory allocation, and the construction of linked lists. The techniques you learn for pointer manipulation will enable you to author implementations of data structures that are considerably more elegant and simple than the naive methods [2].
It contains fundamental, influential insights about the computer science field on nearly every page.
Still, I'd discourage you from writing C professionally if you can help it. Rust retains nearly all the advantages of C while abandoning its unsafe memory model and replacing it with compile-time determined allocations and de-allocations. As roughly 70% of CVEs in C or C++ projects are caused by memory unsafety, this is a significant feature [1]. But the insights you make in studying K&R will…
imglorp · 2019-05-04
I'm looking for this too. Advice welcome. AWS managed time series is not a thing.
Timestream has been in preview for too long. Does that mean they're having trouble with productizing it?
You can host anything in OP article in EC2 but you don't get the managed features. PLUS most of those (eg timescale and influxdb) are seriously priced for serious features like clustering/scaling/HA.
Plain Old Posgres is not awful for TS [1] but I'm also looking for something better.
At $work, we're considering Plain Old Elastic, which is a managed service. It scales well and if you don't have mountains of data, there shouldn't be surprises. If you do have mountains of data, and you can tolerate older stuff being slower in archive, you can throw it in S3 and query it with Athena, while keeping the faster stuff in ES or Dynamo.
https://grisha.org/blog/2015/09/23/storing-time-series-in-postgresql-e…