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.

+3


source to share


1 answer


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

+2


source







All Articles