Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between pool and cluster

From a purest perspective, they kind of feel like identical concepts. Both manage sets of reosurces/nodes and control their access from or by external components.

With a pool, you borrow and return these resources/nodes to and from the pool.

With a cluster, you have a load balancer sitting in front of the resources/nodes and you hit the load balancer with a request.

In both cases you have absolutely no control over which resource/node your request/borrow gets mapped to.

So I pose the question: what's the fundamental difference between the "pool" pattern and a load-balanced cluster?

like image 206
IAmYourFaja Avatar asked Jul 04 '12 18:07

IAmYourFaja


People also ask

What is difference between cluster and pool table?

Pooled tables are logical tables that must be assigned to a table pool when they are defined. Cluster table are logical tables that must be assigned to a table cluster when they are defined. Cluster table can be used to store control data they can also used to store temporary data or text such as documentation.

What is pool in cluster?

Azure Databricks pools reduce cluster start and auto-scaling times by maintaining a set of idle, ready-to-use instances. When a cluster is attached to a pool, cluster nodes are created using the pool's idle instances.

What is the difference between transparent pooled and cluster tables SAP?

Transparent table is a one to one relation table i.e. when you create one transparent table then exactly same table will create in data base and if is basically used to store transaction data. A clustered and a pooled table cannot be read from outside SAP because certain data are clustered and pooled in one field.

What is a pool table in SAP?

A pooled table is a special type of table available in the SAP ABAP dictionary. The pooled table is a proprietary SAP creation and has many-to-one relationships with tables in the SAP database. This means that for a given pooled table in the database, there could be many smaller tables in the SAP data dictionary.


1 Answers

A pool is used to avoid constantly creating and destroying resources that are costly to create. A resource from a pool can be used by only one client at a time. Available resources are stored in the pool. When you need one, you get it from the pool and thus make it unavailable to other clients. When you're done with the resource, you put it back to the pool. Pools are used for database connections and threads, typically. Another advantage is that it allows maintaining the number of resources (connections, threads) to a reasonable maximum.

A cluster is a collection of nodes (computers, virtual machines) which allows serving a larger number of concurrent clients (scalability) and avoiding a single point of failure (failover, redundancy). Also note that load balancers are not necessarily random. In many cases, the load balancer uses sticky sessions: once a client has been assigned to a node of the cluster, all his subsequent requests go to the same node.

The goals are thus not the same between a pool and a cluster. And the resources stored in a pool are not the same kind as the resources of a cluster.

like image 139
JB Nizet Avatar answered Nov 04 '22 14:11

JB Nizet