Chris Browne cbbrowne at lists.slony.info
Thu Nov 18 13:06:00 PST 2010
Update of /home/cvsd/slony1/slony1-www
In directory main.slony.info:/tmp/cvs-serv29779

Modified Files:
	Slony 3 Feature Ideas.html 
Log Message:
Alternative version of diagramming...


Index: Slony 3 Feature Ideas.html
===================================================================
RCS file: /home/cvsd/slony1/slony1-www/Slony 3 Feature Ideas.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -C 2 -d -r1.1 -r1.2
*** Slony 3 Feature Ideas.html	18 Nov 2010 20:59:53 -0000	1.1
--- Slony 3 Feature Ideas.html	18 Nov 2010 21:05:58 -0000	1.2
***************
*** 1,29 ****
! <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
! <html xmlns="http://www.w3.org/1999/xhtml"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><!--This file has been created with freemind2html.xsl--><head><title>Slony 3 Feature Ideas</title><link rel="stylesheet" href="Slony 3 Feature Ideas.html_files/freemind2html.css" type="text/css"/><meta name="generator" content="FreeMind-XSL Stylesheet (see: http://freemind-xsl.dev.slash-me.net/ for details)"/><script type="text/javascript" src="Slony 3 Feature Ideas.html_files/freemind2html.js">  
! 	</script><script type="text/javascript"><!--
!           
!                function toggle(id)
!                {
!                    div_el = document.getElementById(id);
!                    img_el = document.getElementById('img'+id);
!                    if (div_el.style.display != 'none')
!                    {
!           
! 					
!                       div_el.style.display='none';
!                       img_el.src = 'Slony 3 Feature Ideas.html_files/show.png';
!           
!                    }
!                    else
!                    {
!           
!                       div_el.style.display='block';
!                       img_el.src = 'Slony 3 Feature Ideas.html_files/hide.png';
!           
!                    };
!                };
!           
!           --></script></head><body><h1>Slony 3 Feature Ideas</h1><div style="width:96%;  padding:2%;  margin-bottom:10px;  border: 0px;  text-align:center;  vertical-align:center;"><img src="Slony 3 Feature Ideas.html_files/image.png" style="margin-bottom:10px; &#9;border: 0px; &#9;text-align:center; &#9;vertical-align:center;" alt="Imagemap" usemap="#fm_imagemap"/></div><map name="fm_imagemap" id="fm_imagemap"><area shape="rect" href="#FMID_1260456144FM" alt="Slony 3 Feature Ideas" title="Slony 3 Feature Ideas" coords="1339,258,1501,294" /><area shape="rect" href="#FMID_1981563070FM" alt="slonik extensions" title="slonik extensions" coords="1521,117,1646,135" /><area shape="rect" href="#FMID_993856574FM" alt="ABORT" title="ABORT" coords="1666,105,1723,123" /><area shape="rect" href="#FMID_744732713FM" alt="Initially mentioned by Vivek Khera" title="Initially mentioned by Vivek Khera" coords="1743,32,1967,50" /><area shape="rect" href="#FMID_430452167FM" alt="Fail if replication is behind" title="Fail if replication is behind" coords="1743,63,1923,81" /><area shape="rect" href="#FMID_1891035569FM" alt="event count" title="event count" coords="1943,53,2035,71" /><area shape="rect" href="#FMID_360400448FM" alt="time interval" title="time interval" coords="1943,74,2037,92" /><area shape="rect" href="#FMID_744516974FM" alt="Other Health Criteria" title="Other Health Criteria" coords="1743,137,1889,155" /><area shape="rect" href="#FMID_462020500FM" alt="per Chris Browne" title="per Chris Browne" coords="1909,95,2032,113" /><area shape="rect" href="#FMID_575673941FM" alt="Is node there?" title="Is node there?" coords="1909,116,2016,134" /><area shape="rect" href="#FMID_965304795FM" alt="Is replication set there?" title="Is replication set there?" coords="1909,137,2074,155" /><area shape="rect" href="#FMID_1008027236FM" alt="Is subscription active?" title="Is subscription active?" coords="1909,158,2064,176" /><area shape="rect" href="#FMID_1304998907FM" alt="Run SQL, fail if ERROR" title="Run SQL, fail if ERROR" coords="1909,179,2059,197" /><area shape="rect" href="#FMID_1819011374FM" alt="Implicit WAIT FOR EVENT" title="Implicit WAIT FOR EVENT" coords="1666,202,1831,220" /><area shape="rect" href="#FMID_1811965998FM" alt="Initially mentioned by Chris Browne" title="Initially mentioned by Chris Browne" coords="1851,200,2084,218" /><area shape="rect" href="#FMID_1973854004FM" alt="slon extensions" title="slon extensions" coords="1204,174,1319,192" /><area shape="rect" href="#FMID_879267069FM" alt="Slon monitoring" title="Slon monitoring" coords="1069,21,1184,39" /><area shape="rect" href="#FMID_932574384FM" alt="per Chris Browne" title="per Chris Browne" coords="926,0,1049,18" /><area shape="rect" href="#FMID_990096792FM" alt="slon records in a queryable form what it ..." title="slon records in a queryable form what it ..." coords="701,21,1049,39" /><area shape="rect" href="#FMID_1230894745FM" alt="Requires writing (+COMMIT) at the start  ..." title="Requires writing (+COMMIT) at the start  ..." coords="674,42,1049,60" /><area shape="rect" href="#FMID_265856343FM" alt="Faster Replication" title="Faster Replication" coords="1054,164,1184,182" /><area shape="rect" href="#FMID_1198926361FM" alt="Use COPY + Triggers on sl_log_*" title="Use COPY + Triggers on sl_log_*" coords="817,124,1034,142" /><area shape="rect" href="#FMID_1959323646FM" alt="per Jan Wieck" title="per Jan Wieck" coords="696,63,797,81" /><area shape="rect" href="#FMID_783554137FM" alt="New encoding of tuple information" title="New encoding of tuple information" coords="565,84,797,102" /><area shape="rect" href="#FMID_284684757FM" alt="Triggers do direct heap updates" title="Triggers do direct heap updates" coords="577,105,797,123" /><area shape="rect" href="#FMID_344820377FM" alt="Eliminate overhead of parsing each state ..." title="Eliminate overhead of parsing each state ..." coords="489,126,797,144" /><area shape="rect" href="#FMID_1025396314FM" alt="COPY implicitly introduces streaming" title="COPY implicitly introduces streaming" coords="554,149,797,167" /><area shape="rect" href="#FMID_1601024889FM" alt="Eliminates need for current memory manag ..." title="Eliminates need for current memory manag ..." coords="0,147,534,165" /><area shape="rect" href="#FMID_1467587209FM" alt="Should reduce amount of work done by slo ..." title="Should reduce amount of work done by slo ..." coords="180,170,797,202" /><area shape="rect" href="#FMID_936529421FM" alt="SYNC pipelining" title="SYNC pipelining" coords="921,222,1034,240" /><area shape="rect" href="#FMID_320704280FM" alt="open 2 connections to source DB, start p ..." title="open 2 connections to source DB, start p ..." coords="284,205,901,237" /><area shape="rect" href="#FMID_567314118FM" alt="Might be unnecessary if using COPY+trigg ..." title="Might be unnecessary if using COPY+trigg ..." coords="504,240,901,258" /><area shape="rect" href="#FMID_673379436FM" alt="Compress sequences of DELETE requests" title="Compress sequences of DELETE requests" coords="756,263,1034,281" /><area shape="rect" href="#FMID_506952007FM" alt="Note that TRUNCATE is already replicated" title="Note that TRUNCATE is already replicated" coords="460,261,736,279" /><area shape="rect" href="#FMID_1679427783FM" alt="SNMP" title="SNMP" coords="1132,315,1184,333" /><area shape="rect" href="#FMID_1186540250FM" alt="per Chris Browne" title="per Chris Browne" coords="989,284,1112,302" /><area shape="rect" href="#FMID_751602562FM" alt="Some minimal SNMP functionality was adde ..." title="Some minimal SNMP functionality was adde ..." coords="767,305,1112,323" /><area shape="rect" href="#FMID_1974970130FM" alt="Untouched since; requires --with-netsnmp ..." title="Untouched since; requires --with-netsnmp ..." coords="700,326,1112,344" /><area shape="rect" href="#FMID_1723470055FM" alt="Should we improve it, or drop it?" title="Should we improve it, or drop it?" coords="894,347,1112,365" /><area shape="rect" href="#FMID_1235421717FM" alt="About This Document" title="About This Document" coords="1521,233,1667,251" /><area shape="rect" href="#FMID_1334864387FM" alt="Mind Map maintained by Chris Browne" title="Mind Map maintained by Chris Browne" coords="1687,223,1935,241" /><area shape="rect" href="#FMID_1209068408FM" alt="Using FreeMind" title="Using FreeMind" coords="1687,244,1795,262" /><area shape="rect" href="#FMID_1708880114FM" alt="General Features" title="General Features" coords="1193,451,1319,469" /><area shape="rect" href="#FMID_1822654050FM" alt="Commit timestamps" title="Commit timestamps" coords="1033,399,1173,417" /><area shape="rect" href="#FMID_1202896935FM" alt="per Jan Wieck" title="per Jan Wieck" coords="912,368,1013,386" /><area shape="rect" href="#FMID_193322486FM" alt="Requires PostgreSQL extension" title="Requires PostgreSQL extension" coords="800,389,1013,407" /><area shape="rect" href="#FMID_209028900FM" alt="Eliminates need for periodic generation  ..." title="Eliminates need for periodic generation  ..." coords="650,410,1013,428" /><area shape="rect" href="#FMID_553933479FM" alt="Enables carryover of commit times to sub ..." title="Enables carryover of commit times to sub ..." coords="687,431,1013,449" /><area shape="rect" href="#FMID_944199984FM" alt="DDL Triggers" title="DDL Triggers" coords="1077,473,1173,491" /><area shape="rect" href="#FMID_1201158077FM" alt="per Jan Wieck" title="per Jan Wieck" coords="956,452,1057,470" /><area shape="rect" href="#FMID_635763698FM" alt="Requires PostgreSQL extension" title="Requires PostgreSQL extension" coords="844,473,1057,491" /><area shape="rect" href="#FMID_267385495FM" alt="Enables automatic generation of DDL_SCRI ..." title="Enables automatic generation of DDL_SCRI ..." coords="712,494,1057,512" /><area shape="rect" href="#FMID_887401545FM" alt="pull lexxer from postgres" title="pull lexxer from postgres" coords="1002,525,1173,543" /><area shape="rect" href="#FMID_1069024852FM" alt="From TODO, probably per Peter Eisentraut" title="From TODO, probably per Peter Eisentraut" coords="702,515,982,533" /><area shape="rect" href="#FMID_1766401948FM" alt="Note that this may be a fair bit more co ..." title="Note that this may be a fair bit more co ..." coords="439,536,982,554" /><area shape="rect" href="#FMID_1298330583FM" alt="Bugs Known" title="Bugs Known" coords="1521,384,1608,402" /><area shape="rect" href="#FMID_1298530388FM" alt="#53 - high RAM usage with high table #" title="#53 - high RAM usage with high table #" coords="1628,267,1888,285" /><area shape="rect" href="#FMID_272912086FM" alt="Likely involves replacing array with has ..." title="Likely involves replacing array with has ..." coords="1908,265,2204,283" /><area shape="rect" href="#FMID_775000310FM" alt="#80 - slon daemon restarts itself in a l ..." title="#80 - slon daemon restarts itself in a l ..." coords="1628,288,1988,306" /><area shape="rect" href="#FMID_1827989392FM" alt="#81 - duplicate key sl_nodelock-pkey and ..." title="#81 - duplicate key sl_nodelock-pkey and ..." coords="1628,309,2164,327" /><area shape="rect" href="#FMID_1461857346FM" alt="#111 - UNSUBSCRIBE SET cancels outstandi ..." title="#111 - UNSUBSCRIBE SET cancels outstandi ..." coords="1628,330,2030,348" /><area shape="rect" href="#FMID_526991350FM" alt="#126 - client side KEEPALIVE on connecti ..." title="#126 - client side KEEPALIVE on connecti ..." coords="1628,351,1919,369" /><area shape="rect" href="#FMID_515411224FM" alt="#137 - EXECUTE SCRIPT not applied in rig ..." title="#137 - EXECUTE SCRIPT not applied in rig ..." coords="1628,374,1948,392" /><area shape="rect" href="#FMID_68110974FM" alt="Shift DDL from sl_event to sl_log_(1|2)" title="Shift DDL from sl_event to sl_log_(1|2)" coords="1968,372,2215,390" /><area shape="rect" href="#FMID_651447967FM" alt="#152 - DDL noisy - might be handled well ..." title="#152 - DDL noisy - might be handled well ..." coords="1628,395,2094,413" /><area shape="rect" href="#FMID_536588317FM" alt="#163 - Change to use TIMESTAMPTZ in Slon ..." title="#163 - Change to use TIMESTAMPTZ in Slon ..." coords="1628,416,2013,434" /><area shape="rect" href="#FMID_1909775350FM" alt="Bug #166: Size of SYNC" title="Bug #166: Size of SYNC" coords="1628,468,1786,486" /><area shape="rect" href="#FMID_1993962549FM" alt="Useful to ask how much work is involved  ..." title="Useful to ask how much work is involved  ..." coords="1806,437,2190,455" /><area shape="rect" href="#FMID_1309336759FM" alt="Allows evaluating things like" title="Allows evaluating things like" coords="1806,479,1993,497" /><area shape="rect" href="#FMID_1057657575FM" alt="Is this SYNC enormous?" title="Is this SYNC enormous?" coords="2013,458,2171,476" /><area shape="rect" href="#FMID_939524522FM" alt="Is slon busy processing a huge SYNC?" title="Is slon busy processing a huge SYNC?" coords="2013,479,2261,497" /><area shape="rect" href="#FMID_223001569FM" alt="Alternatively, if SYNC is small, long ru ..." title="Alternatively, if SYNC is small, long ru ..." coords="2013,500,2505,518" /></map>
! 
! <div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65543&quot;)" id="imgN65543"/><a id="FMID_1260456144FM"/><div class="nodecontent">Slony 3 Feature Ideas</div><div class="content" id="N65543"><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65549&quot;)" id="imgN65549"/><a id="FMID_1981563070FM"/><div class="nodecontent">slonik extensions</div><div class="content" id="N65549"><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65557&quot;)" id="imgN65557"/><a id="FMID_993856574FM"/><div class="nodecontent">ABORT</div><div class="content" id="N65557"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_744732713FM"/><div class="nodecontent">Initially mentioned by Vivek Khera</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65569&quot;)" id="imgN65569"/><a id="FMID_430452167FM"/><div class="nodecontent">Fail if replication is behind</div><div class="content" id="N65569"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1891035569FM"/><div class="nodecontent">event count</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_360400448FM"/><div class="nodecontent">time interval</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65588&quot;)" id="imgN65588"/><a id="FMID_744516974FM"/><div class="nodecontent">Other Health Criteria</div><div class="content" id="N65588"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_462020500FM"/><div class="nodecontent">per Chris Browne</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_575673941FM"/><div class="nodecontent">Is node there?</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_965304795FM"/><div class="nodecontent">Is replication set there?</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1008027236FM"/><div class="nodecontent">Is subscription active?</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1304998907FM"/><div class="nodecontent">Run SQL, fail if ERROR</div></div></div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65626&quot;)" id="imgN65626"/><a id="FMID_1819011374FM"/><div class="nodecontent">Implicit WAIT FOR EVENT</div><div class="content" id="N65626"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1811965998FM"/><div class="nodecontent">Initially mentioned by Chris Browne</div></div></div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65640&quot;)" id="imgN65640"/><a id="FMID_1973854004FM"/><div class="nodecontent">slon extensions</div><div class="content" id="N65640"><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65648&quot;)" id="imgN65648"/><a id="FMID_879267069FM"/><div class="nodecontent">Slon monitoring</div><div class="content" id="N65648"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_932574384FM"/><div class="nodecontent">per Chris Browne</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_990096792FM"/><div class="nodecontent">slon records in a queryable form what it's working on</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1230894745FM"/><div class="nodecontent">Requires writing (+COMMIT) at the start of the event loop</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65673&quot;)" id="imgN65673"/><a id="FMID_265856343FM"/><div class="nodecontent">Faster Replication</div><div class="content" id="N65673"><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65679&quot;)" id="imgN65679"/><a id="FMID_1198926361FM"/><div class="nodecontent">Use COPY + Triggers on sl_log_*</div><div class="content" id="N65679"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1959323646FM"/><div class="nodecontent">per Jan Wieck</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_783554137FM"/><div class="nodecontent">New encoding of tuple information</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_284684757FM"/><div class="nodecontent">Triggers do direct heap updates</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_344820377FM"/><div class="nodecontent">Eliminate overhead of parsing each statement</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65709&quot;)" id="imgN65709"/><a id="FMID_1025396314FM"/><div class="nodecontent">COPY implicitly introduces streaming</div><div class="content" id="N65709"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1601024889FM"/><div class="nodecontent">Eliminates need for current memory management logic for processing large tuples</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1467587209FM"/><div class="nodecontent">Should reduce amount of work done by slons to parse sl_log_* cursors, generating I/U/D streams</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65729&quot;)" id="imgN65729"/><a id="FMID_936529421FM"/><div class="nodecontent">SYNC pipelining</div><div class="content" id="N65729"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_320704280FM"/><div class="nodecontent">open 2 connections to source DB, start pulling new data while the previous request is pushing I/U/D requests to the subscriber</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_567314118FM"/><div class="nodecontent">Might be unnecessary if using COPY+triggers to stream data</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65748&quot;)" id="imgN65748"/><a id="FMID_673379436FM"/><div class="nodecontent">Compress sequences of DELETE requests</div><div class="content" id="N65748"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_506952007FM"/><div class="nodecontent">Note that TRUNCATE is already replicated</div></div></div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65762&quot;)" id="imgN65762"/><a id="FMID_1679427783FM"/><div class="nodecontent">SNMP</div><div class="content" id="N65762"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1186540250FM"/><div class="nodecontent">per Chris Browne</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_751602562FM"/><div class="nodecontent">Some minimal SNMP functionality was added in 2005</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1974970130FM"/><div class="nodecontent">Untouched since; requires --with-netsnmp option to ./Configure</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1723470055FM"/><div class="nodecontent">Should we improve it, or drop it?</div></div></div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65794&quot;)" id="imgN65794"/><a id="FMID_1235421717FM"/><div class="nodecontent">About This Document</div><div class="content" id="N65794"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1334864387FM"/><div class="nodecontent">Mind Map maintained by Chris Browne</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1209068408FM"/><div class="nodecontent">Using FreeMind</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65814&quot;)" id="imgN65814"/><a id="FMID_1708880114FM"/><div class="nodecontent">General Features</div><div class="content" id="N65814"><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65822&quot;)" id="imgN65822"/><a id="FMID_1822654050FM"/><div class="nodecontent">Commit timestamps</div><div class="content" id="N65822"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1202896935FM"/><div class="nodecontent">per Jan Wieck</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_193322486FM"/><div class="nodecontent">Requires PostgreSQL extension</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_209028900FM"/><div class="nodecontent">Eliminates need for periodic generation of SYNC events</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_553933479FM"/><div class="nodecontent">Enables carryover of commit times to subscribers</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65853&quot;)" id="imgN65853"/><a id="FMID_944199984FM"/><div class="nodecontent">DDL Triggers</div><div class="content" id="N65853"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1201158077FM"/><div class="nodecontent">per Jan Wieck</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_635763698FM"/><div class="nodecontent">Requires PostgreSQL extension</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_267385495FM"/><div class="nodecontent">Enables automatic generation of DDL_SCRIPT events</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65878&quot;)" id="imgN65878"/><a id="FMID_887401545FM"/><div class="nodecontent">pull lexxer from postgres</div><div class="content" id="N65878"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1069024852FM"/><div class="nodecontent">From TODO, probably per Peter Eisentraut</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1766401948FM"/><div class="nodecontent">Note that this may be a fair bit more complex than the code in src/parsestatements</div></div></div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65898&quot;)" id="imgN65898"/><a id="FMID_1298330583FM"/><div class="nodecontent">Bugs Known</div><div class="content" id="N65898"><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65905&quot;)" id="imgN65905"/><a id="FMID_1298530388FM"/><div class="nodecontent">#53 - high RAM usage with high table #</div><div class="content" id="N65905"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_272912086FM"/><div class="nodecontent">Likely involves replacing array with hash table</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_775000310FM"/><div class="nodecontent">#80 - slon daemon restarts itself in a loop after failover</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1827989392FM"/><div class="nodecontent">#81 - duplicate key sl_nodelock-pkey and duplicate slon(8) processes not detected</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1461857346FM"/><div class="nodecontent">#111 - UNSUBSCRIBE SET cancels outstanding SUBSCRIBE SET</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_526991350FM"/><div class="nodecontent">#126 - client side KEEPALIVE on connections</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65942&quot;)" id="imgN65942"/><a id="FMID_515411224FM"/><div class="nodecontent">#137 - EXECUTE SCRIPT not applied in right order</div><div class="content" id="N65942"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_68110974FM"/><div class="nodecontent">Shift DDL from sl_event to sl_log_(1|2)</div></div></div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_651447967FM"/><div class="nodecontent">#152 - DDL noisy - might be handled well by "Other Health Criteria" ideas</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_536588317FM"/><div class="nodecontent">#163 - Change to use TIMESTAMPTZ in Slony-defined tables</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65967&quot;)" id="imgN65967"/><a id="FMID_1909775350FM"/><div class="nodecontent">Bug #166: Size of SYNC</div><div class="content" id="N65967"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1993962549FM"/><div class="nodecontent">Useful to ask how much work is involved in particular SYNCs</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/hide.png" class="hideshow" alt="hide" onClick="toggle(&quot;N65979&quot;)" id="imgN65979"/><a id="FMID_1309336759FM"/><div class="nodecontent">Allows evaluating things like</div><div class="content" id="N65979"><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_1057657575FM"/><div class="nodecontent">Is this SYNC enormous?</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_939524522FM"/><div class="nodecontent">Is slon busy processing a huge SYNC?</div></div><div class="node"><img src="Slony 3 Feature Ideas.html_files/leaf.png" class="hideshow" alt="leaf"/><a id="FMID_223001569FM"/><div class="nodecontent">Alternatively, if SYNC is small, long running SYNC suggests something broken</div></div></div></div></div></div></div></div></div></div>
! </body></html>
\ No newline at end of file
--- 1,101 ----
! <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="treestyles.css" type="text/css"?>
! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
! <html xmlns="http://www.w3.org/1999/xhtml"><!--This file has been created with toxhtml.xsl--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>Slony 3 Feature Ideas</title><link rel="stylesheet" href="Slony 3 Feature Ideas.html_files/treestyles.css" type="text/css"/><script type="text/javascript" src="Slony 3 Feature Ideas.html_files/marktree.js"> 
! 	</script></head><body><div class="basetop"><a href="#" onclick="expandAll(document.getElementById('base'))">Expand</a> -
! <a href="#" onclick="collapseAll(document.getElementById('base'))">Collapse</a></div><div id="base" class="basetext"><ul>
! 	<li class="col" id="FMID_1260456144FM"><div class="nodecontent">Slony 3 Feature Ideas</div>
! 		<ul class="subexp">
! 	<li class="col" id="FMID_1981563070FM"><div class="nodecontent">slonik extensions</div>
! 		<ul class="subexp">
! 	<li class="col" id="FMID_993856574FM"><div class="nodecontent">ABORT</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_744732713FM"><div class="nodecontent">Initially mentioned by Vivek Khera</div></li>
! 	<li class="col" id="FMID_430452167FM"><div class="nodecontent">Fail if replication is behind</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1891035569FM"><div class="nodecontent">event count</div></li>
! 	<li class="basic" id="FMID_360400448FM"><div class="nodecontent">time interval</div></li></ul></li>
! 	<li class="col" id="FMID_744516974FM"><div class="nodecontent">Other Health Criteria</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_462020500FM"><div class="nodecontent">per Chris Browne</div></li>
! 	<li class="basic" id="FMID_575673941FM"><div class="nodecontent">Is node there?</div></li>
! 	<li class="basic" id="FMID_965304795FM"><div class="nodecontent">Is replication set there?</div></li>
! 	<li class="basic" id="FMID_1008027236FM"><div class="nodecontent">Is subscription active?</div></li>
! 	<li class="basic" id="FMID_1304998907FM"><div class="nodecontent">Run SQL, fail if ERROR</div></li></ul></li></ul></li>
! 	<li class="col" id="FMID_1819011374FM"><div class="nodecontent">Implicit WAIT FOR EVENT</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1811965998FM"><div class="nodecontent">Initially mentioned by Chris Browne</div></li></ul></li></ul></li>
! 	<li class="col" id="FMID_1973854004FM"><div class="nodecontent">slon extensions</div>
! 		<ul class="subexp">
! 	<li class="col" id="FMID_879267069FM"><div class="nodecontent">Slon monitoring</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_932574384FM"><div class="nodecontent">per Chris Browne</div></li>
! 	<li class="basic" id="FMID_990096792FM"><div class="nodecontent">slon records in a queryable form what it's working on</div></li>
! 	<li class="basic" id="FMID_1230894745FM"><div class="nodecontent">Requires writing (+COMMIT) at the start of the event loop</div></li></ul></li>
! 	<li class="col" id="FMID_265856343FM"><div class="nodecontent">Faster Replication</div>
! 		<ul class="subexp">
! 	<li class="col" id="FMID_1198926361FM"><div class="nodecontent">Use COPY + Triggers on sl_log_*</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1959323646FM"><div class="nodecontent">per Jan Wieck</div></li>
! 	<li class="basic" id="FMID_783554137FM"><div class="nodecontent">New encoding of tuple information</div></li>
! 	<li class="basic" id="FMID_284684757FM"><div class="nodecontent">Triggers do direct heap updates</div></li>
! 	<li class="basic" id="FMID_344820377FM"><div class="nodecontent">Eliminate overhead of parsing each statement</div></li>
! 	<li class="col" id="FMID_1025396314FM"><div class="nodecontent">COPY implicitly introduces streaming</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1601024889FM"><div class="nodecontent">Eliminates need for current memory management logic for processing large tuples</div></li></ul></li>
! 	<li class="basic" id="FMID_1467587209FM"><div class="nodecontent">Should reduce amount of work done by slons to parse sl_log_* cursors, generating I/U/D streams</div></li></ul></li>
! 	<li class="col" id="FMID_936529421FM"><div class="nodecontent">SYNC pipelining</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_320704280FM"><div class="nodecontent">open 2 connections to source DB, start pulling new data while the previous request is pushing I/U/D requests to the subscriber</div></li>
! 	<li class="basic" id="FMID_567314118FM"><div class="nodecontent">Might be unnecessary if using COPY+triggers to stream data</div></li></ul></li>
! 	<li class="col" id="FMID_673379436FM"><div class="nodecontent">Compress sequences of DELETE requests</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_506952007FM"><div class="nodecontent">Note that TRUNCATE is already replicated</div></li></ul></li></ul></li>
! 	<li class="col" id="FMID_1679427783FM"><div class="nodecontent">SNMP</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1186540250FM"><div class="nodecontent">per Chris Browne</div></li>
! 	<li class="basic" id="FMID_751602562FM"><div class="nodecontent">Some minimal SNMP functionality was added in 2005</div></li>
! 	<li class="basic" id="FMID_1974970130FM"><div class="nodecontent">Untouched since; requires --with-netsnmp option to ./Configure</div></li>
! 	<li class="basic" id="FMID_1723470055FM"><div class="nodecontent">Should we improve it, or drop it?</div></li></ul></li></ul></li>
! 	<li class="col" id="FMID_1235421717FM"><div class="nodecontent">About This Document</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1334864387FM"><div class="nodecontent">Mind Map maintained by Chris Browne</div></li>
! 	<li class="basic" id="FMID_1209068408FM"><div class="nodecontent">Using FreeMind</div></li></ul></li>
! 	<li class="col" id="FMID_1708880114FM"><div class="nodecontent">General Features</div>
! 		<ul class="subexp">
! 	<li class="col" id="FMID_1822654050FM"><div class="nodecontent">Commit timestamps</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1202896935FM"><div class="nodecontent">per Jan Wieck</div></li>
! 	<li class="basic" id="FMID_193322486FM"><div class="nodecontent">Requires PostgreSQL extension</div></li>
! 	<li class="basic" id="FMID_209028900FM"><div class="nodecontent">Eliminates need for periodic generation of SYNC events</div></li>
! 	<li class="basic" id="FMID_553933479FM"><div class="nodecontent">Enables carryover of commit times to subscribers</div></li></ul></li>
! 	<li class="col" id="FMID_944199984FM"><div class="nodecontent">DDL Triggers</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1201158077FM"><div class="nodecontent">per Jan Wieck</div></li>
! 	<li class="basic" id="FMID_635763698FM"><div class="nodecontent">Requires PostgreSQL extension</div></li>
! 	<li class="basic" id="FMID_267385495FM"><div class="nodecontent">Enables automatic generation of DDL_SCRIPT events</div></li></ul></li>
! 	<li class="col" id="FMID_887401545FM"><div class="nodecontent">pull lexxer from postgres</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1069024852FM"><div class="nodecontent">From TODO, probably per Peter Eisentraut</div></li>
! 	<li class="basic" id="FMID_1766401948FM"><div class="nodecontent">Note that this may be a fair bit more complex than the code in src/parsestatements</div></li></ul></li></ul></li>
! 	<li class="col" id="FMID_1298330583FM"><div class="nodecontent">Bugs Known</div>
! 		<ul class="subexp">
! 	<li class="col" id="FMID_1298530388FM"><div class="nodecontent">#53 - high RAM usage with high table #</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_272912086FM"><div class="nodecontent">Likely involves replacing array with hash table</div></li></ul></li>
! 	<li class="basic" id="FMID_775000310FM"><div class="nodecontent">#80 - slon daemon restarts itself in a loop after failover</div></li>
! 	<li class="basic" id="FMID_1827989392FM"><div class="nodecontent">#81 - duplicate key sl_nodelock-pkey and duplicate slon(8) processes not detected</div></li>
! 	<li class="basic" id="FMID_1461857346FM"><div class="nodecontent">#111 - UNSUBSCRIBE SET cancels outstanding SUBSCRIBE SET</div></li>
! 	<li class="basic" id="FMID_526991350FM"><div class="nodecontent">#126 - client side KEEPALIVE on connections</div></li>
! 	<li class="col" id="FMID_515411224FM"><div class="nodecontent">#137 - EXECUTE SCRIPT not applied in right order</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_68110974FM"><div class="nodecontent">Shift DDL from sl_event to sl_log_(1|2)</div></li></ul></li>
! 	<li class="basic" id="FMID_651447967FM"><div class="nodecontent">#152 - DDL noisy - might be handled well by "Other Health Criteria" ideas</div></li>
! 	<li class="basic" id="FMID_536588317FM"><div class="nodecontent">#163 - Change to use TIMESTAMPTZ in Slony-defined tables</div></li>
! 	<li class="col" id="FMID_1909775350FM"><div class="nodecontent">Bug #166: Size of SYNC</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1993962549FM"><div class="nodecontent">Useful to ask how much work is involved in particular SYNCs</div></li>
! 	<li class="col" id="FMID_1309336759FM"><div class="nodecontent">Allows evaluating things like</div>
! 		<ul class="subexp">
! 	<li class="basic" id="FMID_1057657575FM"><div class="nodecontent">Is this SYNC enormous?</div></li>
! 	<li class="basic" id="FMID_939524522FM"><div class="nodecontent">Is slon busy processing a huge SYNC?</div></li>
! 	<li class="basic" id="FMID_223001569FM"><div class="nodecontent">Alternatively, if SYNC is small, long running SYNC suggests something broken</div></li></ul></li></ul></li></ul></li></ul></li></ul></div></body></html>
\ No newline at end of file



More information about the Slony1-commit mailing list