X

The browser version you are using is not recommended for this site.
Please consider upgrading to the latest version of your browser by clicking one of the following links.

NOSQL/SQL Embedded Data Management for Edge Applications

Actian

A Helm chart for Actian Zen DB optimized for Intel Smart Edge Open 22.04

Overview of Actian Zen DB

Actian Zen Edge Data Management is a single, secure, modular, and scalable solution that embeds in or bundles with applications for remote/branch, mobile, and IoT data processing and analytics support. Zen provides SQL and NoSQL access for any type of data from within most popular programming languages on Windows (IoT Core, Desktop, Server), Linux (embedded and standard), MacOS running on Intel platforms and running on iOS/Android for mobile.

Prerequisites

Pre-deployed container images from https://github.com/ActianCorp/ActianZen-OpenNESS on edge nodes:

actianzen.tar.gz: The docker container image for the Actian Zen Server
zensample.tar.gz: The docker container for the Zen client and sample application

Images can be pre-deployed on edge nodes by copying them to the respective hosts and loading them in Docker these commands:

docker image load -i actianzen.tar.gz
docker image load -i zensample.tar.gz

The Helm charts for deploying these images are located under the “charts” and should be copied to the controller for deployment.

It is recommended that a namespace is created (such as “zen”) for deploying Actian Zen container and associated container applications.

Usage

Install the Actian Zen chart

kubectl create namespace zen

cd edgeapps/applications/actian-zen/helm-charts/actianzen
helm install -n zen actianzen.

Test Output

$ kubectl create namespace zen
namespace/zen created

$ cd edgeapps/applications/actian-zen/helm-charts/actianzen
$ helm install -n zen actianzen.
NAME: actianzen
LAST DEPLOYED: Mon Sep 28 12:47:50 2020
NAMESPACE: zen
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Installed actianzen.
The release is named actianzen.

Get the Actian Zen Server address by running the following:
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")

$ kubectl get all -n zen
NAME READY STATUS RESTARTS AGE
pod/actianzen-7fc4dfcf9d-7zsds 1/1 Running 0 39s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/actianzen NodePort 10.104.98.35 1583:30936/TCP,3551:31273/TCP 39s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/actianzen 1/1 1 1 39s
NAME DESIRED CURRENT READY AGE
replicaset.apps/actianzen-7fc4dfcf9d 1 1 1 39s
$ helm list -n zen
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
actianzen zen 1 2020-09-28 12:47:50.36313447 -0500 CDT deployed actianzen-0.1.0 14.11.23

Install Zen Sample App Chart

kubectl create namespace zen
cd edgeapps/applications/actian-zen/helm-charts/zensample

helm dep update
helm install -n zen zensample.

Test Output

$ cd edgeapps/applications/actian-zen/helm-charts/zensample
$ helm install -n zen zensample.
NAME: zensample
LAST DEPLOYED: Mon Sep 28 12:53:15 2020
NAMESPACE: zen
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Installed zensample.
The release is named zensample.
1. Get the application URL by running these commands:
export NODE_PORT=$(kubectl get --namespace zen -o jsonpath="{.spec.ports[0].nodePort}" services zensample)
export NODE_IP=$(kubectl get nodes --namespace zen -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT

$ kubectl get all -n zen
NAME READY STATUS RESTARTS AGE
pod/zensample-599cf67d6f-9dgg9 1/1 Running 0 76s
pod/zensample-actianzen-6cd5b6b99b-h8xmv 1/1 Running 0 76s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/zensample NodePort 10.102.123.154 5000:31846/TCP 76s
service/zensample-actianzen NodePort 10.98.136.49 1583:30490/TCP,3551:30974/TCP 76s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/zensample 1/1 1 1 76s
deployment.apps/zensample-actianzen 1/1 1 1 76s
NAME DESIRED CURRENT READY AGE
replicaset.apps/zensample-599cf67d6f 1 1 1 76s
replicaset.apps/zensample-actianzen-6cd5b6b99b 1 1 1 76s
$ helm list -n zen
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
zensample zen 1 2020-09-28 12:53:15.216141816 -0500 CDT deployed zensample-0.1.0 1.0.0

Configure Actian Zen

kubectl exec -it actianzen-pod-name -- bash

Test Output

[root@zensample-actianzen-6cd5b6b99b-kp4q4 /]# su -l zen-svc
Last login: Fri Sep 18 13:24:33 UTC 2020
-bash-4.2$ bcfg -o zenconfig.txt
Configuration Utility 14.11.021.000
Copyright (C) Actian Corporation

System settings written to file: zenconfig.txt

-bash-4.2$ head zenconfig.txt
===========================================
CATEGORY - 1: ACCESS NUMBER OF SETTINGS: 26
===========================================
Settings Count: 26
============================
USE LOCAL MICROKERNEL ENGINE
============================
ID: 18
Value: On
Options: On Off

Uninstall chart

helm uninstall -n zen actianzen
helm uninstall -n zen zensample

Test Output

release "zensample" uninstalled
release "actianzen" uninstalled

Additional Information

Learn more about Actian Zen at https://www.actian.com/data-management/zen-embedded-database/

Registered U.S. Patent No. 7,181,457, Registered U.S. Patent No. 6,988,165, Registered U.S. Patent No. 6,996,584, and other patents pending

Where to Purchase

Optimized for Intel® Smart Edge

Install

Actian

Pre load docker images on nodes

docker image load -i actianzen.tar.gz

Deploy service

kubectl create namespace zen
helm install -n zen actianzen.