Sergei:
Thanks for the answers.
Instead of having a DEBATE among Maria developers exactly how
replication should work, there should be an option to fully externalize
replication to another process
and put all replication logic there to handle fault tolerance and scaling.
The various Maria replication options out there require too much human
involvement and do not really address a wide variety of
needs. Then when someone wants to reduce the human involvement (For
example, CHANGE MASTER TO....during failover), they are faced with
writing monitoring
programs and other code just to complement the internal replication
processing.
The included MASTER-SLAVE replication included in Maria is an
operational nightmare. Any little problem and replication STOPS, it is
just too finicky
to be of use on a larger scale. And requires too much vigilance by
human beings to keep going. It is NOT ELASTIC. I want the choice of
giving up some rigid processing criterion for
the sake of elasticity and intelligence.
So I am looking at putting a replication externalization hook that is
managed OUTSIDE of MariaDB but can FEEDBACK intelligence into MariaDB if
needed.
The hook will NOT be targeted at synchronous replication. That should
be left to other replication devices or maybe a future development. I
just want to make the leap to intelligent, un-supervised async
replication first.
md
On 8/28/2012 9:11 AM, Sergei Golubchik wrote:
Hi, md!
On Aug 27, m...@rpzdesign.com wrote:
I was looking at sql_update.cc, sql_insert.cc, sql_delete.cc so I
could insert a hook to feed an external replication engines by
choosing the update, delete, insert AFTER trigger points to insert
logic that is db scope and not table scope.
I am testing the idea on 5.5.25 sources and will send a patch in when
I can get my bearings on the source code.
Some probably stupid questions:
1)
Does InnoDB and Aria transaction support having anything to do with
the binary log? Or do transactions in innodb and aria get stored into
different files than the binary log?
InnoDB and Aria have their own logs. And *additionaly* transactions get
stored in the binary log, in a storage engine independent way.
2)
Where are the the system command "SET" implemented?
mainly set_var.cc and sys_vars.h
What are you trying to do?
Where is the definition/ of commands like "SHOW variables LIKE H%"
implemented?
sql_show.cc
3)
I am going to open source this external replication hook,
how do I send something to you so that you can add a #ifdef
WITH_EXTERNAL_REPLICATION into the sources
so that it would appear in 5.5.26 or 5.5.27?
You can post it to this list. Or submit a merge request on launchpad.
But firts, please, try to explain what are you trying to achieve with
your patch.
Regards,
Sergei
_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help : https://help.launchpad.net/ListHelp