[Postgres-xl-bugs] [Postgres-xl-developers] PGXL network architecture

bryain pgdevuser at 163.com
Mon Jul 13 22:40:15 PDT 2015


Thank u!

Bryain







At 2015-07-14 12:40:26, "Koichi Suzuki" <koichi.dbms at gmail.com> wrote:

It has been very popular debate.


All the plan is embedded in postgresql's planner.   #ifdef PGXC ... #endif shows the addition.


http://postgres-x2.github.io/presentation_docs/2014-07-PGXC-Implementation/pgxc.pdf will give you some reference of such extension.



Regards;


---
Koichi Suzuki
https://www.linkedin.com/in/koichidbms





2015-07-14 11:52 GMT+09:00 bryain <pgdevuser at 163.com>:

Thank you Koichi,

There is another question.When exec query statement, how to distribute subplan to datanode.Where in the source code?


Regards,
Bryain





At 2015-07-14 09:38:33, "Koichi Suzuki" <koichi.dbms at gmail.com> wrote:

Connection between coordinators and datanodes uses libpq with a couple of extension to propagate GXID (Global transaction ID) and Global snapshot.


Connection to GTM and GTM-Proxy uses similar protocol but not libpq because GTM and GTM-Proxy are based upon pthread, while libpq assumes multi processing, PGPROC and postgres memory context.


In above case, coord01's backends uses two libpq connections, for datanode1 and datanode2.   To improve overhead to establish libpq connection, coordinator and datanode has pooler process which holds read-to-use libpq connections.


When a coordinator backend receives an insert statement from application (connected via libpq), the backend examines what node the data should go by examining target table's distribution and inserted data itself.    After it is determined, the backend requires connection to the target datanode(s) and ship the insert statement to the target datanode(s).   Along with this, to provide global transaction ACID property, the backend obtains GXID and snapshot from GTM and propagate this to the target datanodes so that Transaction ACID properties are maintained throughout the cluster.


Please note the target datanode of a single row can be more than one in the case of replicated tables.


Hope this helps.


---
Koichi Suzuki
https://www.linkedin.com/in/koichidbms





2015-07-14 10:22 GMT+09:00 bryain <pgdevuser at 163.com>:

Hi all

Who can tell me PGXL network architecture?

The connection between the coord with datanode

there is one coord01 two datanode(datanode1,datanode2)

when connct to coord01,to exec insert statement,how the three nodes directly socket connection?

Thanks!
Bryain



------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Postgres-xl-developers mailing list
Postgres-xl-developers at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/postgres-xl-developers







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.postgres-xl.org/private.cgi/postgres-xl-bugs-postgres-xl.org/attachments/20150714/ae9b986e/attachment.htm>


More information about the postgres-xl-bugs mailing list