实现混合数据库系统的最佳实践 DynamoDB

在某些情况下,从一个或多个关系数据库管理系统 (RDBMS) 迁移到 DynamoDB 可能无益。在这些情况下,创建混合系统可能更可取。

如果不想将所有内容迁移到 DynamoDB

例如,一些组织大笔投资于生成会计和运营所需众多报告的代码。生成报告所花时间对这些组织并不重要。关系系统的灵活性非常适合此类任务,在 NoSQL 上下文中重新创建这些报告可能过于困难。

某些组织将收购或继承的大量过时关系系统保留了几十年。为了证明此工作是合理的而迁移这些系统的数据,可能太过冒险和昂贵。

但是,相同的组织现在可能发现,其操作依赖面向客户的高流量网站 (其中毫秒响应必不可少)。关系系统无法不计 (通常无法接受) 巨大的支出进行扩展来满足此要求。

在这些情况下,答案可能是创建混合系统,DynamoDB 在混合系统中为存储在一个或多个关系系统中的数据创建具体化视图并针对此视图处理高流量请求。通过消除之前处理面向客户的流量所需的服务器硬件、维护和 RDBMS 许可证,此类系统具备降低成本的潜力。

如何实现混合系统

DynamoDB 可利用 DynamoDB 流和 AWS Lambda 与一个或多个现有关系数据库系统无缝集成:

集成 DynamoDB 流和 AWS Lambda 的系统可提供若干好处:

  • 它可作为具体化视图的持久化缓存运行。
  • 它可设置为在查询数据时以及在 SQL 系统中修改数据时逐渐填充所查询和所修改数据。这意味着整个视图无需预先填充,这反过来意味着高效利用预置的吞吐容量的可能性更高。
  • 它的管理成本低并且高度可用和可靠。

要实现此类集成,必须提供三种互操作性:

  1. 增量填充 DynamoDB 缓存。 需要某个项目时,首先在 DynamoDB 中查找它。如果它不在此处,则在 SQL 系统中查找它,然后将它加载到 DynamoDB 中。
  2. 通过 DynamoDB 缓存写入。 当客户更改 DynamoDB 中的值时,将触发 Lambda 函数以将新数据写回 SQL 系统。
  3. 通过 SQL 系统更新 DynamoDB。 当内部流程(如库存管理或定价)更改 SQL 系统中的值时,将触发存储过程以将更改传播至 DynamoDB 具体化视图。

这些操作很简单,但并不是每种方案都需要它们。

当希望主要依赖 DynamoDB,而且还希望保留一个小关系系统以执行一次性查询,或执行需要特殊安全性的操作或非时间关键型操作时,混合解决方案也很有用。

原文地址:https://www.cnblogs.com/cloudrivers/p/11619354.html

时间: 2024-08-01 06:18:50

实现混合数据库系统的最佳实践 DynamoDB的相关文章

iOS原生混合RN开发最佳实践

做过原生iOS开发或者Android开发的同学们肯定也都了解Hybrid,有一些Hybrid的开发经验,目前我们企业开发中运用最广泛的Hybrid App技术就是原生与H5 hybrid,在早期的时候,可能部分同学也接触过PhoneGap等hybrid技术,今天我们就简单来聊下一种比较新的Hybrid技术方案,原生App与ReactNativie Hybrid,如果有同学们对React Native技术不熟悉的同学,可以查看作者简书中对React Native基础的讲解:React Native

混合云场景下容器技术在新能源功率预测产品中的最佳实践

能源互联网是物联网和"互联网+"在能源行业深度融合的产物,是中国制造2025的重要组成部分,我们现在还处于能源互联网的早期阶段.绝大部分能源行业的应用都部署在私有局域网内,并且网络结构异常复杂,这是阻碍互联网技术在能源行业落地的最大挑战. 6月28日,金风科技数据平台架构师张利出席了Rancher Labs举办的Container Day 2018容器技术大会,并做了题为<混合云场景下容器技术在新能源功率预测产品中的最佳实践>的演讲. 金风科技是中国成立最早.自主研发能力最

45个实用的JavaScript技巧、窍门和最佳实践

