sudarshansarolkar / treapdb

Automatically exported from code.google.com/p/treapdb
0 stars 0 forks source link

应用场景 #7

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Q:TreapDB可以用在哪儿呢?

A:比如微博客的好友关系。

假设有100万用户,每个用户平均follow 
80人,平均被20人follow。那么如果用RDBMS,那么这个表会有1亿�
��,一般查询起来就相当慢了。

如果用key-value的模式,可以这样存:

F1:(timestamp) => 11
E11:(timestamp)=> 1
F1:(timestamp) => 3
E3:(timestamp)=> 1
F2:(timestamp) => 1
E1:(timestamp) => 2
F1:(timestamp) => 2
E2:(timestamp)=>1

其中F表示关注,E表示被关注,timstamp是一个时间戳。

那么,取前缀"F1:",就可以得到ID为1的用户关注了(11,3,2)这三�
��用户,而且取出来的顺序是按照key排序的。
去前缀"E1:",就可以得到关注ID为1的用户的所有用户

Original issue reported on code.google.com by ccnu...@gmail.com on 15 Dec 2010 at 12:16

GoogleCodeExporter commented 9 years ago
感觉这个scenario不是特别合适,twitter自己搞了个flockdb来存foll
ow的graph,当然他们搞的是graph db,和你的不一样。

对你这个project蛮感兴趣的,不知道能不能再举个其它的例子�
��的。而且,我很好奇你们的motivation,是为了什么特定的appli
cation吗?

Original comment by zjshe...@gmail.com on 15 Dec 2010 at 2:19

GoogleCodeExporter commented 9 years ago
还想到一个场景,就是存稀疏矩阵
R01:C01=>'aaa'
C01:R01=>'aaa'
R10:C2=>'bbbb'
C02:R10=>'bbbb'
R01:C03=>'xxxx'
C03:R01=>'xxxx'

好处在于,通过前缀查询,可以一次读一“行”或一“列”��
�
添加一矩阵中的一个值时,也不用读出某行或某列的所有值��
�

Original comment by ccnu...@gmail.com on 16 Dec 2010 at 6:05