OrientDBは、リレーショナルデータベースの操作に慣れている人の外観です。
OrientDBは、Javaで実装されたグラフィカルなドキュメント指向データベースであることを思い出させてください。
私は初心者向けの記事を書くことにしました。なぜなら、最初はそれが最も難しいが、ロシア語だからです。 読みやすい例のある紹介記事は実質的にありません。
orientDBのダウンロード方法を伝える必要はないと思いますが、
念のためにwww.orientechnologies.com/downloadこの記事では理論について話したくありません。多くの人がOrientDBを感じて、少なくとも少し理解したいようです。 しかし、ロシア語で少し理論を知りたい人のために、未完成の
記事があります。
それでは、まずorientDB-serverを起動します:
/programs/orientDB/bin/server.sh
第二に、orientDBコンソールに行きましょう:
/programs/orientDB/bin/console.sh
第三に、ルートパスワードを見つける必要があり、それはファイルに登録されます:
/config/orientdb-server-config.xml
「パスワード」の行を探してください。すぐにすべてが理解できます。
パスワードがわかれば、データベースを作成できます。
orientdb>データベースのリモート作成:localhost / people root PASWORD local
構文は次のとおりです。
データベース<database-url> <user> <password> <storage-type> [<db-type>]を作成します
データベースに関する情報を見てみましょう。
orientdb {people}>情報
標準クラスを作成すると、クラスターとインデックスが表示されることがわかります。
頂点-ピーク
個人クラス(Person)を作成します。
クラスPersonを作成してVを拡張します
注:Vertex(頂点)のようなクラスを作成しました
文字列プロパティ名をクラスに追加します
プロパティPerson.name文字列を作成します
2つの頂点を作成します。
頂点の個人セット名を作成=「Joanie」
頂点の個人セット名を作成=「Chachie」
EDGE-リブ
私が翻訳しようとしていた
記事では、著者がクラスを作成し、そのクラスでこれらの人物間の関係を示します
クラスを作成すると、Eが拡張されます
実際、このクラスは何の役割も果たさず、作成する必要はありません(まだ必要ありません)。
個人間に1つの接続を追加します。
#11:1から#11:0のエッジが大好き
EDGE(エッジ)関係を作成したことに注意してください。
だから、私たちは2人をつないだので、作業を確認します。
orientdb {people}>人から選択
---- + ----- + ------- + -------- + ---------
#| @ RID |名前| in_Loves | out_Loves
---- + ----- + ------- + -------- + ---------
0 |#11:0 |ジョアニー|#11:1 | null
1 |#11:1 | Chachie | null |#11:0
---- + ----- + ------- + -------- + ---------
Personクラスに2つのフィールドが表示されていることに注意してください。
これらのフィールドは自動的に作成されます。作成を拒否することはできません。 これらのフィールドでは、人のつながり(@ RID)を見ることができますが、これは私たちに何をもたらしますか? そして、これにより、たとえばクエリを作成する場合、これらのフィールドにオブジェクトとしてアクセスできることがわかります。
orientdb {people}>名前を選択、in_Loves.nameをin、out_Loves.nameをPersonから選択
---- + ----- + ------- + ------- + ------
#| @ RID | name | in | out
---- + ----- + ------- + ------- + ------
0 |#-2:1 | Joanie | Chachie | null
1 |#-2:2 | Chachie | null | Joanie
---- + ----- + ------- + ------- + ------
@ RIDリンクではなく、関連オブジェクトからのデータを取得します。
注意してください、 PersonクラスはVから継承されるため、すべての通信データもVに存在します。
orientdb {people}> Vから選択
---- + ----- + ------- + -------- + ---------
#| @ RID |名前| in_Loves | out_Loves
---- + ----- + ------- + -------- + ---------
5 |#11:0 |ジョアニー|#11:1 | null
6 |#11:1 | Chachie | null |#11:0
---- + ----- + ------- + -------- + ---------
OrientDBを少し研究したことがある人は尋ねるかもしれませんが、E(EDGE)についてはどうでしょうか、なぜエッジがそこに登録しなかったのですか?
すべてが非常に単純なので、接続がEに登録されるように、エッジに名前を付ける必要があります。 つまり 私たちは書いた:
#11:1から#11:0のエッジが大好き
しかし、書く必要がありました:
#11:1から#11:0にエッジを作成MyFieldName = 1を設定
さらに、Lovesクラスを作成し(上記を参照)、クラス名を示すリンクを作成できます。
#11:1から#11:0までのエッジを作成しますMyFieldName = 1を設定します
したがって、フィールド名(MyFieldName)を指定することで(1つのクラス内の)関係のタイプを区別でき、クラス名を指定することで、クラスごとに関係のタイプをさらに区別できます。 ただし、クラスEでは、すべての種類の接続が常に示されます。 このクラスから拡張します(Lovesクラスの作成方法に注意してください)。
皆さんの中には、すべてのデータが同じ場合にクラスEから拡張する必要があると言う人もいます。
また、私はこの質問をし、OrientDBの作者はこのように
答えました。プラスは、OrientDBはグラフを使用してより適切にパーティション分割されることであり、もちろんこれはデータサンプリングの速度に影響します。
パーティション化とは、選択した基準に従って、大きなテーブルを論理部分にパーティション化することです。
この記事が気に入ったら、続編を準備できます。
皆さん、幸運を祈ります。質問がある場合は、コメントするか
、OrientDBグループに投稿し
てください。