如你所知,JavaScript是世界上第一的编程语言,它是Web的语言,是移动混合应用(mobile hybrid apps)的语言(比如PhoneGap或者Appcelerator),是服务器端的语言(比如NodeJS或者Wakanda),并且拥有很多其他的实现.同时它也是很多新手的启蒙语言,因为它不但可以在浏览器上显示一个简单的alert信息,而且还可以用来控制一个机器人(使用nodebot,或者nodruino).掌握JavaScript并且能够写出组织规范并性能高效的代码的开发人员,已经

腾讯优测优分享 | 探索react native首屏渲染最佳实践

腾讯优测是专业的移动云测试平台,旗下的优分享不定时提供大量移动研发及测试相关的干货~此文主要与以下内容相关,希望对大家有帮助. react native给了我们使用javascript开发原生app的能力,在使用react native完成兴趣部落安卓端发现tab改造后,我们开始对由react native实现的界面进行持续优化.目标只有一个,在享受react native带来的新特性的同时,在体验上无限逼近原生实现.作为一名前端开发,本文会从前端角度,探索react native首屏渲染最佳实

[1.30] 保持的力量:接口开发最佳实践

神啊,求你赐给我平静的心,去接受我无法改变的事:赐给我勇气,去做我能改变的事:赐给我智慧,去分辨两者的不同. --平静之祷 1.30.1 论保持的力量 追到一个心仪的女生不难,难于如何保持和培养一份真挚的感情:获得一时的财富也不难,难于如何长久保持收益:创业的公司很容易博得一时媒体的关注以及某次天使的投资,但难于如何排除各种障碍.充分利用各方资源发展成中企业及至上市公司. 同样,提供一时的接口很容易,但当我们需要不断为接口提供升级,以及当我们维护提供一整套接口时,面临的困难和问题会越来越大.所以

事务管理最佳实践全面解析

事务管理 事务是一个单元的工作,要么全做,要么全不做. 事务管理对于维持数据库系统内部保存的数据逻辑上的一致性.完整性,起着至关重要的作用. 如:一个银行应用软件中,转帐的操作中,需要先在A用户帐户中减去资金,然后再在B用户帐户中增加相应的资金.如果完成A帐户操作后,由于系统故障或者网络故障,没有能够完成接下来的操作,那么A帐户中的资金就白白流失了.显然,客户是无法接受这样的结果的! 如果我们把一个A和B帐户的操作放在一个事务单元中,那么如果遇到上述异常情况,A帐户减少资金的操作会回滚.A帐户的

传统IDC机房与云计算如何快速结合最佳实践的经验之谈

大家好,有两周没好好坐下来聊聊近期的实践课程了,今年也是对网工技能要求上的一个非常大的挑战,怎么说呢?因为上云的趋势已经来临,去年是所有的企业都在拥抱互联网,今年则是所有的企业都在拥抱云计算,加上各大产商的疯狂扩展与竞争,"价格战····"已经不计其数,但真正能协助用户落地实施方案成功上云的服务商,用手指在上海完全能数得过来. 这里就不点名了,点名就有点个人情绪在里面了,还是回归老本行扯扯技术,聊聊梦想. 我见过很多公司,号称自己有云.但是去聊了下,也其实就是虚拟化(kvm.xen.v

给HTML初学者的三十条最佳实践

1.保持标签闭合 以前,经常见到类似下面的代码(译注:这是多久以前啊……): <li>Some text here. <li>Some new text here. <li>You get the idea. 注意外面包裹的UL/OL标签被遗漏了(谁知是故意还是无意的),而且还忘记了关闭LI标签.按今天的标准来看,这是很明显的糟糕做法,应该100%避免.总之,保持闭合标签.否则,你验证html标签的时候可能遇到问题. 更好的方式 <ul> <li>

jQuery编码规范与最佳实践

p{text-indent:2em;}前端开发whqet,csdn,王海庆,whqet,前端开发专家 翻译自:http://lab.abhinayrathore.com/ 翻译人员:前端开发whqet,意译为主,不当之处欢迎大家指正. 译者说:临近期末,大部分的基础教学内容已经讲解完毕,在进行比较大型的项目训练之前,如果能让学生了解甚至遵循一些前端开发的编码规范将会是一件非常有意义的事情.因此,本博客准备于近期整理一个编码规范与最佳实践的系列文章,包括html.css.javascript.jq