Live data from Hacker News

My manager spent $1M on a backup server that I never used

blog.dijit.sh

101–110 of 244 posts

Re: My manager spent $1M on a backup server that I never used

#101
post #89

> The games industry is weird: It simultaneously lags behind the rest of the tech industry by half-a-decade in some areas and yet it can be years ahead in others. I'd love to see examples of "ahead" coz I literally never saw it. Game dev studios act like automated testing is a new thing... > PostgresSQL performed much better and had the additional benefit of being able to cleanly split write-ahead logs (which are lar…

> I'd love to see examples of "ahead" coz I literally never saw it.

Game developers were deeply aware of data-oriented design and optimizing code and data structures for efficient CPU cache usage well before I saw most other areas of industry aware of it. You can find counter-examples, of course, but overall, this is an area of performance that many game developers understand in their bones, and many programmers outside of games—even ones who care a lot about performance—are oblivious too.

Re: My manager spent $1M on a backup server that I never used

#102
post #93
post #80

Earlier quoted context omitted.

> Always pisses me off. University teaches the principles of ACID and how hard databases work to adhere to these principles, and then so called "NoSQL" comes along and says "lol we have eventual consistency". 99% of the organisations that pride themselves on using "real databases" and ACID aren't actually using those guarantees or gaining anything out of them. Transactions are inherently useless in a web service, for…

> Transactions are inherently useless in a web service, for example, because you can't open the transaction on the client, so the part of the system where the vast majority of consistency issues happen (the client server communication) will always be outside the transaction boundary. I think I need more help understanding this. In terms of ACID, a consistency issue is something like, for example: "The client ordered…

> In terms of ACID, a consistency issue is something like, for example: "The client ordered an item, and the count of item availability was reduced by 1, but no actual order was saved in the database. An item is now 'lost' with no trace of where it went and how it disappeared."

> There is even another consistency hazard right in this very example: "The count of item availability was supposed to be reduced by 2 because 2 items were ordered by different clients at a same time, but a race condition (the two transactions both individually reading the same old value before writing back the new value) led to the item count only reduced by 1. There is now an extra item 'available' that does not exist."

You don't need ACID to solve that kind of problem though; event sourcing and eventual consistency handles it fine. What you need ACID for is synchronous transactions; for example you want to check that both item A and item B are available, order both of them, and have it either both orders go through or neither of them, even though those are separate orders to separate tables (of course if you have a concept of an "order" as a first-class entity then you can trivially solve this - but again, in that case you don't need ACID at all).

> Care to elaborate how transactions are "inherently useless" in a web service here, and how the consistency issue happens "between client and server" communication?

So the example above - the whole point of ACID is to let you do two separate things at once, e.g. you want to open the page for item A and for item B, check that both are available, and then order them both on their respective pages. With an old-fashioned synchronous client-server system with a dedicated fat client you could do that, but on a web system obviously it's not possible (other than by creating some kind of "batched request" or "combined order" concept for doing both orders in the same request - but again, once you've done that you don't need ACID at all) because there's no way for the client to do two page loads in the same transaction.

Re: My manager spent $1M on a backup server that I never used

#103
post #80

Earlier quoted context omitted.

> Always pisses me off. University teaches the principles of ACID and how hard databases work to adhere to these principles, and then so called "NoSQL" comes along and says "lol we have eventual consistency". 99% of the organisations that pride themselves on using "real databases" and ACID aren't actually using those guarantees or gaining anything out of them. Transactions are inherently useless in a web service, for…

> the part of the system where the vast majority of consistency issues happen This is survivorship bias: the reason the vast majority of consistency issues happen between the client and the server is _because_ the server can eliminate issues on its side with transactions and similar.

No, you're inherently a lot more likely to get inconsistency over the higher-latency and less-reliable public internet that between the server application and database that are probably sitting in the same rack, if not on the same machine.

Re: My manager spent $1M on a backup server that I never used

#104
post #8

My manager doesn't do almost anything. I wonder why they keep him around. He has like two reports and we're both fully self-directed. He can't understand technical issues, and whenever he proposes something, it's completely untenable due to his lack of understanding what's useful or possible.

It is definitely possible they indeed don't do anything. Fwiw though - a decade ago when I was a sysadmin I had a manager that I was certain never did anything. And then he was replaced. And then... We realized how much politics, uncertainty, churn, screaming, changing requirements, ambiguous priorities and other carp he protected us from :-/ Not saying it's the case with your manager. But managers have duties roles…

> And then... We realized how much politics, uncertainty, churn, screaming, changing requirements, ambiguous priorities and other carp he protected us from :-/

Over years I've noticed like 80% of those is because other managers are terrible and it so happens that the dept. I'm in takes some of the fallout of their mess.

Re: My manager spent $1M on a backup server that I never used

#105

Earlier quoted context omitted.

While theoretically true, it's so often not the case that I'm not surprised people just use the headline to infer what the article explains.

It may be wiser to stop reading, plug your ears with wax, and hide in your room until death takes you. If you can't read for pleasure on the site you are reading for pleasure, something is wrong.

Are you having a bad day?

