SpaceBase is a server-side, in-memory, concurrent spatial database. Specifically designed for applications that require performing spatial operations with very low latencies or at very high rates.
Download NowSpaceBase uses a spatial variant of the R-Tree, as an index allowing fast, concurrent spatial queries. Stellar performance of ~1.5us per update and ~15us per query.
Simply pass your business logic code (like client notification, physics simulation, sensor fusion, collision detection or AI) as callback functions to SpaceBase, which will parallelize your business logic.
Alternatively, use Quasar to let SpaceBase parallelize you spatial logic without callbacks.
Distribute your spatial real-time application to multiple servers for limitless scaling. SpaceBase, when running on top of Galaxy, our open source, in-memory data grid, automatically distributes and load-balances spatial data across a cluster.
Pre-built queries include range queries (return all objects contained in a given region of space) and intersection queries (return all object intersecting a given region of space.
Join queries return pairs of objects that satisfy a certain condition. For example, return all pairs of objects that intersect one another, or return all pairs of objects that are within a given distance from one another.
Transactions executing on groups of objects at close proximity are executed atomically, while transactions operating on different object-groups that are spatially separated are parallelized with virtually zero interference with one another. All of the application-logic handling spatial objects can be run through SpaceBase and thus parallelized by it.
SpaceBase can distribute its objects among different servers for efficient load-balancing. Objects that are in relative close spatial proximity will usually be kept on the same server, but SpaceBase distributes the objects in such a way that each server would hold a similar number of objects. That is, a small region of space with a very high-density of objects would be distributed across several servers, while a large region with few objects would be kept on a single server, thus ensuring a reasonable work-sharing among servers.
A high-performance and high-precision geodesic library is included with SpaceBase. It can be used to compute distances and bearing between geographic points, as well as destination point given a starting point, a bearing and a distance.
SpaceBase is designed applications requiring low latency or a high write-ratio. SpaceBase is an excellent fit for interactive systems, where updates are done on many threads and/or servers, in response to concurrent network requests.
Supports huge 2D or 3D worlds
Runs embedded in your C++ or Java server
A few microseconds of latency to handle even the most demanding games
Parallelize physics, AI and other tasks
Use spatial queries to stream relevant data to the clients
Fast, parallel, collision detection with spatial joins
Update and query lots of moving geo-spatial objects
Supports hundreds of thousands of updates per second
Perform nearest-neighbor and region queries with unparalleled performance
APIs for Python, Ruby, Erlang and Node.js
Can serve as a basis for C4I/simulation systems tracking a huge number of 2D or 3D entities
Handles thousands of inputs each second concurrently
Parallelizes mathematical sensor-fusion computations and other logic