thatdot/quine

By thatdot

Updated 3 months ago

Quine - a Streaming Graph

Image
Databases & Storage
Monitoring & Observability
Security
4

10K+

Quine

What is Quine

Quine combines the real-time event stream processing capabilities of systems like Flink and ksqlDB with a graph-structured data model as found in graph databases like Neo4j and TigerGraph. Quine is a key participant in a streaming event data pipeline that consumes data, builds it into a graph structure, runs computation on that graph to answer questions or compute results, and then stream them out.

Quine Streaming Graph Pipeline

All together, Quine can:

  • Ingest high-volume streaming event data from stream processing systems like Kafka, Kinesis, APIs or databases/data warehouses
  • Convert and merge it into durable, versioned, connected data (a graph)
  • Monitor that connected data for complex structures or values
  • Trigger arbitrary computation in the event of each match
  • Emit high-value events out to stream processing systems like Kafka, Kinesis, APIs or databases/data warehouses

This collection of capabilities represents a complete system for stateful event-driven arbitrary computation in a platform scalable to any size of data or desired throughput.

How to use this image

Launch Quine

Quine is distributed via Docker Hub and can be installed and launched with a single command.

  1. Open a terminal window
  2. With the Docker desktop application running, issue the following command
❯ docker run -p 8080:8080 thatdot/quine

If successful, you will see a message similar to the following appear in the terminal.

Unable to find image 'thatdot/quine:latest' locally
latest: Pulling from thatdot/quine
2408cc74d12b: Pull complete
3d4177d25912: Pull complete
84eef58e1007: Pull complete
7d414c479da8: Pull complete
ac0978c82c5c: Pull complete
5e38591d5629: Pull complete
Digest: sha256:8200a2ea46aaa021865cfa7e843c65bb3f6dded4d00329217800f1a26df36e14
Status: Downloaded newer image for thatdot/quine:latest
Graph is ready
Quine web server available at http://127.0.0.1:8080

Verify that Quine is operating using the admin/build-info API endpoint.

❯ curl -s "http://127.0.0.1:8080/api/v1/admin/build-info" | jq '.'
{
  "version": "1.3.2",
  "gitCommit": "6f8bb1b3a308d9c90cc71a2328858907ec341e74",
  "gitCommitDate": "2022-08-10T11:01:51-0700",
  "javaVersion": "OpenJDK 64-Bit Server VM 17.0.2 (Azul Systems, Inc.)",
  "persistenceWriteVersion": "12.0.0"
}

You can connect to the Quine exploration UI by entering http://127.0.0.1:8080 into your browser.

Please visit the Quine docs site for a complete explanation of how to use Quine in your project.

Launch Quine Recipe

To run a Recipe, use the Quine command line argument -r, followed by the name of the Recipe (from https://quine.io/recipes), or a local file (ending in .json or .yaml), or a URL.

For example use the following command to run the Ethereum Recipe:

❯ docker run -p 8080:8080 thatdot/quine -r ethereum

While Quine is running, a web user interface is available at localhost:8080.

Getting Started

The getting started tutorials will teach you to install Quine, connect an ingest stream to an event source in your data pipeline, shape events into a graph, inspect your data, and develop business logic using a standing query.

Have a question, suggestion, or did you get stuck somewhere? We welcome your feedback!

Please drop into Quine Discord and let us know. The team is always happy to discuss Quine and answer your questions.

License

View license information for Quine.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

Docker Pull Command

docker pull thatdot/quine