<html><body bgcolor="#FFFFFF"><div>Hi Noli,</div><div><br></div><div>thanks for the link. That is definitely a step in the right direction, but it is hardly comparable to git ArcSDE versioning at that.</div><div><br></div><div>The article and sample code you describe above generates hashes for all rows and tables in the db and compares them to the target db. So 1 million rows in a db, regardless if the two dbs are identical, would cause 1 million hashes to go over the wire. Every single time you ask to sync you pay the price.</div><div><br></div><div>Git and ArcSDE keep track of changesets, and when it is time to synchronize, they exchange that changeset and apply it. One insert? That is all that needs to be sent.</div><div><br></div><div>Another issue is that there is nothing about conflict resolution there (what happens when you delete one row in one db and modify it in another one?). There is also the problem of allowing multiple versions of the data in the same db (Like having multiple heads).</div><div><br></div><div>Regardless, thank you for the link,</div><div><br></div><div>- Ragi </div><div><br></div><div><br></div><blockquote type="cite"><div><span></span><span>Date: Thu, 23 Sep 2010 13:22:17 +1000</span><br><span>From: Noli Sicad <<a href="mailto:nsicad@gmail.com">nsicad@gmail.com</a>></span><br><span>Subject: Re: [OSGeo-Discuss] Re: "git" like for geodata management</span><br><span>To: OSGeo Discussions <<a href="mailto:discuss@lists.osgeo.org">discuss@lists.osgeo.org</a>></span><br><span>Message-ID:</span><br><span><span class="Apple-tab-span" style="white-space:pre">    </span><<a href="mailto:AANLkTi=3anC4BAANd4HK9UUZFsasXn-8ybPNKYoNG+Fw@mail.gmail.com">AANLkTi=3anC4BAANd4HK9UUZFsasXn-8ybPNKYoNG+Fw@mail.gmail.com</a>></span><br><span>Content-Type: text/plain; charset=ISO-8859-1</span><br><span></span><br><span>PostgreSQL Synchronization Tool  --- psync [1]</span><br><span></span><br><span>" The article introduces a method of synchronizing two PostgreSQL</span><br><span>databases. Although, this seems to be an easy task, no product (slony,</span><br><span>londiste, ...) really satisfied the needs within the <a href="http://maps.bremen.de"><a href="http://maps.bremen.de">maps.bremen.de</a></a></span><br><span>project. Either they have special prerequsits that didn't apply for</span><br><span>our problem or they didn't support synchronizing of large objects.</span><br><span></span><br><span>Large objects are used to store tiles of a street/aerial map within</span><br><span>PostgreSQL. My GIS-server queries the database and gets the tiles out.</span><br><span>By using this construction we are getting a flexible infrastructure</span><br><span>for updating and maintaining different versions of the maps.</span><br><span></span><br><span>Everything was working fine until the service needs to be spread over</span><br><span>three servers. How can we easily synchronize the databases? I really</span><br><span>found no really working solution that is clean and easy to use.  "</span><br><span></span><br><span>[1]<a href="http://www.codeproject.com/KB/database/psync.aspx"><a href="http://www.codeproject.com/KB/database/psync.aspx">http://www.codeproject.com/KB/database/psync.aspx</a></a></span><br><span></span><br><span></span><br><span>Noli</span><br><span></span><br><span>On 9/23/10, Ragi Burhum <<a href="mailto:ragi@burhum.com">ragi@burhum.com</a>> wrote:</span><br><blockquote type="cite"><span>Are you looking for an alternative to (1)ESRI's versioning, (2)ESRI's</span><br></blockquote><blockquote type="cite"><span>disconnected editing, or a mix of both (3)git like? the scenario that you</span><br></blockquote><blockquote type="cite"><span>described first was more like (2), but this one fits (1).</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I would love to see something like (3), but truth of the matter, AFAIK,</span><br></blockquote><blockquote type="cite"><span>there is nothing like that implemented for geo (yet).</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>On Sep 22, 2010, at 9:00 AM, <a href="mailto:discuss-request@lists.osgeo.org">discuss-request@lists.osgeo.org</a> wrote:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>On Wed, 2010-09-22 at 12:10 +0800, maning sambale wrote:</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>Any real world cases for this?</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Imagine the following scenario:</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>* 50 ~ 70 digitizers</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>* 5 QA</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>* 1 Manager</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Each QA has 10 digitizers assigned. After all the data is validated, the</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>manager merges it and generates the geodb.</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>All users work against the same DB, most of them linked. This causes</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>disconnections, duplicated data, and lots of random errors.</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Also, they can't be forced to work on different DB's because they are</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>all working on the same project, at the same time.</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>This is the real scenario of GISWorking (<a href="http://www.gisworking.com/">http://www.gisworking.com/</a>), a</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>company we are working with.</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>It would be perfect to have smaller groups (ideally 1 person), working</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>against separated databases, but that can be synchronized with the rest</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>of the data when needed.</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Then each QA merges data from the people he supervises. After it's</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>validated the manager merges the complete dataset, and generates the</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>final "product".</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>I don't know if this it's the exact same case, but we are working on it</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>with a similar approach.</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><span>_______________________________________________</span><br></blockquote><blockquote type="cite"><font class="Apple-style-span" color="#0023A3"><font class="Apple-style-span" color="#005001"><br></font></font></blockquote></div></blockquote></body></html>