请问,您能举出使用 SimpleDB 作为主要持久存储的实际实现示例吗?
3 回答
为什么不从亚马逊的案例研究开始呢?
我使用 SimpleDB 作为GridRoom的主要结构化数据存储,这是一种目前处于测试阶段的体育视频共享和协作服务。
我创建了Simple Savant,这是一个用 C# 编写的开源对象持久性框架,以使我自己更容易做到这一点。除了创建 Savant 框架本身所涉及的初始工作外,使用 SimpleDB 意味着我将大约 1% 的时间用于处理和支持数据层,而 15% 的时间用于 SQL Server 或其他 RDBMS。
管理和报告工具中仍然存在差距,这可能会导致很难证明将现有应用程序转移到 SimpleDB 再过几年是合理的,但对于新应用程序,我发现它是一个不错的选择。
我现在正在将 SimpleDB 用于一个项目,但它还没有投入生产。我们将它与 S3 一起使用来形成我们的持久层。实体在 S3 中存储为 JSON 编码文档(前面有 memcached 作为直写缓存)。我们要查询的元数据存储在 SimpleDB 中。
这种组合效果很好。使用基于文档的模型允许我们拥有任意大的实体。如果您将 SimpleDB 严格用作索引,那么 SimpleDB 的限制就不会那么痛苦了。
当我不再试图将 SimpleDB 视为 RDBMS 的直接替代品时,对我来说是个重大时刻。与S3的组合非常好。
希望这会有所帮助。