For those who don't know, the Aryan Invasion/Colonisation Theory has been thoroughly debunked; and is almost universally understood to be a fabrication of the British to justify their extractive exploitation of India. Any historical text written in the last few decades covering ancient India will attest to this.
Today, it is referred to only by racists and colonialism apologists. jim_inont seems to be one.
I agree with the everything the author says in this article. But their advice includes teaching during code reviews, so the title is misleading. Explaining the 'why' of a code review comment is teaching, nothing wrong with that IMO.
For many workloads it’s on par. Few are slower. Pathological case, working set doesn’t fit in memory allotted to pg but fits in file system page cache. There is not page cache in neon
- Buffer cache evictions of freshly dirtied pages are bad. This is because we request pages with a hint on the latest change was evicted, and with newer and newer changes being evicted from buffers you might start to get limited by the write-through latency to Pageserver instead of only Safekeeper.
- Commit latency can be not great due to cross-AZ communication -- with 3 safekeepers in as many AZs, the second slowest response is the limiting factor
- Write amplification in the whole system is quite high. Plain PG does ~ 2x (WAL + Page), while we have many times that. Admittedly, these writes are spread around several systems, where any one system only really needs to write 1x WAL volume for the data that it is responsible for, but Pageserver is currently configured for something like 4x write amplification due to 4 stages of LSM-tree compaction.
Anything with a write-based working set that fits in the buffers of the primary instance;
Databases that are unused most of the time;
Databases with a lot of read replicas (potentially with Neon only providing the read replicas, not the write node/hot standby);
Apps that want to run analytics on the data, but don't want to transfer O(datasize) data to a different DB every time, and also don't want to deal with the problems of long-running transactions.
Not very suitable:
OLTP with writeset that doesn't fit in the caches;
Love cleartax, maybe I'm a bit biased because it was founded by one of my alumnus (from IITG).
Always love seeing projects that indicate focus on code quality and better practices, esp. from Indian companies.
It shows that despite the general culture of doing more in less, frugality, etc; still someone was able to focus on doing something right and making it open source too!
n=1 but I remember interviewing with them in 2014-15 and their founder (Archit) came across as really lacking humility.
He called people from big companies as lazy (I was coming from a BigCo). At one point, he laughed when I mentioned writing code in a language he felt was outdated.
And of course like any toxic startup they expected me to work 6 days a week.
it's definitely not the norm, though was still relatively common then.
But it was a huge red flag then, and is a bigger red flag today.
Cleartax was also among the "no equity for employees" club though they went back on it after a while if I remember correctly. But yeah, they were not an employee friendly company by any metric then.
Edit: I just searched Blind after writing this and looks like they have maintained the culture