Zen について
Zen データベースとその機能について
以下のトピックでは、Zen データの管理およびその機能を説明します。
Zen データベース管理システムについて
Zen は、MicroKernel エンジンを中心に構成された総合的なデータベース管理システムです。
このセクションでは製品とそのコンポーネントを説明します。
データベースとは
簡単に言えば、「データベース」はデータの集合体です。一般的に、データは同じ特徴を共有する情報をサブセットに分割したものによって構成されます。以下にデータベースの例をいくつか示します。
•電話帳
電話帳の各エントリは、苗字、名前、住所および電話番号という 4 つの特性で構成されます。
•デジタル写真のコレクション
ハード ディスク上の各写真は、ファイル名とそのイメージを表すデータという 2 つの特性で構成されます。
•果樹園リストおよび各果樹園で栽培されているフルーツのリスト
果樹園リストの各エントリは、果樹園名、住所および創設日という 3 つの特性で構成されます。関連するフルーツのリストには、果樹園名、フルーツ名、品種(マッキントッシュ、富士など)、価格、味の評価という 5 つの特性があります。
本製品に関しては、データベースは意味を持ち明確に定義された関連情報の集合体を指します。おそらく、お使いのコンピューターまたはネットワーク上に使用可能な 1 つ以上のデータベースがあります。たとえば、備品または材料を購入するベンダーに関する情報のデータベースがあり、また、顧客あるいはメンバー情報を含むデータベースなどがあります。これらはそれぞれ別個で、明確に定義された関連情報の集合体です。
データベース管理システムとは
コンピューター時代のさなか、私たちはありとあらゆる場所でデータベースという情報の集合体に取り囲まれています。残念なことに、これらのデータは、整理、検索、分析、最新状態を保つ手段を持たなければ何の役にも立ちません。
「データベース管理システム」(以下 DBMS)は大量データを管理し、そのデータをその他のコンピューター プログラムや人々が相互に利用できるようデザインされたコンピューター プログラムです。また、DBMS は略式にデータベース エンジンと呼んだり、単にエンジンと呼ぶこともあります。DBMS は以下のタスクを実行します。
•データへのアクセスを制御します。DBMS はデータの悪用を防ぐ監視役として動作させることができます。
•データを構造化して、他のアプリケーションで解釈できるようにします。DBMS は、すべてのデータがデータベース構造に従っていることを保証するので、他のコンピューター プログラムは共通する方法を使用してデータを操作することができます。
•データの安全性を保守し、データの文字化けや損失を防ぎます。DBMS は、データの致命的な損失に備えてデータのバックアップを容易にし、また、一貫した方法でデータにアクセスすることにより、データが不注意によるダメージを受けないようにします。
•新しい情報の追加、検索、更新、削除が簡単に行えます。DBMS では新しいデータを直ちに受け付け、目的に応じて情報の検索、更新および削除に使用できるツールを提供します。挿入するデータとデータベース フィールドで定義された属性との適合性をチェックします。
•異なるデータ セット間の関係を分析することができます。DBMS は、データの一部がほかのデータの一部とどのように関連しているかを調べることができる方法でデータを格納します。
要するに、DBMS ではデータを組織化し、その安全性を保守するので、簡単にデータを使用および理解することができます。
Zen のコンポーネント
Zen の DBMS は、データの管理を支援するためのさまざまなコンポーネントで構成されています。
MicroKernel エンジン
高いパフォーマンスを実現している Zen の中核的要素は、MicroKernel エンジンです。このエンジンはコンピューターのハード ディスク上のデータ ファイルを直接処理します。リクエストされると、ユーザーやアプリケーションがデータを処理しているときであっても、新規データの挿入、不要なデータの削除を直ちに行い、また、データ ファイルの安全性と整合性を常に保守します。
リレーショナル エンジン
Zen リレーショナル エンジンは MicroKernel エンジンおよび Zen クライアントと通信します。このエンジンは、Microsoft ODBC のサポート、複雑な検索、分析機能およびセキュリティを含む多くの重要な機能を提供します。
クライアント(別称:リクエスター)
クライアント/サーバー システムでは、Zen クライアントは Enterprise Server に対してリクエストを行うコンピューター上に存在します。クライアントは、クライアント アプリケーションと、ネットワークを通してサーバー上の MicroKernel エンジンおよびリレーショナル エンジンの両方と相互に作用します。
Zen Control Center
Zen Control Center(ZenCC)は、データベースの作成と操作および DBMS の管理に役立つグラフィカル ツールです。ここから本製品のほとんどすべての製品機能にアクセスすることができます。ZenCC 全般の説明については、
Zen Control Center の使用を参照してください。
各種ユーティリティ
Zen データベース エンジンでは、Zen で使用できる多くのオプションや機能のテスト、設定および操作をサポートする多様なグラフィカル ツールおよびコマンド ライン ツールが提供されます。すべてのユーティリティは Windows 上で実行でき、ほとんどのユーティリティが Linux および macOS データベース サーバー エンジンにリモートからアクセスできます。
表 1 Zen ユーティリティの概要
ユーティリティ名 | サポートされるプラットフォーム | 説明 |
---|
Capacity Usage ビューアー | Windows、Linux および macOS | すべてのデータベース エンジンの同時セッション数とデータ使用量を監視します。『 Advanced Operations Guide』の Capacity Usage ビューアーを参照してください。 |
ZenCC 内の設定プロパティ ダイアログ ボックス | Windows、Linux および macOS | Zen クライアントおよびサーバー コンポーネントの設定を操作します。『 Advanced Operations Guide』の 設定リファレンスを参照してください。 |
DDF Builder | Windows、Linux および macOS | 基となるデータ ファイルに変更を加えることなく、Zen データ辞書ファイル(DDF)の表示、作成、変更を行うことができます。『 DDF Builder User's Guide』の DDF Builder についてを参照してください。 |
Defragmenter | Windows、Linux および macOS | データ ファイルの断片化の統計情報を監視します。『 Advanced Operations Guide』の データ ファイルの断片化の監視を参照してください。 |
スキーマのエクスポートおよびインポート | Windows、Linux および macOS | 1 つまたは複数のテーブルのスキーマをエクスポートするか、データベース レベル、つまりデータベース全体のスキーマをエクスポートすることができます。データベース スキーマを新しいデータベースにインポートできます。 スキーマの管理を参照してください。 |
Function Executor | Windows | Btrieve オペレーションを実行します。MicroKernel エンジンの操作方法を学習したり、アプリケーションのテストおよびデバッグを行うことができます。『 Advanced Operations Guide』の Btrieve オペレーションのテストを参照してください。 |
Gateway Locator | Windows | Workgroup エンジン用のゲートウェイ ロケーター ファイルの設定および管理に使用されます。『 Getting Started with Zen』の ゲートウェイ構成のセットアップを参照してください。 |
データのインポートとエクスポート | Windows、Linux および macOS | |
License Administrator | Windows、Linux および macOS | Zen 製品キーを管理します。 ライセンス管理を参照してください。 |
Maintenance | Windows、Linux および macOS | データのインポートやエクスポートなどの、Zen の一般的なファイルおよびデータの操作を実行します。BUTIL はコマンド ライン バージョンです。『 Advanced Operations Guide』の Maintenance を使用した Btrieve データ ファイルの操作を参照してください。 |
Monitor | Windows、Linux および macOS | サーバー エンジンの動作を監視します。データベース管理およびプログラミング診断に役立ちます。『 Advanced Operations Guide』の 監視を参照してください。 |
Notification Viewer | Windows、Linux および macOS | ライセンス コンポーネントによって記録されるメッセージを表示します。Notification Viewer では、システム トレイ アイコンとグラフィカル ユーザー インターフェイス(GUI)の 2 つのインターフェイスを提供します。『 Advanced Operations Guide』の Notification Viewer を参照してください。 |
ODBC アドミニストレーター | Windows | データベースへのアクセスに使用するデータ ソース名(DSN)を設定します。『 ODBC Guide』の DSN のセットアップおよび接続文字列を参照してください。 |
Zen Control Center | Windows、Linux および macOS | Zen の主要なユーティリティ。利用可能なエンジンおよびデータベースを一覧表示し、プロパティ(設定)オブジェクトを設定することができます。 Zen Control Center の使用を参照してください。 |
Zen System Analyzer | Windows | システム コンポーネントの分析および通信テストの実行を行います。 Zen System Analyzer(ZenSA)を参照してください。 |
Query Plan Viewer | Windows | データベースによって選択されたクエリ案を表示して、SQL クエリの最適化方法をより適切に決定できるようにします。『 SQL Engine Reference』の Query Plan Viewer を参照してください。 |
Rebuild | Windows、Linux および macOS | あるバージョンの MicroKernel ファイルを別のバージョンに変換します。『 Advanced Operations Guide』の データ ファイルの変換を参照してください。 |
データベース名の修復 | Windows、Linux および macOS | テーブルが元のデータベース名にバインドされている場合、そのテーブルを新しいデータベースと関連付けます。 データベース名を修復するにはを参照してください。 |
SQL Editor - ZenCC 内から起動 | Windows、Linux および macOS | SQL ステートメントを対話型で実行し、テーブルでデータを追加または編集することができます。 SQL Editor を参照してください。 |
Table Editor - ZenCC 内から起動 | Windows、Linux および macOS | テーブルの列の追加、削除または特性の変更を行ったり、テーブルの作成を行うことができます。 Table Editor を参照してください。 |
ドキュメント
Zen には完全なドキュメント一式が含まれています。ドキュメントの詳細については、
Zen マニュアルの使い方を参照してください。
主要なコンセプト
このセクションでは、データベースの基本的な概念と、Zen を他のデータベース製品と差別化する機能について説明します。
データベース構造と用語
今日使用されているデータベース管理システムの多くは、共通する基本構造のセットを共有しています。これらの構造について、次の表を使って以下に説明します。
表 2 電話帳用のテーブル例
「電話帳」テーブル |
| 列 1 | 列 2 | 列 3 | 列 4 |
列名 | 氏名 | 住所 | 郵便番号 | 電話番号 |
行 1 | Fred Black | 643 Oak | 12346 | 555-2345 |
行 2 | Jane Doe | 112 Elm | 12345 | 555-1212 |
行 3 | John Doe | 112 Elm | 12345 | 555-1212 |
値
データベースの最も基本的な要素は、「値」です。値はデータの 1 つの要素であり、1 つの特性であり、特定のエンティティに使用します。たとえば、上図で氏名の "John Doe" や電話番号の "555-1212" は値です。
列またはフィールド
もう 1 つの要素は、「列」です。または、「フィールド」とも言います。列は特性を表し、特定の値を持ちません。通常、列はその特性を説明する名前を持ちます。たとえば、電話帳では「氏名」および「電話番号」が列です。これらは特定の人物を検索しない限り、特定の値を持ちません。フィールドは、特定の行の一般的な特性を参照するのに使うことがあります。たとえば、前に示した表内で特定のボックスを指し、「このフィールドの値は何ですか?」と尋ねることができます。
行またはレコード
もう 1 つの要素は、「行」です。または、「レコード」とも言います。行は、ある特定のインスタンスに対するすべての値の集合体です。たとえば、電話帳で、氏名、住所、電話番号がすべて揃った 1 つのエントリが 1 つのレコードまたは行です。
セル
「セル」は、特定のレコード内の 1 つの列です。行と列が交差している部分がセルです。各セルには固有の値があります。たとえば、2 行目の第 3 列にあるセルの値は 12345 です。
テーブル
行と列の集合体は「テーブル」を構成します。テーブルは、まったく同じ構造を共有するデータのセットです。通常、テーブルはその内容を説明する名前を持ちます。たとえば、上図のテーブルは "電話帳" という名前が付けられています。Zen では、各テーブルはハード ディスク上で別々のデータ ファイルとして保存されます。
インデックス
「インデックス」は、特定の列に含まれるすべての値を順序付けしたリストです。テーブルには、インデックスを付けないようにすることもできますし、1 つ以上のインデックスを付けることもできます。データベース エンジンでは、インデックスを使ってデータベース内で特定のレコードを検索します。すべてのレコードを 1 つずつ順に検索していく必要はありません。データベース検索で頻繁に使用する列にインデックスを作成すると、高い確率でデータベースのパフォーマンスが向上します。
データベース
「データベース」は 1 つ以上のテーブルの集合体です。テーブル内のデータは、さまざまなテーブル間で必ずしも関連付ける必要はありませんが、通常は多くの関連付けが行われます。たとえば、後で述べる「食べ物の好み」テーブルと前に示した「電話帳」テーブルで 1 つのデータベースを構成することができます。Zen では、ハード ディスク上の 1 つ以上のデータ ファイルとデータ辞書ファイル(DDF)で 1 つのデータベースが構成されます。DDF は、データベースの構造を定義するテーブル、列、その他の属性のすべての定義が含まれる特別なデータ ファイルです。
スキーマ
「スキーマ」は、データベースの全体の構造を説明する定義の完全なセットを指します。標準のスキーマでは、テーブル、列、インデックスおよびその他多くの属性が定義されています。データベースの DDF にはそのデータベースのスキーマが含まれます。
表 3 食べ物の好み用のテーブル例
「食べ物の好み」テーブル |
| 列 1 | 列 2 | 列 3 | 列 4 |
列名 | 氏名 | 魚肉類 | 穀物類 | 飲料類 |
行 1 | Fred Black | すし | 小麦パン | 日本酒 |
行 2 | Jane Doe | ステーキ | シリアル | ビール |
行 3 | Ann Dean | タラ | 米 | ミネラル ウォーター |
リモート
「リモート」は、使用しているコンピューターにはないが、アクセスしたいファイル サーバーまたはデータベースなどのオブジェクトを指します。ネットワーク上のデータベースに接続した場合は、リモート データベースに接続しています。リモートは、「ローカル」の反意語です。リモートは、サーバー コンピューターまたはそのクライアントの 1 つのどちらで現在作業しているかによって、クライアントまたはサーバーのいずれかを指します。リモートは常に、使用しているシステム上にないオブジェクトを指します。
ローカル
「ローカル」は、現在使用しているコンピューター、またはこのコンピューターに保存されているものを指します。ローカル データベースとは、そのデータ ファイルが現在使用しているコンピューターのハード ディスク上に保存されているデータベースです。ローカルは「リモート」の反意語です。ローカルは、サーバー コンピューターまたはクライアント コンピューターのどちらで現在作業しているかによって、クライアントまたはサーバーのいずれかを指します。
リレーショナル
「リレーショナル」という語は、関連付けられたテーブルの形式で格納されているデータを指します。関連付けられたテーブルにより、データのサブセット間で関係を設定することができます。
たとえば、前に示した 2 つのテーブルには「氏名」という列があり、それぞれの値には同じ名前がいくつかあります。電話帳テーブルの氏名と食べ物の好みテーブルの氏名は相互に参照することができるので、「ステーキを好む人物の電話番号は?」などの質問に対して答える機能を持つことができます。また、「製品 A を購入した後で製品 B を最も多く購入する消費者の特徴は?」という質問にも答えることができます。
リレーショナル データベースがどれほど強力かがわかります。Zen のリレーショナル エンジンを使用すれば、データへの完全なリレーショナル アクセスが可能です。
結合
「結合」は、関連付けられたテーブルの列間の関係を指します。通常、結合操作は SELECT クエリの一部で、関連付けられたテーブルから情報を取得するのに使用します。
Zen 独自の利点
Zen の重要な機能の 1 つは、アプリケーションがデータにアクセスする際に、業界基準のリレーショナル エンジン、あるいは高速アクセスの MicroKernel エンジンのどちらの方法でも使用できることです。実際、Zen を使用すれば、アプリケーションは両方のエンジンを同時に使用して同じデータにアクセスすることができます。
エンジンのアクセス方法
Zen は Btrieve API、ADO.NET、または ODBC など、エンジンを用いてデータにアクセスする方法を多数提供します。アクセス方法の詳細については、SDK ドキュメントを参照してください。
用語に関する備考
製品やドキュメント内で MicroKernel エンジンについて言及する場合、「テーブル」および「データベース」という用語は一般的に使用せず、データ ファイルがこれらの用語に相当します。さらに、MicroKernel エンジンユーザーは通常、「行」および「列」よりも「レコード」および「フィールド」という用語を使用します。
DBMS 製品について
Zen には異なるバージョンがあります。これらのバージョンの大きな違いは、価格、マルチ ユーザー機能および使用されるライセンス モデルです。
•Zen Workgroup は低価格ですが、小さなワークグループ環境しかサポートしません。
•Zen Enterprise Server は、大容量ボリュームにおける最高のスケーラビリティ、重要なデータベース アプリケーション向けに設計されており、専用のデータベース サーバーを使用します。Enterprise Server エンジンは、ユーザー数が増えれば増えるほど経済的になります。
•Zen Cloud Server エンジンは Enterprise Server と同等の機能がありますが、このライセンス モデルはサービス管理、SaaS(サービスとしてのソフトウェア)、またはその他の多重環境をサポートできるよう設計されています。
全バージョンのデータベース エンジンは Zen データベースと完全な互換性があり、共通するアーキテクチャで設計されています。通常、Workgroup から Enterprise Server へアップグレードする場合はアプリケーションやデータベースを変更する必要はありません。新しいバージョンをインストールするだけで、動作する準備が整います。Cloud Server は異なるライセンス モデルを使用するため、完全インストールが必要です。Zen Enterprise Server または Workgroup を Cloud Server へアップグレードすることはできません。
Zen Workgroup
Zen Workgroup は、スタンドアロンのシングル ユーザー インストレーションや小規模なワークグループ向けに設計された、ピアツーピア ネットワーク セットアップを提供します。Workgroup エンジンは、データベース エンジンがインストールされていないコンピューター上に置かれている Zen データに複数のユーザーがアクセスできるようにするエンジンです。
Workgroup と Enterprise Server との主な違いは、Workgroup のゲートウェイ機能です。データが置かれているコンピューター上で起動しているデータベース エンジンがない場合、通常はそのデータに接続する最初のデータベース エンジンがほかのエンジンからのすべてのリクエストを処理してデータにアクセスします。この機能は、同じ Workgroup エンジンが常にそのデータを提供する設定、あるいは任意の稼働日中、そのデータに最初に接続する Workgroup エンジンがゲートウェイを請け負うという "動的" な設定の両方が可能です。
Workgroup 製品は同時ユーザー ライセンス モデルを使用します。
ライセンス モデルを参照してください。
Zen Enterprise Server
Zen Enterprise Server は、何千にも及ぶ同時ユーザーにパフォーマンスとスケーラビリティを提供するクライアント/サーバーの完全なアーキテクチャを備えています。Enterprise Server エンジンでは監視および設定がリモートで行えます。Enterprise Server エンジンは、アクセスされるデータ ファイルと同じコンピューター上に存在しなければなりません。
Enterprise Server の設定は、ドキュメントで特に注記がない限り、Windows、Linux、macOS、Windows Nano Server、および IoT Core システムでインストールされるエンジンすべてで同じです。
Enterprise Server は同時ユーザー ライセンス モデルを使用します。詳細については、
ライセンス モデルを参照してください。ライブ マイグレーション、フェールオーバー、フォールト トレランス(FT)、高可用性(HA)および障害回復などのハイパーバイザー機能と一緒に使用するためにライセンスを追加する必要もありません。
Zen Cloud Server
Zen Cloud Server は Enterprise Server と同等の機能がありますが、このライセンス モデルの場合はサービス管理、SaaS(サービスとしてのソフトウェア)、またはその他の多重クライアントの環境をサポートできるよう設計されています。Cloud Server にはホスティング、接続プール、またはインターネットやイントラネットの使用に制限はありません。
Cloud Server では容量ベース ライセンス モデルを使用します。
ライセンス モデルを参照してください。
Cloud Server は Enterprise Server で用いられる技術を基に構築されているため、Enterprise Server のデータベース機能やドキュメントの多くが共通しています。マニュアル全体を通して、特に異なる点を明記していない限り、Enterprise Server に関する記述はすべて Cloud Server にも該当します。
Zen マニュアルの使い方
Zen のすべてのマニュアルはいずれも、クリックやドラッグ、ファイルのオープンや保存などコンピューターの基本的な使用に慣れていることを前提としています。これらの基本的な使用に関する情報が必要な場合は、お使いのコンピューターやオペレーティング システムに付属するドキュメントを参照してください。
ユーザー向けドキュメントのビューアーは Zen Control Center(ZenCC)に組み込まれています。ドキュメントは、ZenCC インターフェイスの[ようこそ]ビュー、[ヘルプ]メニュー、F1(Windows)または Shift + F1(Linux)キーを押すことによって開くことができます。
以下は、ドキュメント ライブラリで最もよく使用されるマニュアルの要約です。このライブラリにはほかのマニュアルも含まれていて、それらはすべて上で説明した ZenCC インターフェイスから使用することができます。
Getting Started
『Getting Started with Zen』を読めば、Zen 設定をインストール、セットアップ、およびトラブルシューティングすることができるようになります。以下のトピックについて説明しています。
•インストールするための準備
•Zen のインストール
•Zen または Btrieve の以前のバージョンからのアップグレード
•Zen の設定
•Zen のインストールでのトラブルシューティング
What's New
『What’s New in Zen』は、Zen の本リリースの新機能と、前リリースからの動作変更をまとめたものです。また、新機能の詳細が記載されたドキュメントの参照先も示します。
User’s Guide
本ガイドでは、Zen の概要を示し、一般的なユーザー タスクについて説明します。また、データベース エンジン、Zen のユーティリティとその他の主要なコンポーネントについて説明するとともに、サーバー エンジンとワークグループ エンジンとの違い、および ODBC と Btrieve アクセスの違いについても説明します。さらに、Zen の基本事項を記載します。
Advanced Operations Guide
『Advanced Operations Guide』では、一般的な操作やいくつかの新しい操作を実行する手順を含め、管理者レベルでの詳細情報を提供します。以下のトピックが含まれます。
•データベースの一貫性のチェック
•定期的なバックアップの実行
•ネットワーク プロトコルの設定およびネットワーク トポロジの理解
•データベース セキュリティの操作
•基本設定のガイドライン
•設定オプションのリファレンス
•ファイルの移動、名前変更、コンパクト化およびリビルド
SQL Engine Reference
『SQL Engine Reference』は、データベース プログラマ向けの SQL リレーショナル データベース言語の完全なリファレンスです。SQL エンジンのパラメーターおよび制限についても説明しています。
Status Codes and Messages
『Status Codes and Messages』には、Zen 使用時に受け取る可能性があるステータス コードと番号付きメッセージがすべて記載されています。
追加情報
弊社 Web サイトでは、Zen の製品ドキュメント、ホワイト ペーパー、技術白書をダウンロードしたり、オンライン ライブラリを使用したりすることができます。
ファイル システムのセキュリティ
Zen データベース エンジンは、Windows ファイル共有などの、ローカルのオペレーティング システムによって定義されたファイル システムのセキュリティに従います。
Enterprise Server および Cloud Server はいずれも、ログイン ユーザー名に割り当てられた権限によって OS レベルのファイル セキュリティを設定することができます。Workgroup 製品ではこれを行いません。Workgroup が最もよく使用される小規模オフィスでは、ネットワークの専門家がいない可能性があり、データ アクセスの障害が高くなることと、より複雑なセキュリティによってもたらされる利点とのトレードオフはあまりにも大きいため、これが好ましいと考えられます。