Architecture

Hyperstream (I.S.K. acceleration service) exposes a REST API that can be used by any client. To accelerate queries clients will submit their queries to an enrichment endpoint that will add additional clauses that are informed by index information.

A typical flow may look like this:

  1. The client submits a put request to create an index over a given table for a given table field:

    PUT /api/index
    {
      "topic": "customers"
      "field": "Name"
    }
  2. Next the created index is used to enrich and analytical query

    POST /api/enrich
    {
      "sql" : "SELECT * FROM customers WHERE Name = 'Judith Gottlieb'"
    }

    returns:

    {
      "originalSql" : "SELECT * FROM customers WHERE Name = 'Judith Gottlieb'"
      "enrichedSql" : "SELECT * FROM (SELECT *  FROM customers WHERE (( kafka_partition = 0 AND kafka_offset >= 334000 AND kafka_offset < 335000)) OR  (( kafka_partition = 0 AND kafka_offset >= 999999 )))  WHERE Name = 'Judith Gottlieb'"
    }
  3. Analytical clients can then execute this enriched query and benefit from dramtically increased performance (30x - 100x is common).

Last updated