Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Laya the open source version of Jev(convaiinnovations.com ↗)
    116comments
  2. A graphical desktop for the ZX Spectrum(github.com/mindbox77 ↗)
    34comments
  3. Tin: full-text search for Postgres(planetscale.com ↗)
    20comments
  4. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    424comments
  5. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    176comments
  6. “The Secret Life of Circuits” is here(coredump.cx ↗)
    48comments
  7. Black Holes or Black Hole Stars? Astronomers Spar over 'Little Red Dots'(quantamagazine.org ↗)
    11comments
  8. What Zig felt like, coming from Rust(besok.github.io ↗)
    91comments
  9. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    536comments
  10. Asking Authors About Their Own Papers(medium.com/tmlrorg ↗)
    26comments
  11. I built the fastest PHP webserver in the world(qbixserver.com ↗)
    12comments
  12. Agreement between the USA and Denmark (1951,2004) [pdf](state.gov ↗)
    1comments
  13. San Francisco Onion Futures Company(onionfutures.com ↗)
    105comments
  14. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    185comments
  15. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    126comments
  16. Jobs Without LeetCode(noleet.lol ↗)
    discuss
  17. Learning Another Language May Be One of the Best Ways to Keep Your Brain Healthy(theconversation.com ↗)
    33comments
  18. Cloudflare Quick Tunnels(cloudflare.com ↗)
    300comments
  19. How to Write with an LLM(sockpuppet.org ↗)
    360comments
  20. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    23comments
  21. Communication by means of modulated Johnson noise(pnas.org ↗)
    18comments
  22. Ray Ozzie and the Optimism of Being Early(reproof.app ↗)
    8comments
  23. Saving another 100TB of RAM(cloudflare.com ↗)
    89comments
  24. SDCC – Small Device C Compiler(sourceforge.net ↗)
    23comments
  25. Science Is Open Software(jepedersen.dk ↗)
    47comments
  26. From Stonemasons to Carpenters(thelastsoftwareengineer.substack.com ↗)
    4comments
  27. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    44comments
  28. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    122comments
  29. OpenJev(openjev.com ↗)
    278comments
  30. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    7comments

PolarFS: Alibaba Distributed File System for Shared Storage Cloud Database [pdf]

137 pointsby 8y agovldb.org
33 comments
8y agoHN ↗

Most interesting bit is their consensus protocol.

8y agoHN ↗

Thank you. We will provide our TLA+ proof soon..

8y agoHN ↗

I'm on mobile so I haven't been able to really fully read the paper: Can you highlight what's interesting or novel about it?

8y agoHN ↗

I think the most interesting part is PolarFS taking full advantage of the emerging techniques like RDMA, NVMe, and SPDK. And the Parallel raft consensus algorithm

8y agoHN ↗

Kind of disappointing that they compared it with Ceph non-RDMA vs. PolarFS on RMDA, unless I misread this part.

Still, this is all very interesting.

8y agoHN ↗

I am rather sleep deprived, so I may have misread things, but this doesn't seem to me to be the best benchmark to evaluate Ceph for database work.

From what I understand best practice in ceph for databases is to make a rbd image and format that with your filesystem of choice. I believe. The rbd stripe size should be tuned to you database writes in mind.

I believe ceph rbd supports rdma, but I cannot find much current details about it.

8y agoHN ↗

The rbd image can't be used as a shared storage for database.

8y agoHN ↗

How not? You can map an rbd image from multiple VMs/servers at the same time, just if you want to do so you need a multi-client aware filesystem. Otherwise if you just need something attached to a single host you just format the volume ext4/xfs/whatever and map it, throw your database on that.

8y agoHN ↗

The protocol is interesting.

But given how often the Alibaba cloud fails in production, I won't hold my breath.

8y agoHN ↗

Will appreciate some specific examples.

Disclaimer: Not Alibaba employee

8y agoHN ↗

Former Alibaba employee: every day.

There's no planning, no communication, tons of underqualified middle management, tons of politics, and a lot of really bad ideas are pushed by HIPPOs.

China is general about 10-15 years behind on software development. Currently Alibaba's big push internally is a framework that essentially resembles EJB 2.1 stateful beans, but built on Spring.