Re: My manager spent $1M on a backup server that I never used

#106
post #61

Earlier quoted context omitted.

It is very frustrating that many of the NoSQL databases aren't ACID. Some even say they are, but they aren't. Frustrating to me because we have one that is, and it's a lot of work and harder to win benchmarks against the ones that fake it or aren't.

which one is that?

AllegroGraph. Written in Common Lisp.

Re: My manager spent $1M on a backup server that I never used

#107
post #80
post #44

> and begin real investigation you will quickly find that many databases that are popular are totally fine losing data. MongoDB being the most famous example that I can think off of the top of my head. Always pisses me off. University teaches the principles of ACID and how hard databases work to adhere to these principles, and then so called "NoSQL" comes along and says "lol we have eventual consistency".

> Always pisses me off. University teaches the principles of ACID and how hard databases work to adhere to these principles, and then so called "NoSQL" comes along and says "lol we have eventual consistency". 99% of the organisations that pride themselves on using "real databases" and ACID aren't actually using those guarantees or gaining anything out of them. Transactions are inherently useless in a web service, for…

> Transactions are inherently useless in a web service, for example, because you can’t open the transaction on the client

(1) There is no reason you couldn’t, in a stateful, connected web app (or a stateful web service) open backend DB transactions controlled by activity on the client. You probably don’t want to, because, “ew, stateful”, and would prefer to use compensation strategies to deal with business transactions that span beyond a database transactions, but you could.

(2) The conclusion “transactions are inherently useless in a web service” does not follow from the premise “you can’t open the transaction on the client”. They are just two completely unrelated things that you’ve glued together with “because”. I write web services. The backends very often need a consistent view of state and to be able to assure that a sequence of mutating operations against the DB are applied all or nothing; transactions do both of those things. The fact that transactions are opened from the backend doesn’t make them useless.

> the part of the system where the vast majority of consistency issues happen (the client server communication) will always be outside the transaction boundary.

“Consistency issues” in the ACID sense do not (cannot, in fact, since “consistency” is a property of database state) happen anywhere other than inside the database. Client server communications have all kinds of issues, but ACID;s C is not one of them.

> ACID fanboys love to talk about how all the big name internet companies are built on RDBMSes

Nah, actually, as an “ACID fanboy”, I’ll say that most big name internet companies were not built on ACID systems, and that if you are running a big internet company you have a much greater than usual chance of (1) having a case with a tradeoff that really does call for a non-ACID system, (2) having to invent revolutionary new technology if it turns out you actually do need an ACID system, because OTS RDBMS’s don’t scale the way you need.

But for everyone else, you probably aren’t Google.

> If MongoDB had come first and SQL/ACID RDBMSes had come after,

While they weren’t MongoDB, specifically, non-relational, non-ACID, key-value stores where the “value” could be arbitrary data did exist before RDBMS’s. OTOH, users of MongoDB and other similar NoSQL system have often discovered that, oh yeah, they do want the things RDBMS’s provide, which is why the pendulum swung somewhat back in the RDBMS direction after peak NoSQL hype.

NoSQL has its place, too, but the relational model and ACID guarantees actually do solve real problems.

Re: My manager spent $1M on a backup server that I never used

#108

Earlier quoted context omitted.

I'm beginning to think that making more money by becoming a better developer is hard, and that managing, while difficult in a totally different way, is less hard. At least for the money.

Having been both, being a really good manager is hard in a very different set of ways. Depending what itch you're trying to scratch, and what opportunities are available in your org, it might be just as rewarding to be a tech lead, feature lead, mentor, cross-team liaison, steering committee member, or possibly other roles rather than team lead / manager.

Yes, this.

The only time I'm OK with being in a manager role is in my own company. Working for someone else, you couldn't pay me enough to do that job. That's because I'm a dev to the core, that's where my interest and skills are. Being a manager is a different beast entirely and, while I can do it, I find it very unpleasant.

Re: My manager spent $1M on a backup server that I never used

#109
I can comment directly on this as I work in the backup sector. First hand knowledge, yada yada yada.

Dell EMC DataDomains do have good ingest performance, you can typically throw hundreds of streams at them and they'll greedily gulp it down.

And it is true that they are dog slow at restoring data. The reason? They are deduplicating appliances, you have to rehydrate the data, and this can take a very long time depending on the number of blocks needed that constitute the backup. Some blocks may be shared between hundreds if not thousands of backups. Dell isn't one to talk about their downsides much.

They are best used not as _primary_ storage, but secondary (think 3-2-1 backup rule). You should have some fast nearline storage available for recent backups that require really low RTO (recovery time objective).

Depending on the application used for backup, it may not have had native Postgresql WAL processing. This and may have had to be image based which slows down the process and requires some additional scripting.

Re: My manager spent $1M on a backup server that I never used

#110

Earlier quoted context omitted.

Chesterton's Manager?

Underrated comment. Many people believe their manager does nothing... until they become a manager and realize all the BS their manager protected them from on the daily.

So the idea isn't the manager is incompetent but his managers are so bad they are a net negative and cause so much disruption that a full time employee is required to deal with it.
Post reply on HN