Amazon云中的 SimpleDB (SDB)

今日细细看了一下Amazon中用于保存云实例、JOB等状态和中间结果的Simple DB.发现果真非常的Simple.

下面详细介绍下:

这个SimpleDB中有四个主要的对象。一是Domain,这个就好像我们的表一样(这只是类比,后面有详细介绍)。二是item这个就像行一样。三是attrib
ute这个就如同列一样。四是value,这就是每个列中的值,类比就是cell.SimpleDB中每一个attribute中的值可以是是一个,也可以是多个。S
impleDB可以有多个Domain,每个Domain中有多个items.每个items中可以有许多个attribute,每个item中的attribute
和其他的item中的attribute可以不相同。这个是啥米?听起来是不是很像google的big table.

后来看了几行SimpleDB的操作才知道,原来就是一个多重map.唉~

每个domain就是一个map我叫它map_domain,每一行也是一个map,叫它map_item.那么如同python的map一样。一个map_item
中可以有多个key,每个key也可以有多个value.如同{key1:value1,key2:[value2,value3,value4]}.map_dom
ain的组织形式为:{map_name:map_item1,map_name:map_item2},这样组织成的SimpleDB有至少两个功能要求:一,可以
根据key快速查找到map_item;二可以根据多个key,查找到map_item.

另外为了支持容错,每个domain必须有多个副本。如果一个副本发生更新,就要将更新在多个副本中传播。所以也可能不能及时看到更新。它自己说是"最终一致"的模型
。对于domain来说,出了要实现那几个功能之外,还有几个属性:

1.最后更新的日期和时间

2。items的个数

3。attribute-value的个数

4。不同名attribute的个数

5。items名字也就是map_item所叫名字的总字节数

6。所有属性值所占大小

7。一致的属性名大小(这个还不知道有什么用处)