News

Today, we’ve shipped a new version 0.2.2 of droonga-client-ruby! It provides client library for Ruby and command line tools.

Most important topic of this version is: now the droonga-groonga command supports multiple commands given via the standard input, like Groonga’s groonga command. For example, you can apply your schema definition to a Droonga cluster like as:

$ cat /path/to/schema.grn | droonga-groonga --host node0 --port 10031

You already been able to get similar result by a combination of grn2drn and the droonga-request command, but now you can do it by only one simple command droonga-groonga easily. Let’s try Droonga via the command, if you are familiar to Groonga!

Moreover, droonga-add, droonga-system-status and droonga-groonga now support a new command line option --dry-run. You’ll do it to forecast what’s happen on the cluster by thoese commands.

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

The reference manual of command line tools is now available!

It covers major command line tools provided by Droonga and related projects, so it will help you to read tutorials and try to Droonga.

Very sorry for this delay, now we’ve released Droonga 1.1.0 with a long-cherished feature!

What’s Droonga?

Droonga is a distributed full text search engine, compatible to Groonga. A Droonga cluster works like an HTTP server compatible to Groonga with the replication feature.

Are you interested in Droonga: how it works and how useful? Let’s try the tutorial for an introduction, and see the overview to understand Droonga’s design strategy more and more.

True hot-add of replica nodes is now available!

The most important topic on this release Droonga 1.1.0 is true hot-add of replica nodes. It was one of long-planned features of Droonga, but we’ve got it. Now you can add new replica nodes to your Droonga cluster without any downtime, even if you don’t stop crawling/adding new data!

To do it, you have to have two or more replicas in the cluster, except the new adding replica node. For more information, see tutorial for adding replica nodes.

Detailed list of improvements

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

Thank you for your entry to our conference “Groonga Night 5th” at 2014-11-29!

Droonga 1.0.9 is an extra release. On the session at the conference, we have some troubles. Those issues have been fixed at this release!

Improvements of Droonga 1.0.9

First, now droonga-engine-join, droonga-engine-unjoin, and droonga-engine-absorb-data are runnable on any node. In old versions, those commands had some elusive preconditions, so they were inconvenience a little.

Second, unjoined nodes are correctly invisible from droonga-http-servers. At the previous version, droonga-http-server unexpectedly kept connections to droonga-engine nodes even if they were already unjoined from the cluster. Now droonga-engine nodes manage their relations by unique id for each Droonga cluster, and droonga-http-server can detect which engine node was unjoined by the cluster’s id.

These fixes will let you more easy to try Droonga!

Detailed list of improvements

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

What’s Droonga?

Droonga is a distributed full text search engine, compatible to Groonga. A Droonga cluster works like an HTTP server compatible to Groonga with the replication feature.

Are you interested in Droonga: how it works and how useful? Let’s try the tutorial for an introduction, and see the overview to understand Droonga’s design strategy more and more.

Improvements in Droonga 1.0.8

This release Droonga 1.0.8 contains many improvements. Major topics are here:

Orchestration of front-end HTTP server nodes

A front-end HTTP server node based on droonga-http-server has become to a member of the Droonga cluster truly.

In old versions, a droonga-http-server node was strongly bound to a droonga-engine node. So, if a droonga-engine node died, droonga-http-server nodes associated to the droonga-engine node also died.

But now, the limitation has been gone. Even if one of droonga-engine node become unavailable, droonga-http-server nodes keep them working with active droonga-engine nodes automatically. Moreover, a droonga-http-server node distributes requests from clients to multiple droonga-engine nodes. In other words, now it works like a simple load balancer.

Better performance for search operations, especially with groupBy (Groonga’s select with drilldown options)

The performance issue around groupBy is solved for replicas with single slices. Moreover, search operations with offset option also optimized.

Benchmark results (comparisons with Groonga) are here:

A layered graph of throughput A layered graph of latency

Conditions:

Detailed results are downloadable.

As above, currently throughput performance of single Droonga node is comparable to Groonga. Moreover, throughput limit can be extended by adding more Droonga nodes to the cluster.

On the other hand, there is a little latency basically on Droonga. However, large number accesses turn the advantage around the upper limit of Groonga. If there are too many requests, Droonga can respond quickly than Groonga.

Better compatibility to Groonga

Some minor incompatibilities have been corrected.

Detailed list of all improvements

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

What’s Droonga?

