Re: [DOCS] High Availability, Load Balancing, and Replication Feature Matrix
Markus Schiltknecht wrote: > Hello Bruce, > > Bruce Momjian wrote: > > Uh, I think of PgCluster as multi-master, but in a way it is a hybrid > > because there is a central server that gets all the queries. > > Yes, PgCluster as well as Sequoia use statement based replication. > Sequoia is also clearly a middleware (no changes to Postgres needed). > > Both suffer from the limitations you describe in "statement based > replication middleware". AFAICT Sequoia does quite well in circumventing > those. (Heck, it even tries to masquerade differences between database > systems, so you can keep a Postgres database in sync with a MySQL one.) > > Depending on the RAIDb level you are using, Sequoia can be considered > multi-master (RAIDb-1) or single-master (RAIDb-0). Also note that > sequoia can run multiple controllers, thus it does not rely on one > central server. But in those cases isn't the multi-master just at the storage level? I don't consider that multi-"master". > So, at least Sequoia is clearly a hybrid, in between your definitions of > "statement based replication middleware" and "synchronous multi-master > replication". Depending on how "middleware" you consider PgCluster, it's > also a hybrid. Certainly it does statement based replication. I am afraid we are stuck between clarity and understand-ability here. ;-) -- Bruce Momjian <[EMAIL PROTECTED]>http://momjian.us EnterpriseDB http://postgres.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---(end of broadcast)--- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate
Re: [DOCS] High Availability, Load Balancing, and Replication Feature Matrix
Hello Bruce, Bruce Momjian wrote: Depending on the RAIDb level you are using, Sequoia can be considered multi-master (RAIDb-1) or single-master (RAIDb-0). Also note that sequoia can run multiple controllers, thus it does not rely on one central server. But in those cases isn't the multi-master just at the storage level? I don't consider that multi-"master". Eh.. I think you misunderstood. The Sequoia people use RAIDb to mean Redundant Array of Inexpensive _Databases_. A possible setup might look like: controller <--> controller <--> controller / | \ (GCS) / | \ (GCS) / | \ /| \ / |\ / |\ DBDB DB DB DBDB DB DBDB | | . . . ... . local local disk disk (controllers may as well run on the same physical node as the DB itself) Given we are talking about replication (mirroring), every database in the scenario above hosts a replica of the data and has to apply all (writing) transactions. That's pretty much what I'd call a master. The complete system can be considered a (statement based) multi-master replication solution. No shared storage or clustering file system is involved. With RAIDb-0, where they distribute tables across different databases, we'd have a single-master solution. (Or rather data partitioning, since there's no replica). Then again, with RAIDb-2, which is what they call the mix of the two, i.e. combining mirroring and partitioning, we are back at a multi-master configuration, where only parts of all nodes are masters. See also [1] for better diagrams and explanations of their RAIDb concept. As a side note: I personally don't like the name RAIDb and even less the numbering. I prefer talking about replication (or mirroring) and partitioning, as that's more meaningful than numbers. I am afraid we are stuck between clarity and understand-ability here. ;-) Agreed, but that's where I think the current chapter creates confusion by trying to separate into "statement based replication middleware" and "synchronous multi-master replication". Such a separation does not exist, instead every combination of single vs. multi-master and statement based vs tuple based is possible. Examples: single-master, tuple based: Slony-I, Mammoth Replicator multi-master, tuple based: Postgres-R, Slony-II, maybe Bucardo (?) single-master, statement based: maybe pgpool or skytools can do that (?) multi-master, statement based: Sequoia, PgCluster But IIRC we already had that discussion a year ago. Regards Markus [1] C-JDBC site with samples http://c-jdbc.objectweb.org/current/doc/userGuide/html/ar01s10.html ---(end of broadcast)--- TIP 5: don't forget to increase your free space map settings
Re: [DOCS] High Availability, Load Balancing, and Replication Feature Matrix
Markus Schiltknecht wrote: > Eh.. I think you misunderstood. The Sequoia people use RAIDb to mean > Redundant Array of Inexpensive _Databases_. A possible setup might look > like: You are right. I didn't understand that. Interesting. > > I am afraid we are stuck between clarity and understand-ability here. ;-) > > Agreed, but that's where I think the current chapter creates confusion > by trying to separate into "statement based replication middleware" and > "synchronous multi-master replication". Such a separation does not > exist, instead every combination of single vs. multi-master and > statement based vs tuple based is possible. Examples: > > single-master, tuple based: Slony-I, Mammoth Replicator > multi-master, tuple based: Postgres-R, Slony-II, maybe Bucardo (?) > single-master, statement based: maybe pgpool or skytools can do that (?) > multi-master, statement based: Sequoia, PgCluster Uh, to me the issue is something like pgpool and Sequoia, where the _master_/replication is happening _outside_ the server, vs something like Oracle RAC where it is happening inside the server. -- Bruce Momjian <[EMAIL PROTECTED]>http://momjian.us EnterpriseDB http://postgres.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---(end of broadcast)--- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
