Giter Site home page Giter Site logo

Comments (3)

leijurv avatar leijurv commented on June 18, 2024

Also, why didn't you use something like Kubernetes and make it truly scalable? Anyways, cool project.

Laughed out loud, that's not how that works at all

How were you able to manage query performance and storage optimizations with the amount of data you were processing? I would assume it's a pretty big feat considering you have two terabytes worth of data in a single database. Did you host a managed database with DO, or did you provision a droplet with block storage and just manage your own installation?

Bare metal was the only way to go. Just a 2TB nvme, with hand-tuned ZFS on top of that, and hand-tuned Postgres on top of that, and hand-tuned queries and indexes on top of that. Queries to the biggest table, blocks (over ten billion rows), to fetch old data about coordinates, would peak at over 30,000 SELECTs per second (sustained average over minutes).

from nocom-explanation.

mwalden2004 avatar mwalden2004 commented on June 18, 2024

Laughed out loud, that's not how that works at all

Yeah, probably should have phrased that better. I'm just curious as to why you wouldn't containerize it and just put it on something like Kubernetes to make it easy to port into multiple servers. My expertise is not in Minecraft, so I'm just curious about that.

Bare metal was the only way to go. Just a 2TB nvme, with hand-tuned ZFS on top of that, and hand-tuned Postgres on top of that, and hand-tuned queries and indexes on top of that. Queries to the biggest table, blocks (over ten billion rows), to fetch old data about coordinates, would peak at over 30,000 SELECTs per second (sustained average over minutes).

That's really cool, great job again.

from nocom-explanation.

leijurv avatar leijurv commented on June 18, 2024

I'm just curious as to why you wouldn't containerize it

Depends on what you mean by it. From context, I thought you were referring to the Postgres but perhaps not? Postgres doesn't have good multi-master, and given the real-time write-heavy workload of the block downloader and tracker it wouldn't make much sense to have a follower or replica (no matter if it's a replica slot or a wal shipper type scenario). We DID ship wal logs though, that's how the backups were done.

But we absolutely did use containers, there are something like a dozen different things running in docker. We just used docker-compose since kubernetes doesn't have much to offer on top of it.

from nocom-explanation.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.