Droonga is a distributed full text search engine, compatible to Groonga. A Droonga cluster works like an HTTP server compatible to Groonga with the replication feature.

Are you interested in Droonga: how it works and how useful? Let’s try the tutorial for an introduction, and see the overview to understand Droonga’s design strategy more and more.

A fatal issue of service scripts is fixed!

Droonga 1.0.7 is an urgent release. Service scripts introduced at Droonga 1.0.6 had a fatal issue - installed droonga-engine and droonga-http-server services cannot be started after the computer is rebooted. This problem has been fixed on 1.0.7.

Because service scripts are updated, you have to re-install droonga-engine and droonga-http-server by installation scripts like:

# curl https://raw.githubusercontent.com/droonga/droonga-engine/master/install.sh | \
    bash
# curl https://raw.githubusercontent.com/droonga/droonga-http-server/master/install.sh | \
    bash

Other major topics are:

Detailed list of improvements

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

Sorry, long time no see. We sadly skipped a release on the last month, however, we’ve been back with Droonga 1.0.6 and a great improvement!

What’s Droonga?

Droonga is a distributed full text search engine, compatible to Groonga. A Droonga cluster works like an HTTP server compatible to Groonga with the replication feature.

Droonga became more easy-to-install!

The most important topic on this release Droonga 1.0.6 is the very easy installation. Droonga’s main components, droonga-engine and droonga-http-server are now installable via script for each, so you just run scripts as the root, just like:

# curl https://raw.githubusercontent.com/droonga/droonga-engine/master/install.sh | \
    bash
# curl https://raw.githubusercontent.com/droonga/droonga-http-server/master/install.sh | \
    bash

Then droonga-engine and droonga-http-server are automatically registered as system services managed via the service command. You just have to run simple commands to start/stop services, like:

# service droonga-engine start
# service droonga-http-server start

Moreover, utility commands to manage nodes in the cluster (like droonga-engine-join and droonga-engine-unjoin) also became more easy-to-use. For more details, see the updated “getting started” tutorial and others.

On the other hand, there is a sad news: Droonga’s installation scripts now work only for Debian, Ubuntu, and CentOS 7. Other environments (for example CentOS 6.5, OS X, BSD… and more) are not supported yet. So, if you have knowledges how to install required commands gem, npm (and git) and how to register custom services, please improve the installation script and send pull requests us!

For developers

The installation script works for not only the latest release, but the latest revision of the master branch also. You just have to give an extra environment variable VERSION, like:

# curl https://raw.githubusercontent.com/droonga/droonga-engine/master/install.sh | \
    VERSION=master bash
# curl https://raw.githubusercontent.com/droonga/droonga-http-server/master/install.sh | \
    VERSION=master bash

Then the script tries to install services based on the master. It will help you to try new fixes before the next release.

And, there is a new tutorial to prepare multiple virtual machines on your own PC. It will help you to try Droonga casually.

Detailed list of improvements

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

About Droonga

Droonga is a distributed full text search engine, compatible to Groonga.

It is designed as a scalable data processing engine, based on a stream oriented processing model. In many operations (searching, updating, grouping, and so on), Droonga processes various data by pipeline. As the result, Droonga has large potential around its flexibility and extensibility. Moreover, those features provide high availability for people who develop any data processing engine based on Droonga. You can process complex operations by mixing operations, and you can add custom operations to Droonga via plugins written as Ruby-scripts.

Are you interested in Droonga? See overview for more details, and try the tutorial. You’ll understand how Droonga works with these documentations.

About this release

The current Droonga version is 1.0.5.

On this release, some stability issues are fixed. Droonga becomes more safe, more usable. Detailed list of improvements are:

And, related projects are also released:

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

Today, we’ve released grn2drn 1.0.3.

On this version, grn2drn’s --dataset parameter became optional. If you omit the option, Default is used as the dataset.

And, now a new --encoding option is available for grn2drn. It will help you if you created Groonga’s database with non-UTF-8 encoding (Shift_JIS, EUC-JP, etc.)

About Droonga

Droonga is a distributed full text search engine, compatible to Groonga.

It is designed as a scalable data processing engine, based on a stream oriented processing model. In many operations (searching, updating, grouping, and so on), Droonga processes various data by pipeline. As the result, Droonga has large potential around its flexibility and extensibility. Moreover, those features provide high availability for people who develop any data processing engine based on Droonga. You can process complex operations by mixing operations, and you can add custom operations to Droonga via plugins written as Ruby-scripts.

