Norikra is an open-source Stream Processing Server with SQL.

  • Schema-less event streams (called as 'target')
  • SQL processing with window specifier supports, and JOINs, SubQueries
  • Complex input/output events with nested Hashes and Arrays, and Query supports
  • Dynamic query registration/removing, without any restarts
  • Ultra fast bootstrap and small start
  • UDF plugins

Install and Execute

On JRuby environment, do these command (and, that all):

gem install norikra

To execute:

norikra start

For JRuby installation, you can use rbenv, rvm and xbuild, or install JRuby directly.

Install and launch


How to execute norikra server and tests in development

Fix code and tests:

  1. clone this repository
  2. run bundle install w/ jruby
  3. add/fix spec in spec/*_spec.rb
  4. fix code in lib
  5. run bundle exec rake

Execute norikra server with target/query continuation:

  1. bundle exec rake devserver
  2. Ctrl-C and re-execute for updated code


Use norikra-client cli command. These are available on both of JRuby and CRuby.

And the client library for application developers are also included in these gems.

For other languages:

Events and Queries



  • v1.5
    • Fix a bug not to shutdown correctly
    • Fix a bug to handle paths in logging incorrectly
  • v1.4
    • Add option handling about -D and -agentlib for JVM
    • Dependency update for msgpack.gem
  • v1.3
    • Dynamic plugin reloading by SIGHUP
    • Esper-5.2 bundle
    • Dependency update for msgpack.gem
  • v1.2
    • NULLABLE() fields
    • Pluggable listeners
  • v1.1
    • Suspend/Resume queries
  • v1.0
    • Esper-5.0 bundle
    • Pattern support
    • Nested object support
    • Built-in default JVM options
    • JSON APIs
    • Many more features
  • v0.1
    • First release for production usage

See for details.

  • Copyright (c) 2013- TAGOMORI Satoshi (tagomoris)
  • License
    • GPLv2