Skip to content

eKuiper brain storming

ngjaying edited this page Jul 28, 2023 · 8 revisions

Design For Edge

Should always fit the usage in resource-constrained, bandwidth sensitive and mass deployment node environments.

  • Smaller footprint and higher throughput *** Daily performance benchmark** +3
  • Self manageable: the management operation should be automatic in most cases
  • Sys table for configures, and aggregate metrics
  • Edge/cloud connection enhancement: cache, resume etc.
  • Measurable, monitor and alert
    • Customize metrics
  • Export diagnostic info by one command, like go env +2
  • Error handling
  • Rate limit

Multi-stream

  • Easier to connect streams
  • Merge messages

Optimize for schema-less data

  • Avoid performance reduction
  • Infer schema: more static validation (Rockset)

Serialization

  • Faster format
  • Partly decode: only decode part of the message for the required field
  • Encrypt/decrypt

SQL expressiveness

  • Define variable by let
  • Pattern Recognition
  • With CTE/subquery

Fault-tolerance

  • Source cache for back pressure
  • Faster checkpoint

Cluster for LB/HA

Integration

  • Neuron: faster format + auto schema
  • EdgeX: faster format

Programable

  • SDK vs API
  • Modularize and module tool (xgo & xcaddy)

Industry

  • No OTA: enhance plugin and AI model
  • Predefine rule like sourcing

Connectors

  • grpc
  • websocket
  • http2 push: android 车机
  • ssh

Refactor

  • gorilla/mux -> chi
  • Runtime optimization: constant folding
  • Incremental window