Image
Top
Navigation

チュートリアル12 : データベースを作成する

———- Orient Studio(GUIツール)を利用する場合 ———-

Orient Studio(GUIツール)の起動方法はチュートリアル02 : Orient studioで遊ぶを参照して下さい。

‘http://orientDBがインストールされているサーバーのIP:2480/’をブラウザで開くだけです。
例えば、’http://localhost:2480/’、’http://192.168.2.128:2480/’とかです。

apacheのインストールは不要です。

起動後の画面は以下の通りです。

Orient Studio

linux系のサーバーの場合、basic認証の入力を求められる場合があります。

Orient Studio

その場合は、OrientDBの管理者のIDとパスワードを入力して下さい。

OrientDBの管理者は、configディレクトリィの下にある’orientdb-server-config.xml’のusersディレクティブに記載されています。

データベースを作成する

create new databaseボタンをクリックすると、データベース作成用フォームが表示されます。

Orient Studio

  • name データベースの名前
  • type データベースタイプ(”graph”または”document”を選びます)
  • storage-type “local”は以前のバージョン用なので使用しません。ディスクベースなら”plocal”。インメモリーなら”memory”。

※インメモリーはディスクには保存されません。キャッシュ等の用途に利用します。

ここでは、

  • name doc-test1
  • type document
  • storage-type plocal

で、データベースを作成します。

フォームに入力して、”create database”をクリックします。

さて次に、そのデータベースに接続します。

Orient Studio

データベースを作成すると、そのデータベースの全権をもったユーザがadmin(パスワードもadmin)で自動的に作成されます。必要項目を入力して、”connect”をクリックします。

Orient Studio

まず。上部のメニューから「schema(スキーマ)」をクリックしましょう。すると現在存在するクラスの一覧が表示されます。

データベースを作成した直後ですから、データベース管理用のクラスだけが表示されています。

OIdentity、ORole、OUserは、ユーザおよびロールの権限系クラスです。

———- コンソールを利用する場合 ———-

コンソールの起動方法はチュートリアル11 : OrientDBをinstallする(centos)を参照して下さい。

データベースを作成する

構文

create database <database-url> <user> <password> <storage-type> [<db-type>]

Where:
database-url データベースのURLは、remote:ホスト名かIP/データベース名(例:remote:/localhost/test)。最後のtestがデータベース名になります。
user リモートデータベースの管理者ユーザを指定する。
password リモートデータベースの管理者ユーザのパスワード。
storage-type ディスクベースなら’plocal’。インメモリーなら’memory’。
db-type オプション。”graph”または”document”。デフォルトは”graph”。

ここでは、
– database-url: remote:localhost/doc-test1
– user:orientdbデータベースの管理者ユーザ
– password: そのパスワード
– storage-type: plocal
– db-type: document
でデータベースtestを作成してみます。

orientdbの管理者ユーザについては、インストールチュートリアルの「データベース管理者ユーザについて(rootのパスワード変更とadminの追加)」を参照して下さい。デフォルトではrootユーザが作成されています。
データベース管理者ユーザは、config/orientdb-server-config.xmlのusersセクションに記載されています

create database remote:localhost/doc-test1 管理者ユーザ パスワード plocal document

成功するとこんな風に表示されます。


orientdb> create database remote:localhost/doc-test1 admin パスワード plocal document

Creating database [remote:localhost/doc-test1] using the storage type [plocal]...
Connecting to database [remote:localhost/doc-test1] with user 'admin'...OK
Database created successfully.

Current database is: remote:localhost/doc-test1

ここでは関係ないですが、別のサーバーやPCから接続する場合は、とりあえずポート2424とポート2480を外部から接続できるようにするのを忘れないようにして下さい。
たとえば、centosだと最低限のポートしか空いてないと思いますので、必ず確認しましょう。

データベースを作成すると自動的にそのデータベースにconnectされます。

disconnectしてみましょう。


orientdb {doc-test1}> disconnect

Disconnecting from the database [doc-test1]...OK
orientdb>

データベースを指定して接続する

構文

connect <database-url> <user> <password>

Where:
database-url データベースのURLは、remote:ホスト名かIP/データベース名(例:remote:/localhost/test)。最後のtestがデータベース名になります。
user orientdbデータベースの管理者ユーザまたはそのデータベースのownerユーザ。
password 上記のユーザのパスワード。

データベース作成時に指定するユーザは、そのOrientDBサーバーの管理者(orientdb-server-config.xmlに書かれている)だけでしたが、connectでは、データベースのユーザでも接続できます。
データベース作成直後にadminユーザがパスワードadminで自動作成されます。

さっき作成したデータベースに再接続してみましょう。


orientdb> connect remote:localhost/doc-test1 admin admin

Connecting to database [remote:localhost/doc-test1] with user 'admin'...OK

データベースの情報を表示する