Are you interested in Droonga? See overview for more details, and try the tutorial. You’ll understand how Droonga works with these documentations.

About this release

The current Droonga version is 1.0.4.

The most important topic on this release is that new command line tools to modify cluster composition easily. You don’t need to run various commands again and again anymore. See dump-restore tutorial and another tutorial to add/remove replica.

The release has the following improvements:

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

About Droonga

Droonga is a distributed full text search engine, compatible to Groonga.

It is designed as a scalable data processing engine, based on a stream oriented processing model. In many operations (searching, updating, grouping, and so on), Droonga processes various data by pipeline. As the result, Droonga has large potential around its flexibility and extensibility. Moreover, those features provide high availability for people who develop any data processing engine based on Droonga. You can process complex operations by mixing operations, and you can add custom operations to Droonga via plugins written as Ruby-scripts.

Are you interested in Droonga? See overview for more details, and try the tutorial. You’ll understand how Droonga works with these documentations.

About this release

The current Droonga version is 1.0.3.

The most important topic on this release is that there are many improvements to use a Droonga cluster as a stable service. Now Droonga nodes observe each other and keep the cluster working even if one of replicas is dead. And you can add new replicas, remove existing replicas, and replace replicas with new one, without stopping of the cluster (only for “read-only” requests). For more details, see the dump-restore tutorial and another tutorial to add replica.

The release has the following improvements:

And, related projects are also released:

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

About Droonga

Droonga is a scalable data processing engine, based on a stream oriented processing model. In many operations (searching, updating, grouping, and so on), Droonga processes various data by pipeline. As the result, Droonga has large potential around its flexibility and extensibility. Moreover, those features provide high availability for people who develop any data processing engine based on Droonga. You can process complex operations by mixing operations, and you can add custom operations to Droonga via plugins written as Ruby-scripts.

Are you interested in Droonga? See overview for more details, and try the tutorial. You’ll understand how Droonga works with these documentations.

About this release

The current Droonga version is 1.0.2.

The most important topic on this release is that the core component aka Droonga Engine becomes Fluentd-free. As the result, the project (and the Gem package) fluent-plugin-droonga is renamed to droonga-engine. Of course the compatibility of the Fluentd-protocol is still there.

And, now Droonga has better compatibility to Groonga. Moreover there is a new tutorial for Groonga users aiming to migrate from Groonga to Droonga. Droonga is still under development, but it already can work as a Groonga with the replication feature. Feel free to try it on!

Details of improvements on this release are:

And, related projects are also released:

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

At the day 2014-03-29, we released grn2drn 1.0.1 also. We forgot to write this topic in the list of updated projects…

The project grn2drn provides some command line tools to use Groonga’s command lists for Droonga. For example, you can generate a JSONs file from Groonga’s load command line.

In this release, we added a new command grn2drn-schema which converts any Groonga’s command list to the “schema” part of the catalog.json. It will help you to write your custom catalog.json by hand, if you know how to define Groonga’s tables.

About Droonga

Droonga is a scalable data processing engine, based on a stream oriented processing model. In many operations (searching, updating, grouping, and so on), Droonga processes various data by pipeline. As the result, Droonga has large potential around its flexibility and extensibility. Moreover, those features provide high availability for people who develop any data processing engine based on Droonga. You can process complex operations by mixing operations, and you can add custom operations to Droonga via plugins written as Ruby-scripts.

Are you interested in Droonga? See overview for more details, and try the tutorial. You’ll understand how Droonga works with these documentations.

About this release

The current Droonga version is 1.0.1.

The release has the following improvements:

And, related projects are also released:

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

About Droonga

Droonga is a scalable data processing engine, based on a stream oriented processing model.

Droonga is a distributed fulltext search engine

Droonga provides high-power, scalable fulltext search feature including data-storage features.

Droonga can search information from a large database based on multiple partitions and multiple hardwares. You don’t have to think about the maximum limit of the size of storage, CPU resources, and so on. If remaining capacity becomes tight, then you just have to add new nodes to your cluster.

See overview for more details, and try the tutorial.

Droonga is a distributed generic data processing engine

In many operations (searching, updating, grouping, and so on), Droonga processes various data by pipeline. As the result, Droonga has large potential around its flexibility and extensibility. Moreover, those features provide high availability for people who develop any data processing engine based on Droonga. You can process complex operations by mixing operations, and you can add custom operations to Droonga via plugins written as Ruby-scripts.

