首页 新闻 会员 周边 捐助

请教海量数据库的设计

0
[已解决问题] 解决于 2009-03-03 11:12

有这样一堆数据,基本格式是这样的:

Group 1

Class 1 -     984 Points

Point 1

y:    346.102652 x:    140.217103 scale:    51.539823 orientation:    -0.980912

Descriptor:128 dimensions.

0 2 0 0 3 105 38 2 62 5 1 0 0 22 53 159 159 0 0 0 0 0 3 159 94 0 0 0 0 0 1 80 13 9 5 22 30 61 29 8 147 18 2 1 0 15 102 159 93 0 0 0 0 0 52 159 27 0 0 0 0 0 1 45 21 10 3 9 4 0 0 0 159 35 1 1 0 0 1 50 110 9 0 0 0 0 5 50 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 22 0 0 0 0 0 0 4 12 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

Point 2

y:    346.102652 x:    140.217103 scale:    51.539823 orientation:    -1.855678

Descriptor:128 dimensions.

139 149 16 6 0 0 0 0 149 149 1 0 0 0 0 0 45 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 64 4 2 0 0 23 54 149 144 1 0 0 0 0 43 127 51 6 0 0 0 0 8 0 0 0 0 0 0 0 0 26 5 4 2 8 18 96 72 116 149 66 6 6 3 3 25 25 149 40 0 0 0 0 0 0 6 1 0 0 0 0 0 0 0 0 1 8 18 6 0 0 20 11 3 6 3 0 0 1 26 2 0 0 0 0 0 0 0 0 0 0 0 0 0

......

Point 984

 

y:    239.457105 x:    417.113207 scale:    0.898385 orientation:    1.633814

Descriptor:128 dimensions.

131 28 0 0 0 0 0 9 131 83 9 12 20 9 2 15 3 9 10 50 131 31 1 3 15 59 27 15 18 3 2 13 125 54 0 0 0 0 0 1 131 100 7 8 13 4 1 8 13 7 5 28 131 62 2 3 18 22 9 7 38 27 6 8 129 23 0 0 0 0 0 8 131 14 0 0 5 4 4 16 30 1 0 0 70 131 25 11 2 0 0 0 20 95 52 6 91 14 0 0 0 0 0 7 131 55 0 0 0 0 3 10 56 24 1 10 17 72 23 11 0 0 0 24 34 79 22 0

Class 2

...

Class 3

...

Class N

这样的Group有几万个,每个Group里有10个左右的Class,每个Class的Points数量是不定的(一般为100~1000)。程 序中最常用的操作是提取同一个Group中的所有数据,与外部一组结构相同的数据进行比较。对于这样的需求,如何设计数据库才能获得最好的性能?最简单的 设计方法当然是Group,Class,Points分别设计为一个表,三者直接通过外键进行关联,但这样的设计方法将导致Points的记录数达到上千万条,这简直是不可想象的。如果哪位兄弟有类似的项目经验,还请多多指教。

saintbird的主页 saintbird | 初学一级 | 园豆:4
提问于:2009-02-25 15:01
< >
分享
最佳答案
0

只用建一个表Group.将class及points设计成XML格式.

最终的数据格式如下:

Group1   Class1XML
Group1   Class2XML
Group2   Class1XML
Group2   Class2XML
........

 

至于XML格式的设计就需要自己动脑筋了.

 

 

 

   

山 前 | 菜鸟二级 |园豆:225 | 2009-02-25 17:03
其他回答(1)
0

程 序中最常用的操作是提取同一个Group中的所有数据,与外部一组结构相同的数据进行比较。

比较是比较什么呢?如果是单纯的比较结构是否一样,而不需要获取哪里不同,,可以将一个guoup中的所有数据按照一定顺序转变为一个整体,,然后做md5的值作为一个字段

还有没有其他的查询操作? 

wingoo | 园豆:1513 (小虾三级) | 2009-02-25 15:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册