Overview
The BigQuery driver is a middleware item between IOTA and Google BigQuery. The purpose of the driver is to provide
seamless integration between two systems. The driver is state-less, i.e., it doesn't maintain source connections and any
data caches. The single BigQuery-Driver service can support multiple connections to different BigQuery projects.
The driver supports the following object types:
Data Type | Supported? |
---|---|
Tags | 🟢 |
Assets | 🟢 |
Timeframes | ⚫ |
Diagram
Technical Specification
Description | Value |
---|---|
Development Language | GoLang |
Processor Architecture | 64-bit |
Supported Operating Systems | Windows/Linux/OSX |
Deployment Size | 41.5 Mb |
Data modes | Read |
Request/Response pattern | Asynchronous |
Source Communication | OpenAPI |
Back-end Communication | NATs message bus |
Message bus driver type | bigquery |
Near Real-Time Data Updates | Yes |
Multiple BigQuery Projects | Yes |
Dependencies
The BigQuery driver is installed alongside the main IOTA Vue service within a containerized environment such as Kubernetes,
Docker or Podman.
Security
Source Security
By default, the BigQuery-Driver service uses configured service's organization/token identity for secure connections to BigQuery cloud.
IOTA API (back-end) Security
The BigQuery-Driver uses NATs message bus to communicate with the back-end IOTA API. The two-way data traffic is encrypted
using Transport Layer Security (TLS) on port 443. In addition, the message bus communication security model uses a
public-key signature system based on Ed25519 called NKeys. With NKeys, the server can verify identities without ever
storing or seeing private keys. The authentication system works by requiring a connecting client to provide its public
key and digitally sign a challenge with its private key. The server generates a random challenge with every connection
request, making it immune to playback attacks. The generated signature is validated against the provided public key,
thus proving the client's identity. If the public key is known to the server, authentication succeeds.