8y agoHN ↗

I guess you are frustrated but most of it sounds like everywhere else. Also I think you are exaggerating. For sure they are not 10-15 years behind. There are some fine ideas and implementation for instance the Pouch container and p2p distribution system, even by Alibaba. Hyper.sh is chinese, too. OpenResty is nice. PingCAP, the makers of TiDB are chinese, as well.

8y agoHN ↗

Well, half the time things went down is because the data center hit capacity and someone exploits something in the console to shut down your workloads, which makes for a bunch of fun.

8y agoHN ↗

The protocol is interesting, and we will provide the TLA+ proof soon.

8y agoHN ↗

Are you from the PolarFS team? This paper looks amazing, I'll be sure to give it a thorough read!

I was curious: could you compare and contrast it with what I imagine are it's competitors? Hdfs, ceph, glusterfs etc.

Have you replaced any of those existing systems internally yet?

8y agoHN ↗

HDFS isn't really a filesystem.

The main competitors at this scale would be Lustre & GPFS

8y agoHN ↗

Yes I am from the PolarFS team. You can read from the paper that we have compared PolarFS with ceph.

8y agoHN ↗

IN the datacenter, yes. Not many big deployments around.

8y agoHN ↗

link is down. Is there an alternative link?

8y agoHN ↗

The hardest part of a Distributed File system (and I mean File system here) is managing the Meatadata (where a file is, where the directory is, who last did something to it.)

Lustre, GFS2 and GPFS all have centralised metadatstores, which is both a boon and a drawback.

What I can't figure out is what they've done here. It appears like metadata is stored in a special partition ("journal") which is shared? But there is a control process as well.

8y agoHN ↗

What do you think are some gotchas/limitations when using mysql-ndb-cluster ?

8y agoHN ↗

It's become very stable with the years. It's somehow never penetrated the silicon valley echo chamber, probably due to instability in its earlier years. Operationally, it's got most things you need - on-line add node, rolling upgrades, monitoring, etc.

We use NDB to store both the metadata in-memory, but also to store small files on NVMe disks. We had talks with lots of other DB vendors, but, frankly, none of them have high performance support for cross-partition transactions, which is needed. DBs like VoltDB, MemSQL, NuoDB all have promise, but serialize cross-shard operations.

8y agoHN ↗

Have you explored using FoundationDB? It doesn't have a SQL interface (anymore), which might mean it isn't suitable if SQL is required.

8y agoHN ↗

Not yet, it's only recently been open-sourced. We have a startup now commercializing Hops, called Logical Clocks (of course), so we're busy with that.

8y agoHN ↗

The community is very helpful over on the forums (https://forums.foundationdb.org), so if you do end up having time to check it out, come on over! I'm sure the team at Apple (I'm not affiliated with them) would love to talk about it.

8y agoHN ↗

They're against coprocessors (having functions in the db) so you'll always be somewhat limited. Doing with shared-memory-etc will be hard.

Also you can shard many tables as hash, so most hot-path transactions be inside a server, which you can't guarantee with range-sharding.

8y agoHN ↗

With respect to metadata, the premise of PVFS^WOrangeFS is that providing full POSIX semantics (specifically locking?) makes the issues even worse, so it doesn't try, to decent effect. That may rule it out, for some applications like databases, though.

Lustre has DNE for distributed metadata now. Presumably multi-tenancy would be important in this sort of application.

8y agoHN ↗

Man, reading that made me wish Clustrix (YC '06) open sourced their database (https://www.clustrix.com/). They had a MySQL compatible scale our DB nearly 10 years ago, wireline compatible with MySQL without using any MySQL code, could participate in a MySQL replication cluster with normal MySQL servers (made migration easy). It was scale out shared-nothing, writes would scale linearly as you added nodes, unlike POLARDB which is shared-everything with a single master. It used RDMA 10 years ago, and custom PCIe devices because NVMe didn't exist.

But they didn't open source it, so only a small handful of companies get to use it. Sad.

8y agoHN ↗

Do you think they could have found a model to go open source and still satisfactorily monetize it?