Current database: doc-test1 (url=remote:localhost/doc-test1)

DISTRIBUTED CONFIGURATION: none (OrientDB is running in standalone mode)

DATABASE PROPERTIES
--------------------------------+----------------------------------------------------+
 NAME                           | VALUE                                              |
--------------------------------+----------------------------------------------------+
 Name                           | null                                               |
 Version                        | 9                                                  |
 Date format                    | yyyy-MM-dd                                         |
 Datetime format                | yyyy-MM-dd HH:mm:ss                                |
 Timezone                       | Asia/Tokyo                                         |
 Locale Country                 | JP                                                 |
 Locale Language                | ja                                                 |
 Charset                        | UTF-8                                              |
 Schema RID                     | #0:1                                               |
 Index Manager RID              | #0:2                                               |
 Dictionary RID                 | null                                               |
--------------------------------+----------------------------------------------------+

CLUSTERS
----------------------------------------------+-------+---------------------+---------+-----------------+
 NAME                                         |   ID  | TYPE                | DATASEG | RECORDS         |
----------------------------------------------+-------+---------------------+---------+-----------------+
 default                                      |     3 | PHYSICAL            |      -1 |               0 |
 index                                        |     1 | PHYSICAL            |      -1 |               2 |
 internal                                     |     0 | PHYSICAL            |      -1 |               3 |
 manindex                                     |     2 | PHYSICAL            |      -1 |               1 |
 ofunction                                    |     7 | PHYSICAL            |      -1 |               0 |
 orids                                        |     6 | PHYSICAL            |      -1 |               0 |
 orole                                        |     4 | PHYSICAL            |      -1 |               3 |
 oschedule                                    |     8 | PHYSICAL            |      -1 |               0 |
 ouser                                        |     5 | PHYSICAL            |      -1 |               3 |
----------------------------------------------+-------+---------------------+---------+-----------------+
 TOTAL = 9                                                                  |         |              12 |
----------------------------------------------------------------------------+---------+-----------------+

CLASSES
----------------------------------------------+------------------------------------+------------+----------------+
 NAME                                         | SUPERCLASS                         | CLUSTERS   | RECORDS        |
----------------------------------------------+------------------------------------+------------+----------------+
 OFunction                                    |                                    | 7          |              0 |
 OIdentity                                    |                                    | -          |              0 |
 ORestricted                                  |                                    | -          |              0 |
 ORIDs                                        |                                    | 6          |              0 |
 ORole                                        | OIdentity                          | 4          |              3 |
 OSchedule                                    |                                    | 8          |              0 |
 OTriggered                                   |                                    | -          |              0 |
 OUser                                        | OIdentity                          | 5          |              3 |
----------------------------------------------+------------------------------------+------------+----------------+
 TOTAL = 8                                                                                                     6 |
----------------------------------------------+------------------------------------+------------+----------------+

INDEXES
----------------------------------------------+------------+-----------------------+----------------+------------+
 NAME                                         | TYPE       |         CLASS         |     FIELDS     | RECORDS    |
----------------------------------------------+------------+-----------------------+----------------+------------+
 dictionary                                   | DICTIONARY |                       |                |          0 |
 ORole.name                                   | UNIQUE     | ORole                 | name           |          3 |
 OUser.name                                   | UNIQUE     | OUser                 | name           |          3 |
----------------------------------------------+------------+-----------------------+----------------+------------+
 TOTAL = 3                                                                                                     6 |
-----------------------------------------------------------------------------------------------------------------+

正常にデータベースが作成されました。

データベースはどこに作成されたか?

/opt/orientdb/をOrientDBのホームにしていますので、’/opt/orientdb/databases’の配下にさっき作成したデータベースのディレクトリーが出来ています。


root@newyork databases]# ls -la
drwxr-xr-x. 11 orientdb orientdb 4096  8月 20 14:09 2014 .
drwxr-xr-x. 10 orientdb orientdb 4096  8月 19 21:05 2014 ..
drwxr-xr-x.  2 orientdb orientdb 4096  8月 18 21:30 2014 GratefulDeadConcerts
drwxr-xr-x.  2 root     root     4096  8月 20 14:12 2014 doc-test1

‘doc-test1’の配下を見てみましょう。


