Replies: 2 comments
-
What about a concept like "custom indexable type" to keep the amount external dependencies low? |
Beta Was this translation helpful? Give feedback.
-
Hi @andrerav one approach to solving this at least partially could be to write am extension library that automatically configures the BsonMapper to properly serialize and deserialize your custom spatial type. I do this with my own custom types that are not supoorted out-of-the-box. Using an extension method would allow separating the additional libraries required from the core LiteDB code (which fortunately does not have any dependencies). Of course this would not cater for any custom indexing, which would require a plugable interface for indexing in LiteDB. Cheers |
Beta Was this translation helpful? Give feedback.
-
Hi,
First of all -- thank you for creating this super handy library! Now, down to business -- I'd like to gauge the interest for extending LiteDB with spatial capabilities, first and foremost by adding spatial indexing and some basic spatial functions. I must admit that this is not very well thought through, so I am just going to throw the idea out there and I hope you guys will chime in with feedback, corrections, suggestions or alternative ideas (also see the Questions section at the bottom).
Why
Spatial support is limited in existing NoSQL solutions, and location data (especially on mobile platforms) is getting more relevant by the day. I have come across two immediate use cases in my own projects; efficient storage and processing of location data on the edge (i.e a mobile device or a IoT device), and data engineering pipelines for transforming and processing medium-large spatial data sets (terabyte scale) in C# without resorting to PostGIS and other completely external dependencies. Also, all the building blocks are already available on the .NET platform.
The basic necessities for spatial support
Required changes in LiteDB that I can think of
(...and probably lots of other small and big things I haven't thought of)
Misc
Questions
LiteDB has no third party dependencies today, and I'm going to venture a guess that you guys might not be all that keen to pull inn a bunch of dependencies for spatial support. If that is the case, do you have any thoughts on whether it would be possible to extend LiteDB as it sits today to add spatial support as outlined above?
I'd like to note that I would happily volunteer to implement this if it turns out to be a nice way to do it that aligns with your architecture principles and future plans :)
Beta Was this translation helpful? Give feedback.
All reactions