summaryrefslogtreecommitdiff
path: root/fml/doc/ja/tutorial
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-08-19 12:53:07 +0000
committerfukachan <fukachan>2001-08-19 12:53:07 +0000
commite906a48343c503e1a8d9b215b5518eb9eeb06a6b (patch)
tree4583852ac98fcd6b6fa45b463f5a579745126ebc /fml/doc/ja/tutorial
parent81b073a8fdac38a858ada94309a635fd5fb3144e (diff)
downloadfml8-e906a48343c503e1a8d9b215b5518eb9eeb06a6b.tar.gz
fml8-e906a48343c503e1a8d9b215b5518eb9eeb06a6b.tar.bz2
fml8-e906a48343c503e1a8d9b215b5518eb9eeb06a6b.zip
clean up db.sgml, add&enable dbms.sgml (prototype)
Diffstat (limited to 'fml/doc/ja/tutorial')
-rw-r--r--fml/doc/ja/tutorial/book.sgml3
-rw-r--r--fml/doc/ja/tutorial/include/chapters.ent3
-rw-r--r--fml/doc/ja/tutorial/internals/db.sgml113
-rw-r--r--fml/doc/ja/tutorial/internals/dbms.sgml15
4 files changed, 99 insertions, 35 deletions
diff --git a/fml/doc/ja/tutorial/book.sgml b/fml/doc/ja/tutorial/book.sgml
index 6d304491..e273f887 100644
--- a/fml/doc/ja/tutorial/book.sgml
+++ b/fml/doc/ja/tutorial/book.sgml
@@ -2,7 +2,7 @@
This is an sgml using DocBook dtd. Use sgmltools version 2.0.x or above
to generate various output formats.
-$FML: book.sgml,v 1.11 2001/06/10 10:22:44 fukachan Exp $
+$FML: book.sgml,v 1.12 2001/08/05 12:33:49 fukachan Exp $
-->
<!doctype book public "-//FML//DTD DocBook V3.1-Based Extension//EN" [
@@ -74,6 +74,7 @@ $FML: book.sgml,v 1.11 2001/06/10 10:22:44 fukachan Exp $
&chapter.programingstyle;
&chapter.message;
&chapter.db;
+ &chapter.dbms;
&chapter.nl;
</part>
diff --git a/fml/doc/ja/tutorial/include/chapters.ent b/fml/doc/ja/tutorial/include/chapters.ent
index 7014f256..fdb7ed52 100644
--- a/fml/doc/ja/tutorial/include/chapters.ent
+++ b/fml/doc/ja/tutorial/include/chapters.ent
@@ -1,5 +1,5 @@
<!--
- $FML: chapters.ent,v 1.12 2001/06/10 12:58:31 fukachan Exp $
+ $FML: chapters.ent,v 1.13 2001/08/05 12:33:49 fukachan Exp $
-->
<!entity versin "1.1">
@@ -31,6 +31,7 @@
<!-- う〜ん、分類は…?;-) -->
<!entity chapter.fmlcommands SYSTEM "commands.sgml">
<!entity chapter.db SYSTEM "internals/db.sgml">
+<!entity chapter.dbms SYSTEM "internals/dbms.sgml">
<!-- 配送 -->
diff --git a/fml/doc/ja/tutorial/internals/db.sgml b/fml/doc/ja/tutorial/internals/db.sgml
index f866c4f7..6482399a 100644
--- a/fml/doc/ja/tutorial/internals/db.sgml
+++ b/fml/doc/ja/tutorial/internals/db.sgml
@@ -1,21 +1,37 @@
<!--
- $FML$
+ $FML: db.sgml,v 1.1 2001/08/05 12:33:50 fukachan Exp $
-->
<chapter id="db">
<title>
- データベースの扱い
+ データをどう保持するべきか?(データベースの扱い)
</title>
<para>
永続的にデータを保持する方法はいくつかあります。
-LRU な何かモジュールを使っても良いのですが、
-大げさで、いまひとつしっくりこない気がします。
+LRU などの機能を持ったモジュールを使っても良いのですが、
+やや大げさで、いまひとつしっくりこない気がします。
+つまり、そこまで真面目に virtual memory のような実装を
+しなくてもよいのでは?という気がします。
+それに、もし切実に必要なら、なんらかの
+<link linkend="dbms">
+DBMS
+</link>
+ <footnote>
+ <para>
+ DBMS = DataBase Management System
+ </para>
+ </footnote>
+を使うべきでしょう。
</para>
+
<para>
-FML では、expire の仕方に応じて、
-代表的な2つのクラスを用意しています。
+そういったわけで FML では、expire の仕方に応じて
+2つのデータ保持クラスを用意しています。
+それは
+サイズを気にせず、時間を区切って expire するのか?
+使用する領域のサイズをある程度気にするか?の 2 種類です。
</para>
@@ -26,17 +42,51 @@ FML では、expire の仕方に応じて、
</title>
<para>
-一つの考えは、一つのファイルに append していくもの。
-このために
-Tie::JournaledFile
-クラスが用意されています。
-これは、
-データを蓄えるために用いています。
-つまり、追加もするし、参照もしたい場合ですが、
-追加しかしません。
-必要な時には過去のログを追跡できます。
-値は追加された値を last match で取り出します。
+これは、一つのファイルに append していくタイプです。
+この機能は
+ <ulink url="../../en/modules/Tie/JournaledFile.txt">
+ Tie::JournaledFile
+ </ulink>
+クラスが提供します。
+</para>
+
+
+<para>
+このクラスは、データを追加もするし参照もしたい場合に用いられますが、
+追加のオペレーションしか行なえません。
+つまり LFS (Log Structured File System) のような振舞いです。
+</para>
+
+
+<para>
+参照する際は最後に追加したデータが取り出されます。
+つまり、値は追加された値を last match で取り出しています。
+</para>
+
+
+<para>
+逆に、必要な場合には、過去のログを追跡していくことができます。
+</para>
+
+
+<para>
+このクラスは、サイズを度外視して一定期間の間記録しておきたい
+データに対して使います。
+例えば、登録時の confirmation のキャッシュや
+message-id キャッシュです。
+これらは expire を時間で制御したいからです。
+</para>
+
+
+<warning>
+<para>
+なお検索時の挙動の
+first match と last match は切替えることができます。
+どちらの戦略で探すのか、
+クラスオブジェクトを生成する際に明示的に指定することが推奨されます。
+デフォルトは last match です。
</para>
+</warning>
</sect1>
@@ -47,29 +97,28 @@ Tie::JournaledFile
</title>
<para>
-これは、あるディレクトリ(例: db/)に複数のファイルとして蓄える。
-db/ には 1 〜 100 のファイルがつくられ、順番に使われる。
-ぐるぐる回って使われ、上書きされていく。
-</para>
-
-
-<para>
-主に上限サイズを設けたログを蓄えたい場合に用いる。
+この
+ <ulink url="../../en/modules/File/CacheDir.txt">
+ File::CacheDir
+ </ulink>
+クラスは、主にサイズに上限を設けたいタイプのデータを蓄える場合に用
+います。expire の時間については気にしません。
+サイズで有無を言わさず切ってしまいます。
</para>
<para>
-あるディレクトリに複数のファイルとして蓄えるが、
-古いものを expire していくことが可能なもの。
-db/ に YYYYMM 形式のファイル名でデータを蓄え、
-古いものは随時消去する。
+デバッグ等に用いるデータはこれで十分と考えています。
+普段は使わないデバッグのために、サイズを食われるのも嫌ですから。
</para>
<para>
-データを蓄えるために用いている。つまり、追加もするし、
-参照もしたい場合に使いますが、
-いつのまにか古いデータは消えていきます。
+このクラスは、あるディレクトリ(例: db/)の有限の複数のファイル郡の中に
+データを蓄えます。
+例えば db/ に 1 〜 100 の名前のファイルがつくられ、
+順番に使われてきます。
+これらのファイルはぐるぐる回って使われ、上書きされます。
</para>
@@ -82,6 +131,4 @@ db/ に YYYYMM 形式のファイル名でデータを蓄え、
</sect1>
-
-
</chapter>
diff --git a/fml/doc/ja/tutorial/internals/dbms.sgml b/fml/doc/ja/tutorial/internals/dbms.sgml
new file mode 100644
index 00000000..0f393c0c
--- /dev/null
+++ b/fml/doc/ja/tutorial/internals/dbms.sgml
@@ -0,0 +1,15 @@
+<!--
+ $FML: db.sgml,v 1.1 2001/08/05 12:33:50 fukachan Exp $
+-->
+
+<chapter id="dbms">
+ <title>
+ データベース管理システム
+ </title>
+
+<para>
+ごめん、この章は予約しただけで、書いてないです _o_
+</para>
+
+
+</chapter>