如何使用apache Cassandra构建分层数据库

时间:2011-07-23 13:47:41

标签: database cassandra

我想开发一个分层数据库来在文件系统中存储目录结构

就像

一样
 Root
   -dir
     -subdir
     -subdir
        -subdir
            -subdir
            -subdir
     -subdir
     -subdir

我可以使用Apache Cassandra吗

一个java示例会更好理解。

2 个答案:

答案 0 :(得分:7)

您可以在列族中存储路径的数据,类型和父级,

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
    }
}

使用cassandra,您需要进行非规范化以提供您要执行的查询。您可能想要查询目录的子项,因此具有类似

的结构
children { #column family 
    "/some/path" { # key
         "child-path-1" : null #column, one for each child of /some/path
         "child-path-2" : null 
    }
}

添加更多列系列以支持您希望执行的其他查询。

答案 1 :(得分:1)

您好我会为关系型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