ディレクトリ構造をファイルシステムに格納する階層型データベースを開発したいと思います。ただ、どのように私はapache Cassandraで階層データベースを構築するのですか
Root -dir -subdir -subdir -subdir -subdir -subdir -subdir -subdir
のように私はこの
ためにApacheカサンドラを使用することができます
Javaの例を理解する方がよいでしょう。
ディレクトリ構造をファイルシステムに格納する階層型データベースを開発したいと思います。ただ、どのように私はapache Cassandraで階層データベースを構築するのですか
Root -dir -subdir -subdir -subdir -subdir -subdir -subdir -subdir
のように私はこの
ためにApacheカサンドラを使用することができます
Javaの例を理解する方がよいでしょう。
あなたは、列ファミリのパスのデータ、種類や親を格納することができ、カサンドラと
paths { #colum family
"/some/path" { # key
"type" : "file|directory" #column, either file or directory, if this is a file or a directory
"data" : "??" # if this is a file, the data for the file. you don't want to be storing very large files in cassandra in one column
}
}
、あなたは奉仕する非正規化する必要がありますあなたが実行しようとしているクエリ。おそらく、ディレクトリの子を照会し、その構造を持っているように、
children { #column family
"/some/path" { # key
"child-path-1" : null #column, one for each child of /some/path
"child-path-2" : null
}
}
あなたがしたい他のクエリをサポートするために、より多くの列ファミリを追加します。
+1。ありがとう。 – JOHN
こんにちは、これは私がリレーショナルdbmsスキーマのためにやることです。
product{
id int,
parent_id int,
name varchar2(30)
}
サンプルデータ:
product
--------------------
id | parent_id | name
0 | 0 | root
1 | 0 | laptop
2 | 0 | pc
3 | 1 | Dell Latitude E4310
4 | 1 | Dell Vostro E3300
5 | 2 | Compaq Desktop 3
6 | 2 | Compaq Presario 2
ほとんどの技術的意味では、これが可能です。各行には「parent」という名前の列があります。しかし、ツリーを横切ること(カサンドラのほぼすべての反復操作のように)は非常に遅く、非効率的です。ありがとう、 –
もっと明確にするための例を挙げてください。 – JOHN
+1私は正確な用語を検索して、この親類のデータベース関係を階層型データベース構造と呼んでいませんでした。 –