HAYASHI Kentaro
null+****@clear*****
Thu Jan 29 15:59:08 JST 2015
HAYASHI Kentaro 2015-01-29 15:59:08 +0900 (Thu, 29 Jan 2015) New Revision: 13001c4dea6e07f8330a16f4e8a45febc530dfc8 https://github.com/groonga/groonga.org/commit/13001c4dea6e07f8330a16f4e8a45febc530dfc8 Message: Add release announce about Groonga 4.1.1 Added files: en/_posts/2015-01-29-release.md Added: en/_posts/2015-01-29-release.md (+144 -0) 100644 =================================================================== --- /dev/null +++ en/_posts/2015-01-29-release.md 2015-01-29 15:59:08 +0900 (90008fd) @@ -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! -------------- next part -------------- HTML����������������������������... Descargar