The project is in a healthy, maintained state
Groonga storage for ROMA. Set Roma::Storage::GroongaStorage to STORAGE_CLASS in config.rb of ROMA.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

>= 0
~> 3.0

Runtime

>= 15.0
 Project Readme

roma-storage-groonga

A Groonga storage for ROMA, a distributed key-value store.

Installation

This gem uses rroonga, which needs Groonga 12.0.2 or later. Install Groonga first, for example:

$ brew install groonga                 # macOS
$ sudo apt-get install libgroonga-dev  # Ubuntu, from ppa:groonga/ppa

Without Groonga, rroonga builds it from the source, which takes a while. See the install guide of Groonga for other systems.

Then add this line to the Gemfile of your ROMA server:

gem 'roma-storage-groonga'

And then run bundle install. Or install it yourself:

$ gem install roma-storage-groonga

Usage

In the config.rb of ROMA, require the storage and set it to STORAGE_CLASS:

require 'roma/storage/groonga'

module Roma
  module Config
    # ...
    STORAGE_CLASS = Roma::Storage::GroongaStorage
    # ...
  end
end

Each node keeps its data in STORAGE_PATH/<node-id>/<hash-name>/, divided into STORAGE_DIVNUM Groonga databases named 0.grn, 1.grn and so on. Groonga writes some more files next to each of them.

Development

Run bundle install, then bundle exec rake spec to run the tests.

License

GPL-3.0. See LICENSE.txt.