Aerospike

Aerospike is a flash-optimized in-memory open source NoSQL database designed for speed and reliability.

Cloud9Agent Configuration

Use Cloud9Agent inside your network to connect and extract data from Aerospike securely. See Cloud9Agent to download your agent along with instructions to run it.

Highlights:

  • Pull data from your Aerospike cluster directly, using Aerospike namespaces, set and index names.
  • Optionally cleanse/transform that data with Cloud9QL.
  • Execute queries on a schedule, or, one time.

The agent contains a datasource_example_aerospike.json and query_example_aerospike.json under the examples folder of the agent installation to get you started.

  • Edit those to point to your database and modify the queries to pull your data.
  • Move it into the config directory (datasource_XXX.json files first if the Agent is running).

Datasource Configuration:

Parameter Comments
Name Unique Datasource Name.
Datasource Set value to aerospike
url DB connect URL with host and port. Example: ec2-50-17-158-17.compute-1.amazonaws.com:3000
userId No userId applicable for Aerospike. Use "".
password No authentication applicable for Aerospike. Use "".

Query Configuration:

Query Config Params Comments
entityName Dataset Name Identifier
identifier A unique identifier for the dataset. Either identifier or entityName must be specified.
dsName Name of the datasource name configured in the datasource_XXX.json file to execute the query against. Required.
aerospikeNamespace Aerospike Namespace
aerospikeSet Aerospike Set Name
aerospikeIndex Aerospike Index Name
c9QLFilter Optional cleansing/transformation of the results from the Aerospike results using Cloud9QL. See [Cloud9QL](https://staging.knowi.com:9443/docs/cloud9QL.html) docs
frequencyType One of minutes, hours, days, weeks, months. If this is not specified, this is treated as a one-time query, executed upon Cloud9Agent startup (or when the query is first saved)
frequency Indicates the frequency if frequencyType is defined. For example, if this value is 10 and the frequencyType is minutes, the query will be executed every 10 minutes
startTime (Optional) Can be used to specify when the query should be run for the first time. If set, the frequency will be determined from that time onwards. For example, is a weekly run is scheduled to start at 07/01/2014 13:30, the first run will run on 07/01 at 13:30, with the next run at the same time on 07/08/2014. The time is based on the local time of the machine running the Agent. Supported Date Formats: MM/dd/yyyy HH:mm, MM/dd/yy HH:mm, MM/dd/yyyy, MM/dd/yy, HH:mm:ss,HH:mm,mm
overrideVals This enables data storage strategies to be specified. If this is not defined, the results of the query is added to the existing dataset. To replace all data for this dataset within Knowi, specify {"replaceAll":true}. To upsert data specify "replaceValuesForKey":["fieldA","fieldB"]. This will replace all existing records in Knowi with the same fieldA and fieldB with the current data and insert records where they are not present.

Datasource Example:

[
    {
        "name": "demoAerospike",
        "url":"ec2-50-17-158-17.compute-1.amazonaws.com:3000",
        "datasource":"aerospike",
        "userId": "",
        "password": "",
    }
]

Query Example:

[
  {
    "entityName":"Aerospike Demo",
    "dsName":"demoAerospike",
    "aerospikeNamespace":"test",
    "aerospikeSet":"newtest",
    "aerospikeIndex":"testIndex",
    "c9QLFilter":"select * where points > 150",
    "overrideVals":{
      "replaceAll":true
    },
    "startTime":"07:20",
    "frequencyType":"daily",
    "frequency":1
  }
]