We're Moving!

The Vertica Forum is moving to a new OpenText Analytics Database (Vertica) Community.

Join us there to post discussion topics, learn about

product releases, share tips, access the blog, and much more.

Create My New Community Account Now


Each node can run 3 concurrent queries? — Vertica Forum

Each node can run 3 concurrent queries?

From Davids EON webcast yesterday I have a question on slide 68 (snippet attached)
This slide on on Elastic Throughput Scaling contains a statement

"Each node can run 3 concurrent queries"
Can you please explain this in detail?
Thank you

Dieter

Comments

  • This is a hypothetical example to illustrate how Elastic Throughput Scaling (ETS) works. Each node's physical resources support running a certain number of concurrent queries (usually more than 3!). Concurrency is tunable through Resource Pools (think PLANNEDCONCONCURRENCY / MAXCONCURRENCY). For the purposes of this example, we simplified resource allocation to "slots" - each query takes one "slot."
    In order for a query to run, it must acquire resources on every node participating in the query. For a 3 shard database, this usually means 3 nodes must participate. So the aggregate cost of a query across the cluster is 3 slots. With a 3 node 3 slot-per-node deployment, we have 9 total slots and thus could achieve a parallelism of 3 queries. With a 4 node database we'd have, in aggregate, 12 slots, so 3 per query suggests 4 concurrent queries is possible. ETS achieves this by randomly load balancing between the nodes.
    In practice, the situation is more messy - queries take actual resources like memory instead of "slots", load balancing isn't perfect, etc. But you hopefully get the idea of how we can add 1 node to a 3 node database and observe a 30% improvement in qury throughput.

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file