Yep.<br><br><div class="gmail_quote">On Tue, Apr 12, 2011 at 3:51 PM, Steve Coast <span dir="ltr"><<a href="mailto:steve@asklater.com">steve@asklater.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div text="#000000" bgcolor="#ffffff">
and using the builtin spatial index?<div><div></div><div class="h5"><br>
<br>
<br>
On 4/12/2011 1:50 PM, Ian Dees wrote:
<blockquote type="cite">Yes, one document per node/way/relation.<br>
<br>
<div class="gmail_quote">On Tue, Apr 12, 2011 at 3:47 PM, Steve
Coast <span dir="ltr"><<a href="mailto:steve@asklater.com" target="_blank">steve@asklater.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div text="#000000" bgcolor="#ffffff"> how was the data put in
the db though? 1 document per node?
<div>
<div><br>
<br>
On 4/12/2011 1:39 PM, Nolan Darilek wrote:
<blockquote type="cite"> Oopse, meant for this to go to
the whole list.<br>
<br>
<br>
<br>
-------- Original Message --------
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<th valign="BASELINE" align="RIGHT" nowrap>Subject: </th>
<td>Re: [OSM-dev] OSM and MongoDB</td>
</tr>
<tr>
<th valign="BASELINE" align="RIGHT" nowrap>Date: </th>
<td>Tue, 12 Apr 2011 15:26:41 -0500</td>
</tr>
<tr>
<th valign="BASELINE" align="RIGHT" nowrap>From: </th>
<td>Nolan Darilek <a href="mailto:nolan@thewordnerd.info" target="_blank"><nolan@thewordnerd.info></a></td>
</tr>
<tr>
<th valign="BASELINE" align="RIGHT" nowrap>To: </th>
<td>Ian Dees <a href="mailto:ian.dees@gmail.com" target="_blank"><ian.dees@gmail.com></a></td>
</tr>
</tbody>
</table>
<br>
<br>
I had/am having a somewhat bad experience storing OSM
data in MongoDB.<br>
<br>
Initially I stored all map data in MongoDB, but
queries took ages. The same queries that happen in
100-200 MS now often took nearly a second.
Additionally, some took upwards of 5, and I even found
spots on my map sparsely populated with points, but
which reliably performed the queries I need in 30+
seconds.<br>
<br>
I filed a thorough bug in their tracker, including a
dataset and queries that reliably duplicated the
issue. It was marked wontfix, I abandoned MongoDB, and
it was apparently re-opened and fixed several months
later. So perhaps it's a non-issue now.<br>
<br>
I'm still using MongoDB for part of my current
project, user POI storage. It does indeed use
geohashes, and I'm experiencing strange accuracy
issues. My platform is pedestrian navigation with many
small distance queries. Points in the non-MongoDB
dataset are reliably detected in a radius roughly 100
meters around the traveler. Points in MongoDB queried
with the same bounding boxes don't appear until
they're within 30-40 meters. I recently updated from
an older version to a new build of 1.8. The older
version widely varied the detection range. Some points
were detected 100 or so meters out, while others
weren't picked up until 30 or so. It was always the
same points, too. The point for my apartment remains
reliably visible for ~100 meters or so, while the
corner store and restaurant didn't appear until I was
very close. 1.8 at least appears to be consistent,
always detecting at 30 meters or so. I can only assume
that this is a geohash oddity that only appears for
very small differences, something that works out to
rounding error for larger values.<br>
<br>
I like MongoDB for many things, but not for geospatial
data more complicated than a series of points. I'm
working on migrating user/POI storage to a geospatial
store.<br>
<br>
<br>
On 04/12/2011 01:20 PM, Ian Dees wrote:
<blockquote type="cite">Yep, and I think Mongo uses
geohashes as their index behind the scenes. One of
the problems with that, though, is they have some
arbitrary length that they compute the geohash to
and when you have lots of points (as OSM data does)
the buckets they're searching are very full.<br>
<br>
<div class="gmail_quote">On Tue, Apr 12, 2011 at
1:00 PM, Steve Coast <span dir="ltr"><<a href="mailto:steve@asklater.com" target="_blank">steve@asklater.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div text="#000000" bgcolor="#ffffff"> bbox
queries using the built in spatial indexing
presumably? OSM has it's own magical bitmask
for that, that may also be as fast in mongo,
who knows.
<div>
<div><br>
<br>
On 4/11/2011 5:58 PM, Ian Dees wrote: </div>
</div>
<blockquote type="cite">
<div>
<div>
<div class="gmail_quote">On Mon, Apr 11,
2011 at 6:36 PM, Sergey Galuzo <span dir="ltr"><<a href="mailto:sergal@microsoft.com" target="_blank">sergal@microsoft.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div link="blue" vlink="purple" lang="EN-US">
<div>
<p class="MsoNormal"><span>Hi,</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>I am
working on evaluation of
MongoDB for several storage
solutions at hand. Some of
them resemble current OSM
editing database. I have
heard that OSM dev is/was
evaluating MongoDB also. I
was wondering whether it
possible to share the
findings?</span></p>
<p class="MsoNormal"><span> </span></p>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>In my experimentation with
MongoDB (seen here: <a href="https://github.com/iandees/mongosm/" target="_blank">https://github.com/iandees/mongosm/</a>)
I found it to be very slow. Inserts
were speedy, but bounding-box
queries took a long time.</div>
<div><br>
</div>
<div>The most recent dev version of
MongoDB includes "multi-location
documents" support:</div>
<div> <a href="http://www.mongodb.org/display/DOCS/Geospatial+Indexing#GeospatialIndexing-MultilocationDocuments" target="_blank">http://www.mongodb.org/display/DOCS/Geospatial+Indexing#GeospatialIndexing-MultilocationDocuments</a></div>
<div><br>
</div>
<div>This would allow a single way
document to be indexed at multiple
locations and vastly speed up the
map query.</div>
</div>
</div>
</div>
<pre><fieldset></fieldset>
_______________________________________________
dev mailing list
<div><a href="mailto:dev@openstreetmap.org" target="_blank">dev@openstreetmap.org</a>
<a href="http://lists.openstreetmap.org/listinfo/dev" target="_blank">http://lists.openstreetmap.org/listinfo/dev</a>
</div></pre>
</blockquote>
</div>
<br>
_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@openstreetmap.org" target="_blank">dev@openstreetmap.org</a><br>
<a href="http://lists.openstreetmap.org/listinfo/dev" target="_blank">http://lists.openstreetmap.org/listinfo/dev</a><br>
<br>
</blockquote>
</div>
<br>
<pre><fieldset></fieldset>
_______________________________________________
dev mailing list
<a href="mailto:dev@openstreetmap.org" target="_blank">dev@openstreetmap.org</a>
<a href="http://lists.openstreetmap.org/listinfo/dev" target="_blank">http://lists.openstreetmap.org/listinfo/dev</a>
</pre>
</blockquote>
<br>
<pre><fieldset></fieldset>
_______________________________________________
dev mailing list
<a href="mailto:dev@openstreetmap.org" target="_blank">dev@openstreetmap.org</a>
<a href="http://lists.openstreetmap.org/listinfo/dev" target="_blank">http://lists.openstreetmap.org/listinfo/dev</a>
</pre>
</blockquote>
</div>
</div>
</div>
<br>
_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@openstreetmap.org" target="_blank">dev@openstreetmap.org</a><br>
<a href="http://lists.openstreetmap.org/listinfo/dev" target="_blank">http://lists.openstreetmap.org/listinfo/dev</a><br>
<br>
</blockquote>
</div>
<br>
</blockquote>
</div></div></div>
</blockquote></div><br>