[Groonga-commit] groonga/groonga.org at 5d407ac [gh-pages] blog ja: add release announce for 9.0.2

Back to archive index
Yasuhiro Horimoto null+****@clear*****
Fri Apr 26 16:08:42 JST 2019


Yasuhiro Horimoto	2019-04-26 16:08:42 +0900 (Fri, 26 Apr 2019)

  Revision: 5d407ac258fec6166932d45fcc799a65cd2aef89
  https://github.com/groonga/groonga.org/commit/5d407ac258fec6166932d45fcc799a65cd2aef89

  Message:
    blog ja: add release announce for 9.0.2

  Added files:
    ja/_posts/2019-04-29-groonga-9.0.2.md

  Added: ja/_posts/2019-04-29-groonga-9.0.2.md (+336 -0) 100644
===================================================================
--- /dev/null
+++ ja/_posts/2019-04-29-groonga-9.0.2.md    2019-04-26 16:08:42 +0900 (945cd0968)
@@ -0,0 +1,336 @@
+---
+layout: post.ja
+title: Groonga 9.0.2リリース
+description: Groonga 9.0.2をリリースしました!
+published: false
+---
+
+## Groonga 9.0.2リリース
+
+[Groonga 9.0.2](/ja/docs/news.html#release-9-0-2)をリリースしました!
+
+今回のリリースから、VC++で作成したWindows版パッケージを提供します。
+
+今までどおり、MinGWで作成したWindows版パッケージも提供しますが、近いうちにMinGWで作ったパッケージの代わりにVC++で作ったパッケージを提供する予定です。
+
+それぞれの環境毎のインストール方法: [インストール](/ja/docs/install.html)
+
+### 変更内容
+
+主な変更点は以下の通りです。
+
+* [column_create](/ja/docs/reference/commands/column_create.html) 新しいフラグ `INDEX_LARGE` を追加しました。
+
+* [object_inspect](/ja/docs/reference/commands/object_inspect.html) セグメントの新しい統計値 `next_physical_segment_id` と `max_n_physical_segments` を追加しました。
+
+* [logical_select](/ja/docs/reference/commands/logical_select.html) シャードをまたがったウインドウ関数をサポートしました。
+
+* [logical_range_filter](/ja/docs/reference/commands/logical_range_filter.html) シャードをまたがったウインドウ関数をサポートしました。
+
+* [logical_count](/ja/docs/reference/commands/logical_count.html) シャードをまたがったウインドウ関数をサポートしました。
+
+* [io_flush](/ja/docs/reference/commands/io_flush) 新しいオプション `--recursive dependent` を追加しました。
+
+* 一部の環境でコンパイルエラー "unknown type name 'bool'" が発生する問題を修正しました。
+
+* Int32を超える数を正しく出力できない問題を修正しました。
+
+### [column_create](/ja/docs/reference/commands/column_create.html) 新しいフラグ `INDEX_LARGE` を追加しました。
+
+このフラグによって、デフォルトの2倍の領域を持つインデックスカラムを作成できますが、メモリ使用量も2倍となることに注意して下さい。
+
+このフラグは、インデックス対象のデータが大きい時に有用です。
+大きいデータとは、大量のレコード(通常は少なくとも1000万レコード以上)があり、少なくとも次のうちの1つ以上の特徴があります。
+
+* インデックス対象が複数のカラム
+* インデックステーブルにトークナイザーが付いている
+
+以下は大きなインデックスカラムを作る例です。
+
+```
+  column_create \
+  --table Terms \
+  --name people_roles_large_index \
+  --flags COLUMN_INDEX|WITH_POSITION|WITH_SECTION|INDEX_LARGE \
+  --type People \
+  --source roles
+  [[0, 1337566253.89858, 0.000355720520019531], true]
+```
+
+### [object_inspect](/ja/docs/reference/commands/object_inspect.html) セグメントの新しい統計値 `next_physical_segment_id` と `max_n_physical_segments` を追加しました。
+
+`next_physical_segment_id` は調査対象のインデックスガラムが次に使うセグメントのIDです。
+つまり、この数字は、現在のセグメントの使用量を表しています。
+
+`max_n_physical_segments` は調査対象のインデックスカラムのセグメントの最大値です。
+
+これらの統計値の最大値は、インデックスカラムのサイズに依存します。:
+
+  |インデックスカラムのサイズ|最大セグメント数|
+  |:---------------:|:------------------------:|
+  |`INDEX_SMALL`|`2**9` (512)|
+  |`INDEX_MEDIUM`|`2**16` (65536)|
+  |`INDEX_LARGE`|`2**17 * 2` (262144)|
+  |デフォルト|`2**17` (131072)|
+
+### [logical_select](/ja/docs/reference/commands/logical_select.html) シャードをまたがったウインドウ関数をサポートしました。
+
+ウインドウ関数を複数のテーブルをまたがって適用できます。
+ただし、先頭のグループキーまたは、ソートキーがシャードキーと同じ順番で並んでいる必要があります。
+
+例えば、以下のケースは、先頭のグループキーがシャードキーと同じ順番で並んでいるため、複数のテーブルをまたがってウインドウ関数を適用できます。
+
+以下の例では、先頭のグループキーは `price` でシャードキーは `timestamp` です。:
+
+```
+  plugin_register sharding
+  
+  table_create Logs_20170415 TABLE_NO_KEY
+  column_create Logs_20170415 timestamp COLUMN_SCALAR Time
+  column_create Logs_20170415 price COLUMN_SCALAR UInt32
+  column_create Logs_20170415 n_likes COLUMN_SCALAR UInt32
+  
+  table_create Logs_20170416 TABLE_NO_KEY
+  column_create Logs_20170416 timestamp COLUMN_SCALAR Time
+  column_create Logs_20170416 price COLUMN_SCALAR UInt32
+  column_create Logs_20170416 n_likes COLUMN_SCALAR UInt32
+  
+  load --table Logs_20170415
+  [
+  {"timestamp": "2017/04/15 00:00:00", "n_likes": 2, "price": 100},
+  {"timestamp": "2017/04/15 01:00:00", "n_likes": 1, "price": 100},
+  {"timestamp": "2017/04/15 01:00:00", "n_likes": 2, "price": 200}
+  ]
+  
+  load --table Logs_20170416
+  [
+  {"timestamp": "2017/04/16 10:00:00", "n_likes": 1, "price": 200},
+  {"timestamp": "2017/04/16 11:00:00", "n_likes": 2, "price": 300},
+  {"timestamp": "2017/04/16 11:00:00", "n_likes": 1, "price": 300}
+  ]
+  
+  logical_select Logs \
+    --shard_key timestamp \
+    --columns[count].stage initial \
+    --columns[count].type UInt32 \
+    --columns[count].flags COLUMN_SCALAR \
+    --columns[count].value 'window_count()' \
+    --columns[count].window.group_keys price \
+    --output_columns price,count
+  [
+    [
+      0,
+      0.0,
+      0.0
+    ],
+    [
+      [
+        [
+          6
+        ],
+        [
+          [
+            "price",
+            "UInt32"
+          ],
+          [
+            "count",
+            "UInt32"
+          ]
+        ],
+        [
+          100,
+          2
+        ],
+        [
+          100,
+          2
+        ],
+        [
+          200,
+          2
+        ],
+        [
+          200,
+          2
+        ],
+        [
+          300,
+          2
+        ],
+        [
+          300,
+          2
+        ]
+      ]
+    ]
+  ]
+```
+
+### [logical_range_filter](/ja/docs/reference/commands/logical_range_filter.html) シャードをまたがったウインドウ関数をサポートしました。
+
+ウインドウ関数を複数のテーブルをまたがって適用できます。
+ただし、[logical_select](/ja/docs/reference/commands/logical_select.html)と同様、先頭のグループキーまたは、ソートキーがシャードキーと同じ順番で並んでいる必要があります。
+
+以下は、[logical_range_filter](/ja/docs/reference/commands/logical_range_filter.html)で、複数のテーブルをまたいでウインドウ関数を適用する例です。:
+
+```
+  plugin_register sharding
+  
+  table_create Logs_20170415 TABLE_NO_KEY
+  column_create Logs_20170415 timestamp COLUMN_SCALAR Time
+  column_create Logs_20170415 price COLUMN_SCALAR UInt32
+  column_create Logs_20170415 n_likes COLUMN_SCALAR UInt32
+  
+  table_create Logs_20170416 TABLE_NO_KEY
+  column_create Logs_20170416 timestamp COLUMN_SCALAR Time
+  column_create Logs_20170416 price COLUMN_SCALAR UInt32
+  column_create Logs_20170416 n_likes COLUMN_SCALAR UInt32
+  
+  load --table Logs_20170415
+  [
+  {"timestamp": "2017/04/15 00:00:00", "n_likes": 2, "price": 100},
+  {"timestamp": "2017/04/15 01:00:00", "n_likes": 1, "price": 100},
+  {"timestamp": "2017/04/15 01:00:00", "n_likes": 2, "price": 200}
+  ]
+  
+  load --table Logs_20170416
+  [
+  {"timestamp": "2017/04/16 10:00:00", "n_likes": 1, "price": 200},
+  {"timestamp": "2017/04/16 11:00:00", "n_likes": 2, "price": 300},
+  {"timestamp": "2017/04/16 11:00:00", "n_likes": 1, "price": 300}
+  ]
+  
+  logical_range_filter Logs \
+    --shard_key timestamp \
+    --columns[count].stage initial \
+    --columns[count].type UInt32 \
+    --columns[count].flags COLUMN_SCALAR \
+    --columns[count].value 'window_count()' \
+    --columns[count].window.group_keys price \
+    --output_columns price,count
+  [
+    [
+      0,
+      0.0,
+      0.0
+    ],
+    [
+      [
+        [
+          6
+        ],
+        [
+          [
+            "price",
+            "UInt32"
+          ],
+          [
+            "count",
+            "UInt32"
+          ]
+        ],
+        [
+          100,
+          2
+        ],
+        [
+          100,
+          2
+        ],
+        [
+          200,
+          2
+        ],
+        [
+          200,
+          2
+        ],
+        [
+          300,
+          2
+        ],
+        [
+          300,
+          2
+        ]
+      ]
+    ]
+  ]
+```
+
+### [logical_count](/ja/docs/reference/commands/logical_count.html) シャードをまたがったウインドウ関数をサポートしました。
+
+ウインドウ関数を複数のテーブルをまたがって適用できます。
+ただし、[logical_select](/ja/docs/reference/commands/logical_select.html)と同様、先頭のグループキーまたは、ソートキーがシャードキーと同じ順番で並んでいる必要があります。
+
+以下は、[logical_count](/ja/docs/reference/commands/logical_count.html)で、複数のテーブルをまたいでウインドウ関数を適用する例です。:
+
+```
+  plugin_register sharding
+  
+  table_create Logs_20170415 TABLE_NO_KEY
+  column_create Logs_20170415 timestamp COLUMN_SCALAR Time
+  column_create Logs_20170415 price COLUMN_SCALAR UInt32
+  column_create Logs_20170415 n_likes COLUMN_SCALAR UInt32
+  
+  table_create Logs_20170416 TABLE_NO_KEY
+  column_create Logs_20170416 timestamp COLUMN_SCALAR Time
+  column_create Logs_20170416 price COLUMN_SCALAR UInt32
+  column_create Logs_20170416 n_likes COLUMN_SCALAR UInt32
+  
+  load --table Logs_20170415
+  [
+  {"timestamp": "2017/04/15 00:00:00", "n_likes": 2, "price": 100},
+  {"timestamp": "2017/04/15 01:00:00", "n_likes": 1, "price": 100},
+  {"timestamp": "2017/04/15 01:00:00", "n_likes": 2, "price": 200}
+  ]
+  
+  load --table Logs_20170416
+  [
+  {"timestamp": "2017/04/16 10:00:00", "n_likes": 1, "price": 200},
+  {"timestamp": "2017/04/16 11:00:00", "n_likes": 2, "price": 300},
+  {"timestamp": "2017/04/16 11:00:00", "n_likes": 1, "price": 300}
+  ]
+  
+  logical_count Logs \
+    --shard_key timestamp \
+    --columns[count].stage initial \
+    --columns[count].type UInt32 \
+    --columns[count].flags COLUMN_SCALAR \
+    --columns[count].value 'window_count()' \
+    --columns[count].window.group_keys price \
+    --filter 'count >= 1'
+  [
+    [
+      0,
+      0.0,
+      0.0
+    ],
+    [
+      4
+    ]
+  ]
+```
+
+### [io_flush](/ja/docs/reference/commands/io_flush) 新しいオプション `--recursive dependent` を追加しました。
+
+このオプションによって、書き出し対象とその子オブジェクトだけでなく、関連したオブジェクトも書き出せます。
+
+関連するオブジェクトは次の通りです。:
+
+  * 参照されているテーブル
+  * 関連するインデックスカラム(対象の `TABLE_NAME` にソースカラムがある)
+  * 関連するインデックスカラムのテーブル(対象の `TABLE_NAME` にソースカラムがある)
+
+以下は、このオプションを使った例です。:
+
+```
+  io_flush --recursive "dependent" --target_name "Users"
+```
+
+### さいごに
+
+9.0.1からの詳細な変更点は[9.0.2リリース 2019-04-29](/ja/docs/news.html#release-9-0-2)を確認してください。
+
+それでは、Groongaでガンガン検索してください!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20190426/70cb567e/attachment-0001.html>


More information about the Groonga-commit mailing list
Back to archive index