HN user

noahl

1,375 karma
Posts10
Comments195
View on HN

There are some semantic differences compared to POSIX filesystems. A couple big ones:

  - You can only append to an object, and each object can only have one writer at the time. This is useful for distributed systems - you could have one process adding records to the end of a log, and readers pulling new records from the end.
  - It's also possible to "finalize" an object, meaning that it can't be appended to any more.
(I work on Rapid storage.)

Slight nit: "zonal" doesn't necessarily mean "not replicated", it means that the replicas could all be within the same zone. That means they can share more points of failure. (I don't know if there's an official definition of zonal.)

NB: I am on the rapid storage team.

No, not for GCP stuff.

I don't know of a single GCP product that's been shut down, although I could be missing something. But their track record for GCP is, I think, what you would want a cloud provider's record to be.

(I should mention that I work for GCP. But this is just based on my own memory.)

Got it, thank you! CockroachDB is the only one I know offhand that does what you're looking for. Another comment mentioned Vitess, which might also work.

It seems like there are a lot of options for large scale analytics, but I don't know a lot for high throughout geo-redundant transaction processing.

I mean to be fair Google has also tried very, very hard to improve home internet access for people, to the point of setting up their own ISP and running municipal fiber networks. That's a pretty big try, and I really wish it had taken off beyond the places where Google Fiber operates.

(NB: I work at Google, but this comment has nothing to do with my work.)

Someone close to me has Celiac disease, and getting an official diagnosis will let you do more than just eliminate gluten. For one thing, you could participate in one of the multiple ongoing drug trials for Celiac that are looking for participants.

The Celiac foundation has a list of them if you're interested, but you'll need a Celiac diagnosis to be eligible.

I think Microsoft's strategy (I work there, but I don't have any special knowledge of this) is to be the best possible platform for development in general, not just machine learning. That's why they bought GitHub, and it's also why they have WSL, remote debugging on Linux, etc. I expect they will go wherever they think developers want to be to achieve that goal.

I can see this hurting traditional Linux graphics systems and development tooling, but I think the main dynamic driving this is not proprietary-vs-open, it's Microsoft's ability to coordinate large numbers of developers, because they have a massively more united org than random hobbyists.

If you combined all of the efforts of all of the people working on Linux tools for the past 20 years and got them working on the same thing, it would probably be an amazing stack, and Microsoft would probably just support it. Instead, the open source efforts have been scattered among a lot of different ideas, which means there hasn't been a single windowing toolkit, IDE, or whatever for people to rally around and all contribute to. And as a result, Microsoft can show up, get a few hundred people pulling in the same direction, and have the market-leading product not through any dirty tricks, but just by putting in more coordinated effort than anyone else.

I have a suspicion, which I have never verified, that the things that make emacs great are basically the things that made Lisp Machines great back when those were a thing - that emacs is best viewed as a Lisp Machine embedded in a modern operating system.

I never used a real Lisp Machine, but I'd love if someone who did can confirm this.

If you adopt this article's three-category system (or any system with a finite number of ordered categories), then I think in the long run the number of positive and negative changes have to converge toward equality.

If we hear more stories of negative changes, then maybe the negative ones are more memorable, or people are more likely to comment on them.

Making a concept intuitive and easy to understand is extremely difficult to do. A person who could do this would probably have to understand Paxos better than Lamport does.

I wouldn't assume that Leslie Lamport doesn't want his algorithm to be understood. It's just that explaining things is really, really, really hard.

(This is also why teaching is an incredibly difficult profession.)

Sunsetting Hire 7 years ago

The trouble is that if you have to understand or correctly guess internal Google politics like this in order to know which products you can really rely on, then it's effectively not reliable.

With that said, I'd feel fine relying on VMs, disks, managed SQL, managed Kubernetes, etc. Maybe I'm too optimistic. And Google is giving exactly the guarantees they promised - 1 year of notice before shutting down a product.

Okay, this is a relatively serious proposal to require Google to allow API access to its search index, with the premise that it would democratize the search engine ecosystem. There are some issues with the regulations he proposes (you have to allow throttling to prevent DDoS attacks, and you can't let anyone with API access add content to prevent garbage results), but it's roughly feasible.

The main problem is, I think the author is wrong about what Google's "crown jewel" is. Yes, Google has a huge index, but most queries aren't in the long tail. Indexing the top billion pages or so won't take as long as people think.

The things that Google has that are truly unique are 1) a record of searches and user clicks for the past 20 years and 2) 20 years of experience fighting SEO spam. 1 is especially hard to beat, because that's presumably the data Google uses to optimize the parameters of its search algorithm. 2 seems doable, but would take a giant up-front investment for a new search engine to achieve. Bing had the money and persistence to make that investment, but how many others will?

This is interesting, but I think the authors don't talk enough about CPU and memory utilization. To me, the "classic" Google distributed systems architecture puts different tasks in different logical servers (doesn't matter if they're separate physical servers or not), which gives those servers more predictable memory and CPU usage, which in turn enables tighter bin-packing of jobs in the datacenter. The price they pay is needing a really, really fast in-datacenter network, but in the past they've been okay with this.

The paper proposes putting application-specific processing and memory caching on the same host, which might give the combined server less consistent CPU usage and therefore lower utilization, but will also eliminate the network hop from application server to in-memory cache. It seems intuitively reasonable to me to give up some CPU utilization in exchange for eliminating an all-to-all network connections stage, but I would like to see a real cost and speed comparison.