[root@newyork databases]# cd doc-test1
[root@newyork doc-test1]# ls -la
合計 1720
drwxr-xr-x.  2 root     root       4096  8月 20 14:12 2014 .
drwxr-xr-x. 11 orientdb orientdb   4096  8月 20 14:09 2014 ..
-rw-r--r--.  1 root     root       1024  8月 20 14:12 2014 ORole.name.nbt
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 ORole.name.sbt
-rw-r--r--.  1 root     root       1024  8月 20 14:12 2014 OUser.name.nbt
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 OUser.name.sbt
-rw-r--r--.  1 root     root       1481  8月 20 14:12 2014 database.ocf
-rw-r--r--.  1 root     root       1024  8月 20 14:12 2014 default.cpm
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 default.pcl
-rw-r--r--.  1 root     root       1024  8月 20 14:12 2014 dictionary.nbt
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 dictionary.sbt
-rw-r--r--.  1 root     root          1  8月 20 14:11 2014 dirty.fl
-rw-r--r--.  1 root     root     196608  8月 20 14:12 2014 doc-test1.0.wal
-rw-r--r--.  1 root     root         40  8月 20 14:11 2014 doc-test1.wmr
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 index.cpm
-rw-r--r--.  1 root     root     132096  8月 20 14:12 2014 index.pcl
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 internal.cpm
-rw-r--r--.  1 root     root     132096  8月 20 14:12 2014 internal.pcl
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 manindex.cpm
-rw-r--r--.  1 root     root     132096  8月 20 14:12 2014 manindex.pcl
-rw-r--r--.  1 root     root        940  8月 20 14:12 2014 name_id_map.cm
-rw-r--r--.  1 root     root       1024  8月 20 14:12 2014 ofunction.cpm
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 ofunction.pcl
-rw-r--r--.  1 root     root       1024  8月 20 14:12 2014 orids.cpm
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 orids.pcl
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 orole.cpm
-rw-r--r--.  1 root     root     132096  8月 20 14:12 2014 orole.pcl
-rw-r--r--.  1 root     root       1024  8月 20 14:12 2014 oschedule.cpm
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 oschedule.pcl
-rw-r--r--.  1 root     root      66560  8月 20 14:12 2014 ouser.cpm
-rw-r--r--.  1 root     root     132096  8月 20 14:12 2014 ouser.pcl

結構な数のファイルができています。
この解説については、また今度。

関連するコマンド:サーバーインスタンスに接続する(DBには接続しない)

構文

connect  <host> <user> <password>

Where:
host ホスト名またはipアドレス。
user そのサーバーインスタンスの管理者ユーザ名。
password そのサーバーインスタンスの管理者ユーザのパスワード。

実行例


orientdb> connect localhost admin パスワード

Connecting to remote Server instance [localhost] with user 'admin'...OK

関連するコマンド:そのサーバーインスタンスにあるデータベース名を一覧表示する

構文

list databases

実行例


orientdb {remote:localhost/}> list databases

Found 2 databases:

* test (plocal)
* GratefulDeadConcerts (plocal)

orientdb {remote:localhost/}>

関連するコマンド:データベースを削除する

構文

drop database <database-url> <user> <password> 

Where:
database-url データベースのURLは、remote:ホスト名かIP/データベース名(例:remote:/localhost/test)。最後のtestがデータベース名になります。
user そのサーバーインスタンスの管理者ユーザ名。
password そのサーバーインスタンスの管理者ユーザのパスワード。

実行例


orientdb {remote:localhost/}> drop database remote:localhost/test admin パスワード

Disconnecting from remote server [remote:localhost/test]...
OK
Disconnecting from the database [null]...OK

Database 'remote:localhost/test' deleted successfully

関連するコマンド:ローカル指定でデータベースを作成する

構文

create database <database-url> <user> <password> <storage-type> [<db-type>]

Where:
database-url データベースのURLは、plocal:データベースを作成するディレクトリィ(例:plocal:/opt/orientdb/databases/test)。最後のtestがデータベース名になります。ディレクトリィは絶対パスで記載して下さい。
user そのデータベースのownerとなるユーザがこの名前で作成される(デフォルトはadmin)。
password そのデータベースのownerとなるユーザがこのパスワードで作成される(デフォルトはadmin)。
storage-type ディスクベースなら’plocal’。インメモリーなら’memory’。
db-type オプション。”graph”または”document”。デフォルトは”graph”。

ここでは、
– database-ur: plocal:/opt/orientdb/databases/doc-test1
– user: その初期ユーザをadmin
– password: その初期パスワードをadmin
– storage-type: plocal(memoryは今後取り上げます)
– db-type: document
でデータベースdoc-test1を作成してみます。

create database plocal:/opt/orientdb/databases/doc-test1 admin admin plocal document

ローカル(排他)指定でデータベースを指定して接続する

構文

connect database <database-url> <user> <password>

Where:
database-url データベースのURLは、plocal:データベースのあるディレクトリィ(例:plocal:/opt/orientdb/databases/test)。最後のtestがデータベース名になります。ディレクトリィは絶対パスで記載して下さい。
user そのデータベースのownerであるユーザ(デフォルトはadmin)。
password そのデータベースのownerであるユーザのこのパスワード(デフォルトはadmin)。

この場合、データベースには完全排他で接続しますので注意して下さい。この接続をしているユーザが一人でもいると他からは接続できません。

チュートリアル13 : クラス(テーブルのこと)を作成する)に続きます。