To develop your custom plugins, see the plugin development tutorial.

About this release

The current Droonga version is 1.0.0. This is the first major release!!

The release has the following changes:

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

About Droonga

Droonga is a scalable data processing engine, based on a stream oriented processing model. In many operations (searching, updating, grouping, and so on), Droonga processes various data by pipeline. As the result, Droonga has large potential around its flexibility and extensibility. Moreover, those features provide high availability for people who develop any data processing engine based on Droonga. You can process complex operations by mixing operations, and you can add custom operations to Droonga via plugins written as Ruby-scripts.

Are you interested in Droonga? See overview for more details, and try the tutorial. You’ll understand how Droonga works with these documentations.

About this release

The current Droonga version is 0.9.9.

The release has the following improvements:

Why we ship Droonga 0.9.9 before 1.0.0?

On the previous release, we announced that we’ll release the version 1.0.0 today. However, now the version 0.9.9 is released. Why not 1.0.0? There are two reasons mainly.

First, plugin APIs were not matured yet. While we were brushing up internal operations of Droonga, we realized that it is hard to develop plugins, because current implementations were built on disorganized codes. Moreover, if people develop any plugin based on the current bad APIs and publish them, then they will become obsolete in very near future, because we define new plugin APIs which completely incompatible with the old one, on the version 1.1, 1.2, or 1.3. We thought that we should stabilize plugin APIs before the version 1.0.0 become public.

Second, we had to rethink the message flow around distributed operations. Droonga should support recursive distributions of messages, but the current message flow couldn’t describe such complex combinations of messages. To introduce such flexibility to Droonga, we had to reconstruct plugin APIs around distributing and collection phases. But rewriting of those mechanism takes much more time and we couldn’t complete it before today.

Then, we decided to postpone shipping of the version 1.0.0. 1.0.0 will be released at 2014-02-28.

Instead, we’ve stabilized plugin APIs for adaptation phase ahead of other phases. Now you can study how to develop Droonga plugins, via steps to develop plugins for adaptation phase.

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

About Droonga

Droonga is a scalable data processing engine. Droonga uses stream oriented processing model. Droonga processes data by pipeline. Many operations such as search, update, group are done in pipeline. The processing model provides flexibility and extensibility. Droonga can also process complex operations by mixing operations. Users can add custom operations to Droonga as Ruby plugins.

Are you interested in Droonga? See overview. It describes more details. Then try tutorial. You will understand how Droonga works with these documentations.

About this release

The current Droonga version is 0.9.0.

The release has the following improvements:

Here are incompatible changes in experimental features:

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

This is the first stable release of Droonga!

About Droonga

Droonga is a scalable data processing engine. Droonga uses stream oriented processing model. Droonga processes data by pipeline. Many operations such as search, update, group are done in pipeline. The processing model provides flexibility and extensibility. Droonga can also process complex operations by mixing operations. Users can add custom operations to Droonga as Ruby plugins.

Are you interested in Droonga? See overview. It describes more details. Then try tutorial. You will understand how Droonga works with these documentations.

About this release

The current Droonga version is 0.8.0. This is the first stable release.

The release has the following improvements:

Conclusion

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!

This is the first release of Droonga!

About Droonga

Droonga is a scalable data processing engine. Droonga uses stream oriented processing model. Droonga processes data by pipeline. Many operations such as search, update, group are done in pipeline. The processing model provides flexibility and extensibility. Droonga can also process complex operations by mixing operations. Users can add custom operations to Droonga as Ruby plugins.

Are you interested in Droonga? See overview. It describes more details. Then try tutorial. You will understand how Droonga works with these documentations.

Who does try it?

The current Droonga version is 0.7.0. It means “usable” not “stable”. The current Droonga provides basic core features but many other features aren’t implemented yet. Error handlings are also not perfect yet.

If you are interested in Droonga and you don’t care about try & error, please try the current Droonga! If you have questions, please contact us on GitHub issues. Or use mailing list in English (groonga-talk) or in Japanese (groonga-dev). We will help you.

If you are interested in Droonga but you don’t want to avoid try & error, please try again a few months after. Droonga project continues to develop Droonga actively and release a new version every month. You will get more usable Droonga a few months after.

Conclusion

Droonga project welcomes you to join us as a user and/or a developer!