Aerospike vs ignite DB When to use one over the other? in terms of indexing and performance
Reading the docs of both seems to be a lot like I can't decide which one to choose.
to add some context:
My use case is schema-nested nested collections of objects (think JSON), I need to be able to do joins and filtering on nested objects (2-3 levels deep).
For example, sake accepts a collection of cars:
{
type: "car",
engine: {
size: 2,
maker: {
country: "china",
importer: [
{
company: "abc-inc",
id: 234234
},
{
company: "abc-corp",
id: 321321
},
]
},
maker: "Ford"
}
I will need to query all cars where the importer has an engine of size = xx, made in country = xxxx, imported by the importer id = xxxxx, which will return a collection of type "car".
I would need to query all importers in a car collection where the return is a collection of importers. Then do the same query, but with importers of a specific id.
source to share
It looks like a simple SQL connection in Apache Ignite . However, you will need to define the minimum SQL schema required for your queries.
In your case, you need CAR caching, IMPORTER caching and cache. The request will look like this:
SELECT * from CAR c, ENGINE e, IMPORTER i where c.importer_id = i.id and c.engine_id = e.id and c.country = "xxxx" and e.size = xx;
You will also need to decide your replication strategy and choose whether some or all of your caches need to be ALLOWED or REPLICATED.
More on SQL here: SQL Grid
More on the replication strategy here: Cache Modes
source to share