Skip to content

typhon-project/typhondl

Repository files navigation

Build Status

TyphonDL

The Polystore - and therefore the TyphonDL model - consists of the following components:

  • Typhon API
  • Typhon UI
  • Typhon Metadata Database
  • Typhon QL
  • Optional Typhon Analytics
  • The User Databases

The user is only able to edit the DL model for the user databases and the analytics component, the other configuration parameters are provided by the respective components and are not editable. To create a Polystore, the TyphonDL Tools generate a TyphonDL model from a given TyphonML model. After completing the TyphonDL model, scripts are generated and the Polystore is started. When the Polystore is started, the ML and DL model are uploaded to the Typhon Metadata Database automatically. The Typhon API parses the DL model and provides the other components with connection information about all Polystore components. This way the DL model contains “addresses” to all the Polystore components.

A TyphonDL model can be created with the help of the TyphonDL Creation Wizard from the ML model. The wizard uses the previously defined (default or use-case specific) Templates and creates a TyphonDL model file and additional model files for every database that can be edited with the textual editor. When the DL model is ready, the TyphonDL Script Generator can be used to generate technology dependent deployment scripts. For further usage details consult the wiki.

Installation

There are two possible ways to add the TyphonDL plugin to Eclipse:

  1. Using the Typhon Update Site in Eclipse -> Help -> Install New Software... -> http://typhon.clmsuk.com:8082/
  2. Cloning this repository and building the update site with mvn clean package, then installing with Eclipse -> Help -> Install New Software... -> Add... -> Archive... -> .../typhondl/typhondl-update-site/target/typhondl-update-site-1.0.0-SNAPSHOT.zip

Usage

Please consult the wiki.

Polystore Deployment

After generating the Scripts the Polystore can be deployed

Docker Compose

Start the polystore:

$ docker-compose up -d

Show all running containers:

$ docker-compose ps

Show logs of a specific service (e.g. the API):

$ docker-compose logs typhon-polystore-service

Stop and remove the polystore:

$ docker-compose down

Docker Swarm

If the deployment scripts contain a Resource definition or the replication of stateless polystore parts (i.e. API, QL server and Analytics.Kafka), Docker has to be run in Swarm Mode. Start the polystore:

$ docker stack deploy --compose-file docker-compose.yaml typhon

Show all running containers:

$ docker stack services typhon

Stop and delete all Polystore containers:

$ docker stack rm typhon

Kubernetes

Start the polystore:

$ sh deploy.sh

Stop and delete the Polystore deplyoment:

$ kubectl delete namespaces typhon

If the analytics component was started and also should be stopped and removed:

$ kubectl delete namespaces kafka

If logging was started and also should be stopped and removed:

$ kubectl delete namespaces logging