amazon simpledb分析

simpledb功能:

     自动index;
     schemaless;
     零管理成本;
     高可用保证;
     提供给应用读一致性选择接口;
     扩展性(应用可以将数据切分到多个domain上,可见一个domain无法切分);
     fast
     simple to use
     designed for use with other aws
     secure (提供https)
     inexpensive 

simpledb数据模型:
     domains:类似一个table。
          具有接口CreateDomain/DeleteDomain/ListDomains/DomainMetadata。
          domain limit:最大10G,不超过1 billion的属性,每个user有250个domain。
     Items:类似row。
          表现为一个独立的对象包含一组attributes,每个item不超过256个属性对。
     Attributes/Values: 类似column/cell。
          value不超过1024bytes。attribute是以key/value组合作为唯一的,即相同的key可以有多个值。
          PutAttributes/BatchPutAttributes/DeleteAttributes/BatchDeleteAttributes/GetAttributes/select

simpledb部分接口说明:
条件put:
     Expected:Expected.1.Name=VersionNumber&Expected.1.Value=30,满足key/value相等条件才可更新,可以认为提供了行事务性质,通过此来实现CAS的并发控制。
     Replace=true:替换整个该key对应的一个或多个属性。

条件删除:语法类似put。

select语法:
select output_listfrom domain_name[where expression][sort_instructions][limit limit] 
expression有如下形式:
  • <select expression> intersection <select expression>

  • NOT <select expression>

  • (<select expression>)括号表达式

  • <select expression> or <select expression>

  • <select expression> and <select expression>

  • <simple comparison>

comparison支持=,!=,大小比较,like,not like,between,in,is null,is not null,every()。
every指每个keyword需要满足某条件。
注意:系统以字符串形式比较,对于数值大小比较,则需要在前面填充0

一致性保证:
     读时可指定eventually还是consistent。这种consistent并不代表副本之间的一致性关系,而是代表反应给用户看到的一致性关系。这是有差别的,从amazon的文档看出consistent read保证读到的是最新的数据,这有很多做法,如另外有个最新数据的patch,对于consistent read,则需要访问最新数据的patch,eventually则不需要,写时写到patch就算成功,patch再完成向各副本的数据分发。

如何实现自动index呢:
     猜测simpledb是基于列存储的,类似inforbright。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值