Kouhei Sutou
null+****@clear*****
Wed Feb 26 14:40:34 JST 2014
Kouhei Sutou 2014-02-26 14:40:34 +0900 (Wed, 26 Feb 2014) New Revision: 833cdc0bb282cc8510f6830d5bffcdc32f83d9de https://github.com/droonga/droonga.org/commit/833cdc0bb282cc8510f6830d5bffcdc32f83d9de Message: Create reference/catalog/version1/ Copied files: _po/ja/reference/catalog/version1/index.po (from _po/ja/reference/catalog/index.po) ja/reference/catalog/version1/index.md (from ja/reference/catalog/index.md) reference/catalog/version1/index.md (from reference/catalog/index.md) Modified files: _po/ja/reference/catalog/index.po ja/reference/catalog/index.md reference/catalog/index.md Modified: _po/ja/reference/catalog/index.po (+3 -450) =================================================================== --- _po/ja/reference/catalog/index.po 2014-02-26 14:37:40 +0900 (c1c1a83) +++ _po/ja/reference/catalog/index.po 2014-02-26 14:40:34 +0900 (18927e9) @@ -26,457 +26,10 @@ msgstr "" "複数のリソースが集まり、Droongaネットワークを構成します。それらのリソースを **カタログ** に記述しなければいけません。ネットワーク上のすべてのノ" "ードは同じカタログを共有します。" -msgid "This documentation describes about catalog." -msgstr "このドキュメントはカタログについて説明します。" - -msgid "" -" * TOC\n" -"{:toc}" -msgstr "" - -msgid "## How to manage" -msgstr "## 管理方法" - -msgid "" -"So far, you need to write catalog and share it to all the nodes\n" -"manually." -msgstr "今のところ、カタログを書くことも書いたカタログをすべてのノードで共有することも手動で行う必要があります。" - -msgid "" -"Some utility programs will generate catalog in near feature.\n" -"Furthermore Droonga network will maintain and share catalog\n" -"automatically." -msgstr "" -"近い将来、カタログを生成するユーティリティープログラムを提供する予定です。さらにその後、Droongaネットワークは自動でカタログの管理やカタログの配布を行" -"うようになる予定です。" - -msgid "## Glossary" -msgstr "## 用語集" - -msgid "This section describes terms in catalog." -msgstr "このセクションではカタログに出てくる用語を説明します。" - -msgid "### Catalog" -msgstr "### カタログ" - -msgid "" -"Catalog is a series of data which represents the resources in the\n" -"network." -msgstr "カタログはネットワーク内のリソースを表現するデータの集まりです。" - -msgid "### Zone" -msgstr "### ゾーン" - -msgid "" -"Zone is a set of farms. Farms in a zone are expected to close to each\n" -"other, like in the same host, in the same switch, in the same network." -msgstr "" -"ゾーンはファームの集まりです。同じゾーン内のファームはお互いに近くに配置することが期待されています。例えば、同じホスト内、同じスイッチ内、同じネットワーク内" -"といった具合です。" - -msgid "### Farm" -msgstr "### ファーム" - -msgid "" -"A farm is a Droonga Engine instance. Droonga Engine is implemented as\n" -"a [Fluentd][] plugin, fluent-plugin-droonga." -msgstr "" -"ファームはDroongaエンジンのインスタンスです。Droongaエンジンは[Fluentd][]のプラグインfluent-plugin-droongaとし" -"て実装されています。" - -msgid "" -"A `fluentd` process can have multiple Droonga Engines. If you add one\n" -"or more `match` entries with type `droonga` into `fluentd.conf`, a\n" -"`fluentd` process instantiates one or more Droonga Engines." -msgstr "" -"1つの `fluentd` プロセスは複数のDroongaエンジンを持てます。 `fluentd.conf` に `droonga` タイプの `match" -"` エントリーを1つ以上追加すると、 `fluentd` プロセスは同じ数のDroongaエンジンのインスタンスを生成します。" - -msgid "" -"A farm has its own workers and a job queue. A farm push request to its\n" -"job queue and workers pull a request from the job queue." -msgstr "ファームは複数のワーカーと1つのジョブキューを持ちます。ファームはリクエストをジョブキューに投入します。ワーカーはジョブキューからリクエストを取り出します。" - -msgid "### Dataset" -msgstr "### データセット" - -msgid "" -"Dataset is a set of logical tables. A logical table must belong to\n" -"only one dataset." -msgstr "データセットは論理テーブルの集まりです。論理テーブルは1つのデータセットに所属しなければいけません。" - -msgid "Each dataset must have an unique name in the same Droonga network." -msgstr "各データセットの名前は同じDroongaネットワーク内で重複してはいけません。" - -msgid "### Logical table" -msgstr "### 論理テーブル" - -msgid "" -"Logical table consists of one or more partitioned physical tables.\n" -"Logical table doesn't have physical records. It returns physical\n" -"records from physical tables." -msgstr "論理テーブルはパーティションされた1つ以上の物理テーブルで構成されます。論理テーブルは物理レコードを持ちません。物理テーブルから物理レコードを返します。" - -msgid "" -"You can custom how to partition a logical table into one or more\n" -"physical tables. For example, you can custom partition key, the\n" -"number of partitions and so on." -msgstr "" -"1つの論理テーブルを1つ以上の物理テーブルにどうやってパーティションするかをカスタマイズできます。例えば、パーティションキーやパーテション数をカスタマイズで" -"きます。" - -msgid "### Physical table" -msgstr "### 物理テーブル" - -msgid "" -"Physical table is a table in Groonga database. It stores physical\n" -"records to the table." -msgstr "物理テーブルはGroongaデータベースのテーブルです。Groongaのテーブルに物理レコードを保存します。" - -msgid "### Ring" -msgstr "### リング" - -msgid "" -"Ring is a series of partition sets. Dataset must have one\n" -"ring. Dataset creates logical tables on the ring." -msgstr "リングはパーティションセットの集まりです。データセットは必ず1つのリングを持ちます。データセットはリング上に論理テーブルを作ります。" - -msgid "" -"Droonga Engine replicates each record in a logical table into one or\n" -"more partition sets." -msgstr "Droongaエンジンは物理テーブル上にあるレコードを1つ以上のパーティションセットに複製します。" - -msgid "### Partition set" -msgstr "### パーティションセット" - -msgid "" -"Partition set is a set of partitions. A partition set stores all\n" -"records in all logical tables in the same Droonga network. In other\n" -"words, dataset is partitioned in a partition set." -msgstr "" -"パーティションセットはパーティションの集まりです。1つのパーティションセットは同じDroongaネットワーク内のすべての論理テーブルのすべてのレコードを保存" -"します。言い換えると、データセットは1つのパーティションセットの中でパーティションされます。" - -msgid "A partition set is a replication of other partition set." -msgstr "1つのパーティションセットは他のパーティションセットの複製です。" - -msgid "" -"Droonga Engine may support partitioning in one or more partition\n" -"sets in the future. It will be useful to use different partition\n" -"size for old data and new data. Normally, old data are smaller and\n" -"new data are bigger. It is reasonable that you use larger partition\n" -"size for bigger data." -msgstr "" -"将来、Droongaエンジンは1つ以上のパーティションセット内でのパーティションをサポートするかもしれません。古いデータと新しいデータで異なるパーティション" -"サイズを使うことができるので便利でしょう。通常、古いデータは小さく、新しいデータは大きくなります。大きなデータに大きなパーティションサイズを使うのは妥当なこ" -"とです。" - -msgid "### Partition" -msgstr "### パーティション" - -msgid "" -"Partition is a Groonga database. It has zero or more physical\n" -"tables." -msgstr "1つのパーティションは1つのGroongaデータベースに対応します。0個以上の物理テーブルを持ちます。" - -msgid "### Plugin" -msgstr "### プラグイン" - -msgid "" -"Droonga Engine can be extended by writing plugin scripts.\n" -"In most cases, a series of plugins work cooperatively to\n" -"achieve required behaviors.\n" -"So, plugins are organized by behaviors.\n" -"Each behavior can be attached to datasets and/or tables by\n" -"adding \"plugins\" section to the corresponding entry in the catalog." -msgstr "" - -msgid "" -"More than one plugin can be assigned in a \"plugins\" section as an array.\n" -"The order in the array controls the execution order of plugins\n" -"when adapting messages.\n" -"When adapting an incoming message, plugins are applied in forward order\n" -"whereas those are applied in reverse order when adapting an outgoing message." -msgstr "" - -msgid "## Example" -msgstr "## 例" - -msgid "Consider the following case:" -msgstr "" - -msgid "" -" * There are two farms.\n" -" * All farms (Droonga Engine instances) works on the same fluentd.\n" -" * Each farm has two partitions.\n" -" * There are two replicas.\n" -" * There are two partitions for each table." -msgstr "" - -msgid "Catalog is written as a JSON file. Its file name is `catalog.json`." -msgstr "" - -msgid "Here is a `catalog.json` for the above case:" -msgstr "" - -msgid "" -"~~~json\n" -"{\n" -" \"version\": 1,\n" -" \"effective_date\": \"2013-06-05T00:05:51Z\",\n" -" \"zones\": [\"localhost:23003/farm0\", \"localhost:23003/farm1\"],\n" -" \"farms\": {\n" -" \"localhost:23003/farm0\": {\n" -" \"device\": \"disk0\",\n" -" \"capacity\": 1024\n" -" },\n" -" \"localhost:23003/farm1\": {\n" -" \"device\": \"disk1\",\n" -" \"capacity\": 1024\n" -" }\n" -" },\n" -" \"datasets\": {\n" -" \"Wiki\": {\n" -" \"workers\": 4,\n" -" \"plugins\": [\"groonga\", \"crud\", \"search\"],\n" -" \"number_of_replicas\": 2,\n" -" \"number_of_partitions\": 2,\n" -" \"partition_key\": \"_key\",\n" -" \"date_range\": \"infinity\",\n" -" \"ring\": {\n" -" \"localhost:23004\": {\n" -" \"weight\": 10,\n" -" \"partitions\": {\n" -" \"2013-07-24\": [\n" -" \"localhost:23003/farm0.000\",\n" -" \"localhost:23003/farm1.000\"\n" -" ]\n" -" }\n" -" },\n" -" \"localhost:23005\": {\n" -" \"weight\": 10,\n" -" \"partitions\": {\n" -" \"2013-07-24\": [\n" -" \"localhost:23003/farm1.001\",\n" -" \"localhost:23003/farm0.001\"\n" -" ]\n" -" }\n" -" }\n" -" }\n" -" }\n" -" }\n" -"}\n" -"~~~" -msgstr "" - -msgid "## Parameters" -msgstr "" - -msgid "Here are descriptions about parameters in `catalog.json`." -msgstr "" - -msgid "### `version` {#version}" -msgstr "" - -msgid "It is a format version of the catalog file." -msgstr "" - -msgid "" -"Droonga Engine will change `catalog.json` format in the\n" -"future. Droonga Engine can provide auto format update feature with the\n" -"information." -msgstr "" - -msgid "The value must be `1`." -msgstr "" - -msgid "This is a required parameter." -msgstr "" - -msgid "Example:" -msgstr "" - -msgid "" -"~~~json\n" -"{\n" -" \"version\": 1\n" -"}\n" -"~~~" -msgstr "" - -msgid "### `effective_date`" -msgstr "" - -msgid "" -"It is a date string representing the day the catalog becomes\n" -"effective." -msgstr "" - -msgid "The date string format must be [W3C-DTF][]." -msgstr "" - -msgid "Note: fluent-plugin-droonga 0.8.0 doesn't use this value yet." -msgstr "" - -msgid "" -"~~~json\n" -"{\n" -" \"effective_date\": \"2013-11-29T11:29:29Z\"\n" -"}\n" -"~~~" -msgstr "" - -msgid "### `zones`" -msgstr "" - -msgid "" -"`Zones` is an array to express proximities between farms.\n" -"Farms are grouped by a zone, and zones can be grouped by another zone recursiv" -"ely.\n" -"Zones make a single tree structure, expressed by nested arrays.\n" -"Farms in a same branch are regarded as relatively closer than other farms." -msgstr "" - -msgid "e.g." -msgstr "" - -msgid "When the value of `zones` is as follows," -msgstr "" - -msgid "" -"```\n" -"[[\"A\", [\"B\", \"C\"]], \"D\"]\n" -"```" -msgstr "" - -msgid "it expresses the following tree." -msgstr "" - -msgid "" -" /\\\n" -" /\\ D\n" -" A /\\\n" -" B C" -msgstr "" - -msgid "" -"This tree means the farm \"B\" and \"C\" are closer than \"A\" or \"D\" to each other." -"\n" -"You should make elements in a `zones` close to each other, like in the\n" -"same host, in the same switch, in the same network." -msgstr "" - -msgid "This is an optional parameter." -msgstr "" - -msgid "" -"~~~json\n" -"{\n" -" \"zones\": [\n" -" [\"localhost:23003/farm0\",\n" -" \"localhost:23003/farm1\"],\n" -" [\"localhost:23004/farm0\",\n" -" \"localhost:23004/farm1\"]\n" -" ]\n" -"}\n" -"~~~" -msgstr "" - -msgid "" -"*TODO: Discuss about the call of this parameter. This seems completely equals " -"to the list of keys of `farms`.*" -msgstr "" - -msgid "### `farms`" -msgstr "" - -msgid "It is an array of Droonga Engine instances." -msgstr "" - -msgid "" -"*TODO: Improve me. For example, we have to describe relations of nested farms," -" ex. `children`.*" -msgstr "" - -msgid "" -"**Farms** correspond with fluent-plugin-droonga instances. A fluentd process m" -"ay have multiple **farms** if more than one **match** entry with type **droong" -"a** appear in the \"fluentd.conf\".\n" -"Each **farm** has its own job queue.\n" -"Each **farm** can attach to a data partition which is a part of a **dataset**." -msgstr "" - -msgid "" -"~~~json\n" -"{\n" -" \"farms\": {\n" -" \"localhost:23003/farm0\": {\n" -" \"device\": \"/disk0\",\n" -" \"capacity\": 1024\n" -" },\n" -" \"localhost:23003/farm1\": {\n" -" \"device\": \"/disk1\",\n" -" \"capacity\": 1024\n" -" }\n" -" }\n" -"}\n" -"~~~" -msgstr "" - -msgid "### `datasets`" -msgstr "" - -msgid "" -"A **dataset** is a set of **tables** which comprise a single logical **table**" -" virtually.\n" -"Each **dataset** must have a unique name in the network." -msgstr "" - -msgid "### `ring`" -msgstr "" - -msgid "" -"`ring` is a series of partitions which comprise a dataset. `replica_count`, `n" -"umber_of_partitons` and **time-slice** factors affect the number of partitions" -" in a `ring`." -msgstr "" - -msgid "### `workers`" -msgstr "" - -msgid "" -"`workers` is an integer number which specifies the number of worker processes " -"to deal with the dataset.\n" -"If `0` is specified, no worker is forked and all operations are done in the ma" -"ster process." -msgstr "" - -msgid "### `number_of_partitions`" -msgstr "" - -msgid "" -"`number_of_partition` is an integer number which represents the number of part" -"itions divided by the hash function. The hash function which determines where " -"each record resides the partition in a dataset is compatible with memcached." -msgstr "" - -msgid "### `date_range`" -msgstr "" - -msgid "" -"`date_range` determines when to split the dataset. If a string \"infinity\" is a" -"ssigned, dataset is never split by time factor." -msgstr "" - -msgid "### `number_of_replicas`" -msgstr "" - -msgid "" -"`number_of_replicas` represents the number of replicas of dataset maintained i" -"n the network." +msgid "Catalog specification is versioned. Here are available versions:" msgstr "" msgid "" -" [Fluentd]: http://fluentd.org/\n" -" [W3C-DTF]: http://www.w3.org/TR/NOTE-datetime \"Date and Time Formats\"" +" * [version 1](version1/): (It is deprecated since 1.0.0.)\n" +" * [version 2](version2/)" msgstr "" Copied: _po/ja/reference/catalog/version1/index.po (+0 -0) 100% =================================================================== Modified: ja/reference/catalog/index.md (+3 -286) =================================================================== --- ja/reference/catalog/index.md 2014-02-26 14:37:40 +0900 (48c4c69) +++ ja/reference/catalog/index.md 2014-02-26 14:40:34 +0900 (db2e334) @@ -14,290 +14,7 @@ layout: ja 複数のリソースが集まり、Droongaネットワークを構成します。それらのリソースを **カタログ** に記述しなければいけません。ネットワーク上のすべてのノードは同じカタログを共有します。 -このドキュメントはカタログについて説明します。 +Catalog specification is versioned. Here are available versions: - * TOC -{:toc} - -## 管理方法 - -今のところ、カタログを書くことも書いたカタログをすべてのノードで共有することも手動で行う必要があります。 - -近い将来、カタログを生成するユーティリティープログラムを提供する予定です。さらにその後、Droongaネットワークは自動でカタログの管理やカタログの配布を行うようになる予定です。 - -## 用語集 - -このセクションではカタログに出てくる用語を説明します。 - -### カタログ - -カタログはネットワーク内のリソースを表現するデータの集まりです。 - -### ゾーン - -ゾーンはファームの集まりです。同じゾーン内のファームはお互いに近くに配置することが期待されています。例えば、同じホスト内、同じスイッチ内、同じネットワーク内といった具合です。 - -### ファーム - -ファームはDroongaエンジンのインスタンスです。Droongaエンジンは[Fluentd][]のプラグインfluent-plugin-droongaとして実装されています。 - -1つの `fluentd` プロセスは複数のDroongaエンジンを持てます。 `fluentd.conf` に `droonga` タイプの `match` エントリーを1つ以上追加すると、 `fluentd` プロセスは同じ数のDroongaエンジンのインスタンスを生成します。 - -ファームは複数のワーカーと1つのジョブキューを持ちます。ファームはリクエストをジョブキューに投入します。ワーカーはジョブキューからリクエストを取り出します。 - -### データセット - -データセットは論理テーブルの集まりです。論理テーブルは1つのデータセットに所属しなければいけません。 - -各データセットの名前は同じDroongaネットワーク内で重複してはいけません。 - -### 論理テーブル - -論理テーブルはパーティションされた1つ以上の物理テーブルで構成されます。論理テーブルは物理レコードを持ちません。物理テーブルから物理レコードを返します。 - -1つの論理テーブルを1つ以上の物理テーブルにどうやってパーティションするかをカスタマイズできます。例えば、パーティションキーやパーテション数をカスタマイズできます。 - -### 物理テーブル - -物理テーブルはGroongaデータベースのテーブルです。Groongaのテーブルに物理レコードを保存します。 - -### リング - -リングはパーティションセットの集まりです。データセットは必ず1つのリングを持ちます。データセットはリング上に論理テーブルを作ります。 - -Droongaエンジンは物理テーブル上にあるレコードを1つ以上のパーティションセットに複製します。 - -### パーティションセット - -パーティションセットはパーティションの集まりです。1つのパーティションセットは同じDroongaネットワーク内のすべての論理テーブルのすべてのレコードを保存します。言い換えると、データセットは1つのパーティションセットの中でパーティションされます。 - -1つのパーティションセットは他のパーティションセットの複製です。 - -将来、Droongaエンジンは1つ以上のパーティションセット内でのパーティションをサポートするかもしれません。古いデータと新しいデータで異なるパーティションサイズを使うことができるので便利でしょう。通常、古いデータは小さく、新しいデータは大きくなります。大きなデータに大きなパーティションサイズを使うのは妥当なことです。 - -### パーティション - -1つのパーティションは1つのGroongaデータベースに対応します。0個以上の物理テーブルを持ちます。 - -### プラグイン - -Droonga Engine can be extended by writing plugin scripts. -In most cases, a series of plugins work cooperatively to -achieve required behaviors. -So, plugins are organized by behaviors. -Each behavior can be attached to datasets and/or tables by -adding "plugins" section to the corresponding entry in the catalog. - -More than one plugin can be assigned in a "plugins" section as an array. -The order in the array controls the execution order of plugins -when adapting messages. -When adapting an incoming message, plugins are applied in forward order -whereas those are applied in reverse order when adapting an outgoing message. - -## 例 - -Consider the following case: - - * There are two farms. - * All farms (Droonga Engine instances) works on the same fluentd. - * Each farm has two partitions. - * There are two replicas. - * There are two partitions for each table. - -Catalog is written as a JSON file. Its file name is `catalog.json`. - -Here is a `catalog.json` for the above case: - -~~~json -{ - "version": 1, - "effective_date": "2013-06-05T00:05:51Z", - "zones": ["localhost:23003/farm0", "localhost:23003/farm1"], - "farms": { - "localhost:23003/farm0": { - "device": "disk0", - "capacity": 1024 - }, - "localhost:23003/farm1": { - "device": "disk1", - "capacity": 1024 - } - }, - "datasets": { - "Wiki": { - "workers": 4, - "plugins": ["groonga", "crud", "search"], - "number_of_replicas": 2, - "number_of_partitions": 2, - "partition_key": "_key", - "date_range": "infinity", - "ring": { - "localhost:23004": { - "weight": 10, - "partitions": { - "2013-07-24": [ - "localhost:23003/farm0.000", - "localhost:23003/farm1.000" - ] - } - }, - "localhost:23005": { - "weight": 10, - "partitions": { - "2013-07-24": [ - "localhost:23003/farm1.001", - "localhost:23003/farm0.001" - ] - } - } - } - } - } -} -~~~ - -## Parameters - -Here are descriptions about parameters in `catalog.json`. - -### `version` {#version} - -It is a format version of the catalog file. - -Droonga Engine will change `catalog.json` format in the -future. Droonga Engine can provide auto format update feature with the -information. - -The value must be `1`. - -This is a required parameter. - -Example: - -~~~json -{ - "version": 1 -} -~~~ - -### `effective_date` - -It is a date string representing the day the catalog becomes -effective. - -The date string format must be [W3C-DTF][]. - -This is a required parameter. - -Note: fluent-plugin-droonga 0.8.0 doesn't use this value yet. - -Example: - -~~~json -{ - "effective_date": "2013-11-29T11:29:29Z" -} -~~~ - -### `zones` - -`Zones` is an array to express proximities between farms. -Farms are grouped by a zone, and zones can be grouped by another zone recursively. -Zones make a single tree structure, expressed by nested arrays. -Farms in a same branch are regarded as relatively closer than other farms. - -e.g. - -When the value of `zones` is as follows, - -``` -[["A", ["B", "C"]], "D"] -``` - -it expresses the following tree. - - /\ - /\ D - A /\ - B C - -This tree means the farm "B" and "C" are closer than "A" or "D" to each other. -You should make elements in a `zones` close to each other, like in the -same host, in the same switch, in the same network. - -This is an optional parameter. - -Note: fluent-plugin-droonga 0.8.0 doesn't use this value yet. - -Example: - -~~~json -{ - "zones": [ - ["localhost:23003/farm0", - "localhost:23003/farm1"], - ["localhost:23004/farm0", - "localhost:23004/farm1"] - ] -} -~~~ - -*TODO: Discuss about the call of this parameter. This seems completely equals to the list of keys of `farms`.* - -### `farms` - -It is an array of Droonga Engine instances. - -*TODO: Improve me. For example, we have to describe relations of nested farms, ex. `children`.* - -**Farms** correspond with fluent-plugin-droonga instances. A fluentd process may have multiple **farms** if more than one **match** entry with type **droonga** appear in the "fluentd.conf". -Each **farm** has its own job queue. -Each **farm** can attach to a data partition which is a part of a **dataset**. - -This is a required parameter. - -Example: - -~~~json -{ - "farms": { - "localhost:23003/farm0": { - "device": "/disk0", - "capacity": 1024 - }, - "localhost:23003/farm1": { - "device": "/disk1", - "capacity": 1024 - } - } -} -~~~ - -### `datasets` - -A **dataset** is a set of **tables** which comprise a single logical **table** virtually. -Each **dataset** must have a unique name in the network. - -### `ring` - -`ring` is a series of partitions which comprise a dataset. `replica_count`, `number_of_partitons` and **time-slice** factors affect the number of partitions in a `ring`. - -### `workers` - -`workers` is an integer number which specifies the number of worker processes to deal with the dataset. -If `0` is specified, no worker is forked and all operations are done in the master process. - -### `number_of_partitions` - -`number_of_partition` is an integer number which represents the number of partitions divided by the hash function. The hash function which determines where each record resides the partition in a dataset is compatible with memcached. - -### `date_range` - -`date_range` determines when to split the dataset. If a string "infinity" is assigned, dataset is never split by time factor. - -### `number_of_replicas` - -`number_of_replicas` represents the number of replicas of dataset maintained in the network. - - [Fluentd]: http://fluentd.org/ - [W3C-DTF]: http://www.w3.org/TR/NOTE-datetime "Date and Time Formats" + * [version 1](version1/): (It is deprecated since 1.0.0.) + * [version 2](version2/) Copied: ja/reference/catalog/version1/index.md (+1 -1) 99% =================================================================== --- ja/reference/catalog/index.md 2014-02-26 14:37:40 +0900 (48c4c69) +++ ja/reference/catalog/version1/index.md 2014-02-26 14:40:34 +0900 (ec5ced3) @@ -6,7 +6,7 @@ layout: ja {% comment %} ############################################## THIS FILE IS AUTOMATICALLY GENERATED FROM - "_po/ja/reference/catalog/index.po" + "_po/ja/reference/catalog/version1/index.po" DO NOT EDIT THIS FILE MANUALLY! ############################################## {% endcomment %} Modified: reference/catalog/index.md (+3 -310) =================================================================== --- reference/catalog/index.md 2014-02-26 14:37:40 +0900 (f2af226) +++ reference/catalog/index.md 2014-02-26 14:40:34 +0900 (0a2f552) @@ -7,314 +7,7 @@ A Droonga network consists of several resources. You need to describe them in **catalog**. All the nodes in the network shares the same catalog. -This documentation describes about catalog. +Catalog specification is versioned. Here are available versions: - * TOC -{:toc} - -## How to manage - -So far, you need to write catalog and share it to all the nodes -manually. - -Some utility programs will generate catalog in near feature. -Furthermore Droonga network will maintain and share catalog -automatically. - -## Glossary - -This section describes terms in catalog. - -### Catalog - -Catalog is a series of data which represents the resources in the -network. - -### Zone - -Zone is a set of farms. Farms in a zone are expected to close to each -other, like in the same host, in the same switch, in the same network. - -### Farm - -A farm is a Droonga Engine instance. Droonga Engine is implemented as -a [Fluentd][] plugin, fluent-plugin-droonga. - -A `fluentd` process can have multiple Droonga Engines. If you add one -or more `match` entries with type `droonga` into `fluentd.conf`, a -`fluentd` process instantiates one or more Droonga Engines. - -A farm has its own workers and a job queue. A farm push request to its -job queue and workers pull a request from the job queue. - -### Dataset - -Dataset is a set of logical tables. A logical table must belong to -only one dataset. - -Each dataset must have an unique name in the same Droonga network. - -### Logical table - -Logical table consists of one or more partitioned physical tables. -Logical table doesn't have physical records. It returns physical -records from physical tables. - -You can custom how to partition a logical table into one or more -physical tables. For example, you can custom partition key, the -number of partitions and so on. - -### Physical table - -Physical table is a table in Groonga database. It stores physical -records to the table. - -### Ring - -Ring is a series of partition sets. Dataset must have one -ring. Dataset creates logical tables on the ring. - -Droonga Engine replicates each record in a logical table into one or -more partition sets. - -### Partition set - -Partition set is a set of partitions. A partition set stores all -records in all logical tables in the same Droonga network. In other -words, dataset is partitioned in a partition set. - -A partition set is a replication of other partition set. - -Droonga Engine may support partitioning in one or more partition -sets in the future. It will be useful to use different partition -size for old data and new data. Normally, old data are smaller and -new data are bigger. It is reasonable that you use larger partition -size for bigger data. - -### Partition - -Partition is a Groonga database. It has zero or more physical -tables. - -### Plugin - -Droonga Engine can be extended by writing plugin scripts. -In most cases, a series of plugins work cooperatively to -achieve required behaviors. -So, plugins are organized by behaviors. -Each behavior can be attached to datasets and/or tables by -adding "plugins" section to the corresponding entry in the catalog. - -More than one plugin can be assigned in a "plugins" section as an array. -The order in the array controls the execution order of plugins -when adapting messages. -When adapting an incoming message, plugins are applied in forward order -whereas those are applied in reverse order when adapting an outgoing message. - -## Example - -Consider the following case: - - * There are two farms. - * All farms (Droonga Engine instances) works on the same fluentd. - * Each farm has two partitions. - * There are two replicas. - * There are two partitions for each table. - -Catalog is written as a JSON file. Its file name is `catalog.json`. - -Here is a `catalog.json` for the above case: - -~~~json -{ - "version": 1, - "effective_date": "2013-06-05T00:05:51Z", - "zones": ["localhost:23003/farm0", "localhost:23003/farm1"], - "farms": { - "localhost:23003/farm0": { - "device": "disk0", - "capacity": 1024 - }, - "localhost:23003/farm1": { - "device": "disk1", - "capacity": 1024 - } - }, - "datasets": { - "Wiki": { - "workers": 4, - "plugins": ["groonga", "crud", "search"], - "number_of_replicas": 2, - "number_of_partitions": 2, - "partition_key": "_key", - "date_range": "infinity", - "ring": { - "localhost:23004": { - "weight": 10, - "partitions": { - "2013-07-24": [ - "localhost:23003/farm0.000", - "localhost:23003/farm1.000" - ] - } - }, - "localhost:23005": { - "weight": 10, - "partitions": { - "2013-07-24": [ - "localhost:23003/farm1.001", - "localhost:23003/farm0.001" - ] - } - } - } - } - } -} -~~~ - -## Parameters - -Here are descriptions about parameters in `catalog.json`. - -### `version` {#version} - -It is a format version of the catalog file. - -Droonga Engine will change `catalog.json` format in the -future. Droonga Engine can provide auto format update feature with the -information. - -The value must be `1`. - -This is a required parameter. - -Example: - -~~~json -{ - "version": 1 -} -~~~ - -### `effective_date` - -It is a date string representing the day the catalog becomes -effective. - -The date string format must be [W3C-DTF][]. - -This is a required parameter. - -Note: fluent-plugin-droonga 0.8.0 doesn't use this value yet. - -Example: - -~~~json -{ - "effective_date": "2013-11-29T11:29:29Z" -} -~~~ - -### `zones` - -`Zones` is an array to express proximities between farms. -Farms are grouped by a zone, and zones can be grouped by another zone recursively. -Zones make a single tree structure, expressed by nested arrays. -Farms in a same branch are regarded as relatively closer than other farms. - -e.g. - -When the value of `zones` is as follows, - -``` -[["A", ["B", "C"]], "D"] -``` - -it expresses the following tree. - - /\ - /\ D - A /\ - B C - -This tree means the farm "B" and "C" are closer than "A" or "D" to each other. -You should make elements in a `zones` close to each other, like in the -same host, in the same switch, in the same network. - -This is an optional parameter. - -Note: fluent-plugin-droonga 0.8.0 doesn't use this value yet. - -Example: - -~~~json -{ - "zones": [ - ["localhost:23003/farm0", - "localhost:23003/farm1"], - ["localhost:23004/farm0", - "localhost:23004/farm1"] - ] -} -~~~ - -*TODO: Discuss about the call of this parameter. This seems completely equals to the list of keys of `farms`.* - -### `farms` - -It is an array of Droonga Engine instances. - -*TODO: Improve me. For example, we have to describe relations of nested farms, ex. `children`.* - -**Farms** correspond with fluent-plugin-droonga instances. A fluentd process may have multiple **farms** if more than one **match** entry with type **droonga** appear in the "fluentd.conf". -Each **farm** has its own job queue. -Each **farm** can attach to a data partition which is a part of a **dataset**. - -This is a required parameter. - -Example: - -~~~json -{ - "farms": { - "localhost:23003/farm0": { - "device": "/disk0", - "capacity": 1024 - }, - "localhost:23003/farm1": { - "device": "/disk1", - "capacity": 1024 - } - } -} -~~~ - -### `datasets` - -A **dataset** is a set of **tables** which comprise a single logical **table** virtually. -Each **dataset** must have a unique name in the network. - -### `ring` - -`ring` is a series of partitions which comprise a dataset. `replica_count`, `number_of_partitons` and **time-slice** factors affect the number of partitions in a `ring`. - -### `workers` - -`workers` is an integer number which specifies the number of worker processes to deal with the dataset. -If `0` is specified, no worker is forked and all operations are done in the master process. - -### `number_of_partitions` - -`number_of_partition` is an integer number which represents the number of partitions divided by the hash function. The hash function which determines where each record resides the partition in a dataset is compatible with memcached. - -### `date_range` - -`date_range` determines when to split the dataset. If a string "infinity" is assigned, dataset is never split by time factor. - -### `number_of_replicas` - -`number_of_replicas` represents the number of replicas of dataset maintained in the network. - - [Fluentd]: http://fluentd.org/ - [W3C-DTF]: http://www.w3.org/TR/NOTE-datetime "Date and Time Formats" + * [version 1](version1/): (It is deprecated since 1.0.0.) + * [version 2](version2/) Copied: reference/catalog/version1/index.md (+0 -0) 100% =================================================================== -------------- next part -------------- HTML����������������������������...Download