Live data from Hacker News

Tile38 – Realtime geofencing and geospatial index, v1.7.0

github.com

11–20 of 29 posts

Re: Tile38 – Realtime geofencing and geospatial index, v1.7.0

#11
I wonder if a kind of pony-express messaging app could be done with something like this. Like pick a friend in another state, write a message, carry it around in memory hoping that you'll be within a quarter mile of someone else running the app, and see how long it would take for the message to get delivered.

Re: Tile38 – Realtime geofencing and geospatial index, v1.7.0

#13

I wonder if a kind of pony-express messaging app could be done with something like this. Like pick a friend in another state, write a message, carry it around in memory hoping that you'll be within a quarter mile of someone else running the app, and see how long it would take for the message to get delivered.

[deleted]

Re: Tile38 – Realtime geofencing and geospatial index, v1.7.0

#14
post #5
post #3

I love it when geo stuff shows up here. Its always fun to see what people are doing. I see that it is in Memory, but are there any practical limits? How much memory is recommended for what size datasets? And it doesn't look like the documentation has an examples as to how to load data in? Do I need to convert to Web Mercator, or can I give it WGS84 and have it convert? Also, any plans to allow for pure WGS84? I never…

> I see that it is in Memory, but are there any practical limits? Yes. The in-memory database is basically a big btree + a big rtree. These trees contain many pointers to geo objects and depending on the complexity of the objects, it may take up a lot of memory. A 16GB machine can typically store 100 million+ points. > How much memory is recommended for what size datasets? Depends on the type of object and the length…

> but I would conservatively use 128-bytes per point as a general rule.

why not store close items together in a small block and use offsets + delta encoding ?

Re: Tile38 – Realtime geofencing and geospatial index, v1.7.0

#15
Neat! Does someone already used it in production? I'm wondering if it could be useful to replace a medium sized postgres database. I'm trying to replace some clustering currently done with Elasticsearch with postgis, but it's really slow (6m points * 700 boxes, it's taking 20 minutes to scan the table).

Re: Tile38 – Realtime geofencing and geospatial index, v1.7.0

#16
post #15

Neat! Does someone already used it in production? I'm wondering if it could be useful to replace a medium sized postgres database. I'm trying to replace some clustering currently done with Elasticsearch with postgis, but it's really slow (6m points * 700 boxes, it's taking 20 minutes to scan the table).

Yes, it is being used in production.

General purpose spatial queries with Tile38 are very fast. Likely much quicker than PostGIS, but PostGIS will be able to store much more data. It's a tradeoff for sure.

If your dataset isn't terribly big and performance is what you're after then I recommend giving Tile38 a try.

Re: Tile38 – Realtime geofencing and geospatial index, v1.7.0

#17
post #5
post #3

I love it when geo stuff shows up here. Its always fun to see what people are doing. I see that it is in Memory, but are there any practical limits? How much memory is recommended for what size datasets? And it doesn't look like the documentation has an examples as to how to load data in? Do I need to convert to Web Mercator, or can I give it WGS84 and have it convert? Also, any plans to allow for pure WGS84? I never…

> I see that it is in Memory, but are there any practical limits? Yes. The in-memory database is basically a big btree + a big rtree. These trees contain many pointers to geo objects and depending on the complexity of the objects, it may take up a lot of memory. A 16GB machine can typically store 100 million+ points. > How much memory is recommended for what size datasets? Depends on the type of object and the length…

> Tile38 uses the Redis protocol

Under the hood, is Tile38 a distribution of Redis with a Tile38 Redis module?

If so, could the Tile38 module be used in "regular" Redis alongside other Redis modules?

Re: Tile38 – Realtime geofencing and geospatial index, v1.7.0

#18
post #17
post #5

Earlier quoted context omitted.

> I see that it is in Memory, but are there any practical limits? Yes. The in-memory database is basically a big btree + a big rtree. These trees contain many pointers to geo objects and depending on the complexity of the objects, it may take up a lot of memory. A 16GB machine can typically store 100 million+ points. > How much memory is recommended for what size datasets? Depends on the type of object and the length…

> Tile38 uses the Redis protocol Under the hood, is Tile38 a distribution of Redis with a Tile38 Redis module? If so, could the Tile38 module be used in "regular" Redis alongside other Redis modules?

Lol looks like this database needs its own database. Yeah seems like it should be a plugin or library not sure why it's standalone if it's just backed by redis.

Re: Tile38 – Realtime geofencing and geospatial index, v1.7.0

#19
post #17
post #5

Earlier quoted context omitted.

> I see that it is in Memory, but are there any practical limits? Yes. The in-memory database is basically a big btree + a big rtree. These trees contain many pointers to geo objects and depending on the complexity of the objects, it may take up a lot of memory. A 16GB machine can typically store 100 million+ points. > How much memory is recommended for what size datasets? Depends on the type of object and the length…

> Tile38 uses the Redis protocol Under the hood, is Tile38 a distribution of Redis with a Tile38 Redis module? If so, could the Tile38 module be used in "regular" Redis alongside other Redis modules?

It's custom. I explored a Redis fork months ago, prior to the ability for modules. https://github.com/tidwall/redis-gis

I then tried to make a module but redis modules do not support hooking into the pubsub tooling, so Tile38 live geofencing and webhooks were not possible.

Re: Tile38 – Realtime geofencing and geospatial index, v1.7.0

#20
post #17

Earlier quoted context omitted.

> Tile38 uses the Redis protocol Under the hood, is Tile38 a distribution of Redis with a Tile38 Redis module? If so, could the Tile38 module be used in "regular" Redis alongside other Redis modules?

Lol looks like this database needs its own database. Yeah seems like it should be a plugin or library not sure why it's standalone if it's just backed by redis.

It's not backed by Redis. It's fully standalone. I wish I could have made a redis module back when I started the project, but I'm plenty happy how Tile38 has matured.
Post reply on HN