Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add release announce about Groonga 4.1.1
- Loading branch information
Showing
1 changed file
with
144 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,144 @@ | ||
| --- | ||
| layout: post.en | ||
| title: Groonga 4.1.1 has been released | ||
| description: Groonga 4.1.1 has been released! | ||
| --- | ||
|
|
||
| ## Groonga 4.1.1 has been released | ||
|
|
||
| [Groonga 4.1.1](/docs/news.html#release-4-1-1) has been released! | ||
|
|
||
| How to install: [Install](/docs/install.html) | ||
|
|
||
| ### Changes | ||
|
|
||
| In this release, there are following topics: | ||
|
|
||
| * Improvements | ||
| * Supported [drilldown](/docs/reference/commands/select.html#select-drilldown) with sum up feature | ||
| * Supported groonga-httpd with stream dump processing | ||
| * Experimental improvements | ||
| * Supported more compact default database size on Windows | ||
| * Supported Groonga with jemalloc to improve performance in | ||
| multi-threaded usage | ||
|
|
||
| #### Improvement - Supported drilldown with sum up feature | ||
|
|
||
| In this release, drilldown with named label is extended. It supports drilldown with SUM, MIN, MAX or AVG by each group. | ||
| See [calc_types](/docs/reference/commands/select.html#select-drilldown-calc-types) about detail of each operator. | ||
|
|
||
| Try to pass following parameter to select command: | ||
|
|
||
| --drilldown[${LABEL}].calc_types=(SUM,MIN,MAX or AVG) \ | ||
| --drilldown[${LABEL}].calc_target=(COLUMN) | ||
|
|
||
| Here is the simple example which use MAX. | ||
|
|
||
| table_create Tags TABLE_PAT_KEY ShortText | ||
|
|
||
| table_create Memos TABLE_HASH_KEY ShortText | ||
| column_create Memos tag COLUMN_SCALAR Tags | ||
| column_create Memos priority COLUMN_SCALAR Int64 | ||
|
|
||
| load --table Memos | ||
| [ | ||
| {"_key": "Groonga1", "tag": "Groonga", "priority": 10}, | ||
| {"_key": "Groonga2", "tag": "Groonga", "priority": 20}, | ||
| {"_key": "Groonga3", "tag": "Groonga", "priority": 40}, | ||
| {"_key": "Mroonga1", "tag": "Mroonga", "priority": 50}, | ||
| {"_key": "Mroonga2", "tag": "Mroonga", "priority": 25}, | ||
| {"_key": "Mroonga3", "tag": "Mroonga", "priority": 10}, | ||
| {"_key": "Rroonga1", "tag": "Rroonga", "priority": 25}, | ||
| {"_key": "Rroonga2", "tag": "Rroonga", "priority": -25}, | ||
| {"_key": "Rroonga3", "tag": "Rroonga", "priority": 0} | ||
| ] | ||
|
|
||
| select Memos \ | ||
| --limit 0 \ | ||
| --drilldown[tag].keys tag \ | ||
| --drilldown[tag].calc_types MAX \ | ||
| --drilldown[tag].calc_target priority \ | ||
| --drilldown[tag].output_columns _key,_max | ||
|
|
||
| Here is the drilldown results. | ||
|
|
||
| { | ||
| "tag": [ | ||
| [ | ||
| 3 | ||
| ], | ||
| [ | ||
| [ | ||
| "_key", | ||
| "ShortText" | ||
| ], | ||
| [ | ||
| "_max", | ||
| "Int64" | ||
| ] | ||
| ], | ||
| [ | ||
| "Groonga", | ||
| 40 | ||
| ], | ||
| [ | ||
| "Mroonga", | ||
| 50 | ||
| ], | ||
| [ | ||
| "Rroonga", | ||
| 25 | ||
| ] | ||
| ] | ||
| } | ||
|
|
||
| The data is grouped by tag, there are three groups - "Groonga", "Mroonga" and "Rroonga". Each result contains the max value in group. Note that calculated value is accessed by [pseudo](/docs/reference/columns/pseudo.html) columns such as `_max` and `_min` in [output_columns](/docs/reference/commands/select.html#select-drilldown-label-output-columns). | ||
|
|
||
| If you want to get not only max value, but also min value, specify multiple types for calc_types. | ||
| Here is the example which gets max value and min value: | ||
|
|
||
| --drilldown[tag].calc_types MAX,MIN | ||
|
|
||
| Don't forget to specify pseudo column name "_min". | ||
|
|
||
| --drilldown[tag].output_columns _key,_max,_min | ||
|
|
||
| Then, you can get max value and min value in each group. | ||
|
|
||
| #### Supported groonga-httpd with stream dump processing | ||
|
|
||
| In this release, groonga-httpd supported dump command with stream processing. | ||
| By this change, it will not happen to exhaust memory by executing dump command. | ||
|
|
||
| #### Experimental improvement - Supported more compact default database size on Windows | ||
|
|
||
| In this release, more compact default database size on Windows is supported. | ||
|
|
||
| In the previous versions, Groonga uses more larger default database size (128MiB) on Windows. The size of database increases every you create new column. | ||
|
|
||
| It is not efficient, now Groonga supports to expand database size gradually as same as other GNU/Linux environment. | ||
|
|
||
| To enable this feature, set `GRN_IO_VERSION=1` as environment variable. By default, it is not enable because it is in experimental stage. | ||
|
|
||
| Please give us feedback how it improves disk usage. It is important to enable by default. | ||
|
|
||
| #### Experimental improvement - Supported Groonga with jemalloc to improve performance in multi-threaded usage | ||
|
|
||
| In this release, you can build Groonga with jemalloc support. This change will improve multi-threaded performance. | ||
| jemalloc support is suitable for groonga command or Mroonga because they are adobt multi-threaded model. | ||
|
|
||
| Note that it is no impact to groonga-httpd because it use multi-process model. | ||
|
|
||
| If you dislike to build Groonga on your own, try LD_PRELOAD environment variable. | ||
|
|
||
| Here is the example command: | ||
|
|
||
| LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1 groonga | ||
|
|
||
| Please give us feedback how it affects performance. | ||
|
|
||
| ### Conclusion | ||
|
|
||
| See [Release 4.1.1 2015-01-29](/docs/news.html#release-4-1-1) about detailed changes since 4.1.0. | ||
|
|
||
| Let's search by Groonga! |