dynamo采用什么方式存储数据
⑴ 请问数据库有哪些种类呢
数据库共有3种类型,为关系数据库、非关系型数据库和键值数据库。
1、关系数据库
MySQL、MariaDB(MySQL的代替品,英文维基网络从MySQL转向MariaDB)、Percona Server(MySQL的代替品·)、PostgreSQL、Microsoft Access、Microsoft SQL Server、Google Fusion Tables、FileMaker、Oracle数据库、Sybase、dBASE、Clipper、FoxPro、foshub。
几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。
2、非关系型数据库(NoSQL)
BigTable(Google)、Cassandra、MongoDB、CouchDB。
3、键值(key-value)数据库
Apache Cassandra(为Facebook所使用):高度可扩展、Dynamo、LevelDB(Google)。
(1)dynamo采用什么方式存储数据扩展阅读:
数据库模型:对象模型、层次模型(轻量级数据访问协议)、网状模型(大型数据储存)、关系模型、面向对象模型、半结构化模型、平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)。
数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。
⑵ 浣跨敤dynamodb local 杩涜屾坊锷犺〃鍜屾坊锷犳暟鎹鍒拌〃涓锛屽彲鏄鍦╠ynamodb镄勬带鍒跺彴骞舵病链
NoSQL鏁版嵁搴扑绩杩涙墿灞曟т笖鑳藉熷府锷¦eb搴旂敤鍑忓皯鍙戦棿镀忓叧绯诲瀷鏁版嵁𨰾ュ浐瀹氭ā寮厨oSQL鏁版嵁搴撴ā寮忓彂钥呮彁渚涙洿𨱔垫т袱姣旇缉娴佽孨oSQL鏁版嵁搴扑筜椹阃奥eb链嶅姟SimpleDBDynamoDB
浜氶┈阃奃ynamoDBSimpleDB鍏呯$悊闱炲叧绯诲瀷鏁版嵁搴揿苟涓旀彁渚涚亩鍗曞簲鐢ㄧ▼搴忔帴鍙o纸API锛夎繘琛屽瓨鍌ㄣ佹煡璇㈢$悊鏁版嵁涓ゆ暟鎹搴挞兘阃傜敤浜庡绘眰𨱔垫暟鎹搴撹捐″簲鐢ㄦ暟钖岀偣搴旂敤
鐢⊿impleDB绠$悊镟存暟鎹搴
SimpleDB阃傚悎姣忓烟瓒10GB鍨嬫暟鎹搴撶嶆暟鎹搴挞渶瑕佸熀链瀛桦偍镆ヨ㈡搷浣沧湡链涜〃澧为熷害姣旀洿涓旇″垝浣跨敤SimpleDB闇瑕佽嚜鏁版嵁涓ゆ垨钥呮洿锘熺$悊钖岃兘澶熻法锘熸坠鍓叉暟鎹闄勫姞绠$悊璐圭敤镰村潖SimpleDB浼桦娍
椤规湇锷℃棬链嶅姟浜庡瀷鏁版嵁搴揿簲鐢ㄤ簺搴旂敤绉岖伒镐с佺敤镐у强钥愪箙镐у叧阌钥冮噺钖屾墿灞曟ч渶姹傝缉灏戣兘澶熻繍琛屾敼鍙樿〃灞炴т笖椤讳慨鏀规ā寮忋侀吨鏂扮储寮曟暟鎹鎴栬呯荤嚎镎岖旱琛ㄧ粨鏋勯兘鍏剁伒镐т綋鐜癝impleDB甯冨尯锘熸暟鎹鎻愪緵鐢ㄦц愪箙镐
SimpleDB鏁版嵁搴揿洿缁曞烟缁勭粐绠$悊绫讳技浜庡叧绯昏〃锘熷寘钖鍏幂礌鎴栬呴敭鍊奸泦镙规嵁鍏崇郴琛ㄨ岃冭槛鍏幂礌钖岄敭鍊煎埆灞炴у睘镐х粍浠舵暟鎹娣诲姞锘熻佹眰浣跨敤锘虹API鎴栬呮带鍒跺彴
SimpleDB鏀鎸佺亩鍗曢夋嫨澹版槑鍗充换浣昐QL绋嫔簭锻橀兘鑳界悊瑙f槑鏄惧尯鍒玈impleDB鏀鎸佽法锘熻仈钖堥渶瑕佺粨钖埚烟鏁版嵁蹇呴’镆ヨ㈢粨钖堟疮镓浣跨敤瀹氩埗绋嫔簭浜庣亩鍗曡仈钖埚苟锲伴毦搴旂敤闇瑕佹敮鎸佸嶆潅镵斿悎瑕佷娇鐢∕ySQL鎴栬匬ostgreSQL鍏崇郴鍨嬫暟鎹搴扑簩钥呴兘阃氢筜椹阃婂叧绯诲瀷鏁版嵁搴撴湇锷¤幏
SimpleDB浼桦娍琛ㄧ储寮曟墍鍏幂礌浜庡厑璁哥敤鎴锋煡璇浠讳綍鍏幂礌搴旂敤鐢ㄧ敱浜庢墍鍏幂礌閮界储寮曢氩撴皬銆佸煄甯伞佺睄鎴栬呴偖鏀跨紪镰佹煡璇㈠㈡埛琛ㄥ揩瀹炵幇
鐢―ynamoDB绠$悊鍨嬫暟鎹搴
浜氶┈阃奃ynamoDB镞ㄨ佹眰镟撮珮搴旂敤璁捐′簺搴旂敤瑕佹眰镓╁𪾢鏁版嵁瀛桦偍鍙婃洿楂樼骇鏁版嵁绠$悊锷熻兘浠f浛浣跨敤纭鐩楧ynamoDB浣跨敤锲烘佺‖鐩桦疄鐜版亽瀹氥佷绠寤惰繜璇诲啓闂存棬镓╁𪾢瀹归噺钖岀淮鎸佽嚧镐ц兘铏界嶆ц兘浼撮殢镌镟翠弗镙兼煡璇㈡ā鍨
鐢变簬DynamoDB钖屾洿浼佷笟鏁版嵁搴揿岗浣滆兘瑕佹眰棰濆栨暟鎹绠$悊链嶅姟AWS钖屽脊镐MapRece(EMR_AWS Hadoop链嶅姟)Redshift锛埚叾鏁版嵁浠揿簱链嶅姟锛夐泦DynamoDB浣跨敤浜氶┈阃奟edshift鎴栬匛MR杩涜岃勬ā鐗规畩镆ヨ㈡垨钥呮瀽浣跨敤DynamoDB锘轰簬鏁e垪鏁e垪鍖哄艰繘琛屾洿阍堟ф煡璇浣跨敤DynamoDB阆垮厤绠$悊鍓插烟浜ч濆栬垂鐢―ynamoDB娌¤勬ā闄愬埗涓旀寜闇绠$悊鏁版嵁锘
DynamoDB涓婚敭鍊肩储寮曞厑璁镐簩绾х储寮曚富绱㈠紩浜岀骇绱㈠紩閮藉熀浜庢暎鍒楁垨钥呮暎鍒楀尯阌鍊煎彇浠e崟阃夋嫨澹版槑椤规湇锷′娇鐢ㄦ煡璇㈡壂鎻忓0鏄庢煡璇㈠0鏄庡悓涓绘垨钥呬簩绾ф暎鍒楁垨钥呭埛鍝棰濆尯阌鍊间娇鐢ㄨ〃镓鎻忚诲彇姣忓厓绱犳彁渚涙洿𨱔垫х嶆搷浣沧瘆镆ヨ㈡洿鎱㈠挨鍏跺瀷琛ㄦ洿搴旂敤鍝嶅簲镐ч儴鐢卞喅瀹
鍙戣呬娇鐢―ynamoDB Local鏋勫缓娴嬭瘯链鏁版嵁搴扑唬镰侀氩疄闄呬骇鏁版嵁搴揇ynamoDBDynamoDB Local API浜掔浉鍏煎逛唬镰佷袱绉岖幆澧冭繍琛
镐ц川链夊摢浜涳纻绛旀堬细C 鍒╃敤鍧囧间笉绛夊纺锛
⑶ 如何在数据库应用中发挥SSD的优势
利用固态硬盘(SSD)技术的优势设计数据库应用架构是非常有吸引力的一件事。特别值得注意的是,固态硬盘并行访问数据的能力已经有了很大的提升。这些提升使得固态硬盘对于许多类型的数据库应用几乎能达到了随机访问内存存储的性能,而成本只是其八分之一。
在过去的几年里,固态硬盘的性能得到了突飞猛进的增长,同时相比于传统硬盘和RAM,其成本却在持续降低。但是要利用好这些改进的优势,需要掌握存储特性选择合适的AWS实例大小,理解应用特性并利用合适的编程语言。
掌握AWS选项
AWS IaaS EC2实例可以配置不同级别的存储:
A)内存。对应于传统物理计算机的RAM。
B)实例存储。也称为临时存储。它对应于传统物理计算机的磁盘大小。
C)灵活的持久化补充存储(比如EBS和S3)。基本上可以把它视为物理PC的网络存储。
Amazon现在把SSD作为部署临时存储和通用存储的默认配置,也是EBS的默认配置(早期的实例类型默认不是SSD)。EBS的其它好处是存储系统可以在数据库服务器本身退役以后仍然继续可用。
此外,AWS还提供SSD存储作为Amazon DynamoDB的默认选项。SSD同时也是Amazon RDS和Amazon
Redshift的可选配置。这个配置非常好,它可以降低数据库应用需要的开发代价。但是,如果企业需要部署其它数据库,也有很多其它可配置项可以帮助他
们利用到SSD的并行特性。
并行存储的物理原理
物理计算机通常设置有三种主要存储类型。RAM安装在主板上,紧挨着CPU,它提供最高的性能,成本代价也最高,计算机关闭以后内容不会保存。
SSD和传统硬盘是连接到计算机上的补充存储,通过PCI-e,SCSI和SATA线缆连接,或者在网络上通过eSATA或者光纤通道连接。
传统硬盘包含有一个物理读写头,一次可以跨多个物理盘片读取数据流。如果数据可以顺序读取(比如读取较大的多媒体视频音频文件),或者对于一些
数据库分析应用(比如Hadoop应用),这种模式都非常合适。然而,如果读取数据要搜索盘片的多个扇区,那么传统硬盘读写头的性能会急剧下降。
与此相反,闪存驱动的物理构成就是成百上千个可以随机访问的块,是由分散的许多芯片组成的,读取哪一块的数据不会影响访问性能。闪存盘有两个瓶颈:第一就是计算机处理器和个体芯片储存区之间的存储控制器;第二是不能从单个芯片上的不同块区同时读取随机数据。
当今时代的大部分数据库引擎都没有利用闪存盘访问数据随机位的功能优势。其结果是,数据库都比较慢,或者虽然其访问模式可以被缓存,但需要更多
RAM才能实现同样的性能效果。而RAM存储肯定比闪存盘速度快,不过对于相同数量的存储空间,RAM的成本是闪存盘的十倍。在物理层面上,RAM比
SSD有更好的IO处理能力,但是成本也是其大约三到四倍。这些相对成本也被反映到了Amazon Web服务上可用的不同计算机实例相对成本上。
写入队列
利用跨多个芯片并行访问数据能力优势的关键在于编写程序时要考虑到队列深度这一特性。在数据库应用中增加队列深度可以使应用从SSD不同个体芯片中并行读写数据,这对提高数据库性能有直接的效果。
如果队列深度设置过大,访问同一芯片中不同数据位的可能性就增大了,这也会破坏性能。因此,大部分应用的最佳队列深度是每驱动器32到64个并
发请求,尽管驱动器本身支持更多并发请求。通过优化数据库应用访问SSD的队列深度,应用程序可以花更少的代价就能达到用更昂贵RAM才能实现的更佳性能
状态。
在应用层面,开发者需要考虑如何实现应用对存储系统的请求队列化,以实现并行处理。但是,软件方面要获得较好的并行有许多陷阱。要用像
JavaScript、Ruby和Python这样的编程语言实现并行是很困难的,因为这些语言对实现多线程支持的不太好,Java和C#相对更容易一
些。
C和C++是实现高并发系统代码最合适的编程语言,因为它们直接操作操作系统核心功能。例如,互斥扩展(也叫互斥量)就是简化编程生成低级系统并行调用的语言特性。另一种选择是使用自带SSD存储优化方案的商业数据库,比如Aerospike。
为应用选择合适的架构
不是所有的数据库应用都需要闪存存储功能来并行访问随机数据。处理大量并发用户Web请求的数据库很容易看到闪存存储的最大优势。
与此相反,像Hadoop这种分析应用在某种意义上是并行的,但是通常这些应用最后都需要访问存储驱动器上的大量数据流来完成数据访问。例如,
处理一个月的用户日志来分析其行为或者分析用户,本质上都要按顺序提取数据,因此迁移到SSD并不能带来太多益处。在这两种极端场景之间,还有一些实时分
析类型的应用,它们既需要一定的随机搜索和也需要数据流处理。
专家建议,充分利用各种层次成本差异的一种方式是,配置数据库利用临时存储读取数据以获得最佳性能。这一点可以通过存储在EBS持久化数据层的数据进行备份。这种方案提供了AWS上价格和性能的最佳平衡组合。
后台进程也需要考虑
数据库应用架构师还应该考虑其它细微特征。要理解数据库软件如何利用RAM,如何把数据刷到磁盘,这些对于优化SSD应用配置非常重要。这对于
评估数据库与文件系统交互的各种方式也非常重要。最明显的读负载繁重会有大量后台IO竞争。而其他进程像报表系统、日志文件生成是需要后台维护的。
要想找到合适的平衡点,专家建议以真实世界部署的强大指标为基准进行参考。这样可以帮助企业判断部署和优化SSD系统有多大益处。不过,在RAM和SSD之间选择,最重要的考虑因素是深刻掌握要处理的数据集大小。
配置合适的SSD和RAM容量有许多种组合,会增加数据库更高的复杂度。更多的是传统数据库系统,它们会部署一台主服务器和许多备用服务器用于
故障恢复,除了在磁盘级别的情况它们的配置都很简单。另一方面,分布式数据库系统根据节点数量不同,RAM数量和网络设置的不同会有更多的变化。
尽管在大多数情况下,如果你关注技术的力量和数据库系统的可操作性作为选择硬件驱动器的考虑因素,那么你需要比较评估的系统应该相对不会很多。
⑷ aws(亚马逊WEB服务)详细资料大全
AWS即Amazon Web Services,是亚马逊(Amazon)公司的云计算IaaS和PaaS平台服务。AWS面向用户提供包括弹性计算、存储、资料库、应用程式在大橘内的一整套云计算服务,能够帮助企业降低IT投入成本和维护成本。
AWS提供了一整套基础设施和应用程式服务,使几乎能够在云中运行一切应用程式:从企业应用程式和大数据项目,到社交游戏和移动应用程式。
基本介绍 中文名 :aws 外文名 :Amazon Web Services 程式类别 :应用程式 项目基础 :大数据项目 官网 ::aws.amazon// 服务介绍,分类,竞争对手,存储辞汇表, 服务介绍 很多公司选择AWS作为其IT解决方案,AWS有很多云服务,以下介绍AWS中几类比较重要的服务。 分类 计算类: EC2(Elastic Compute Cloud) 是一种弹性云计算服务,可为用户提供誉数弹性可变的计算容量,通常用户可以创建和管理多个虚拟机,在虚拟机上部署自己的业务,虚拟机的计算能力(CPU、记忆体等)可以根据业务需求随时调整。 Elastic IP Addresses(弹性IP位址) – 弹性IP位址是为动态云计算设计的静态IP位址。一个弹性IP位址是和你的账户相关,而不是和你的一个特定实例相关。不像传滚虚团统的静态IP位址,弹性IP位址可以通过重新匹配你的共有IP位址到你账户任意的实例,从而让你可以忽略实例或者可用区域的错误。 连线本质上是通过NAT1:1的匹配每个Elastic IP和Private IP。 Elastic MapRece :EMR采用运行在亚马逊EC2和S3的托管Hadoop框架上。以立即获得满足需要的计算能力,例如网页索引、数据挖掘等数据密集型任务,轻松、经济地处理海量数据,不用担心对Hadoop集群耗时的设定、管理或调优。 AS(Auto Scaling)自动伸缩服务 :允许用户根据需要控制亚马逊EC2自动扩大或减小计算能力。用户利用AS可以无缝地增加EC2的实例数量,以保证使用高峰期的性能,也可以在需求停滞时自动减少以降低成本。AS特别适合那些需求按小时、天或周规律变化的应用程式。 AS由亚马逊CloudWatch控制,并且用户不必支付CloudWatch以外的其他服务费用。 ELB (Elastic Load Balancing)弹性负载平衡 :自动将入口流量分配到多个亚马逊EC2实例上。弹性负载平衡在实例池中不断检测不正常的实例,并自动引导路由流量到正常的实例上,直到不正常的实例恢复正常。客户可以在单一的数据中心进行负载平衡,更可以在跨中心的套用上获得相同的功能。 兼容IPv6,数据来自于CloudWatch 部署&管理类:ACW (Amazon CloudWatch)云监控服务: 监控亚马逊自身提供的云资源以及在云上运行的应用程式。提供可视化监测,并且可以利用API调用进一步处理监控的数据。 Amazon WorkSpaces: 是一种虚拟桌面服务,托管在Amazon的云中。用户可以选择任何终端设备(如笔记本电脑、iPad、Kindle Fire或Android平板电脑)访问 Amazon WorkSpaces,获得与传统办公桌面一样的使用体验,更能享受节约设备成本、保证个人数据安全、随时随地办公等便利。 网路类:
R53(Amazon Route 53)亚马逊53号路由: Domain Name System web service(网路域名服务)。提供从基础设施(EC2实例,ELB,或者S3)到IP位址的映射。 VPC (Virtual Private Cloud)虚拟私有云: 在亚马逊公有云之上创建一个私有的,隔离的云。可以像在自己的数据中心一样定义VPC的拓扑结构。可以和公司现有的数据中心互通。可以利用NAT使得子网不暴漏区域网路IP,公用一个IP位址与外界通讯。通过NAT设定访问控制,保护数据安全性。 存储类: S3 (Simple Storage Service) : 亚马逊简单存储服务(S3)是一种网路存储服务,可为用户提供持久性、高可用性的存储。用户可以将本地存储迁移到Amazon S3,利用 Amazon S3 的扩展性和按使用付费的优势,应对业务规模扩大而增加的存储需求,使可伸缩的网路计算更易于开发。 EBS (Elastic Block Store)弹性数据块存储: EBS卷是独立于实例的存储,可作为一个设备动态连线到运行着的亚马逊EC2实例上。EBS特别适合于单独需要一个资料库、档案系统、或访问原始块存储的应用程式。 套用服务类: SQS (Simple Queue Service)简单讯息伫列服务: 提供讯息存储伫列,使讯息可以在计算机之间传递,在执行不同任务的分散式套用组件之间轻松的转移数据,既不会丢失信息,也不要求每个组件都保持可用。SQS可以与亚马逊EC2和其他AWS的基础设施网路服务紧密结合在一起,方便地建立自动化的工作流程。SQS以网路服务的形式运行,对外发布一个web讯息框架。Inter中任何计算机都可以添加或阅读讯息,而不必安装任何软体或配置特殊的防火墙。使用SQS的套用组件可以独立运行,不需要在同一网路中使用相同的技术开发,也不必在同一时间运行。 SNS (Simple Notification Service)简单通知服务: 在云中安装、处理或传送通知。它为开发人员提供了一种从应用程式发布讯息,并立即传送给订阅者或其他应用程式的能力,用于创建通知某应用程式(或客户)某方面的主题。客户订阅这些主题,并使用客户选定的通信协定(例如,HTTP,电子邮件等)发布讯息。亚马逊SNS的潜在用途包括监控,工作流系统,时间敏感的信息更新,移动套用等等。 资料库类: SDB (Amazon SimpleDB)简单资料库: 非关系型数据存储服务 RDS (Relational Database Service): 是一种基于云的关系型资料库服务,用户可以在云中配置、操作和扩展关系资料库。Amazon RDS 支持 MySQL、Oracle、Microsoft SQL Server 或 PostgreSQL 等关系型资料库。用户无需本地维护资料库,由Amazon RDS为用户管理。 支付类: FPS (Flexible Payments Service)灵活支付服务
ADP (Amazon DevPay)亚马逊支付设计 内容交付类: CloudFront 云前 :整合亚马逊其他云服务产品,完成高效快速的分散式内容互动。 人工服务类: AMT (Amazon Mechanical Turk)机械的土耳其人: “机械的土耳其人”一词来源:这个名字源自于臭名远扬的能下象棋的“自动装置”,它是匈牙利男爵沃尔夫冈·冯·肯佩伦(Wolfgang Von Kempelen)1770年建造的。这个木制机器外形像一个坐在大机箱前的土耳其魔法师,它能自动而快速地下象棋,用复杂的齿轮和杠杆系统来移动棋子。在维也纳皇宫的首次表演中,它就迅速击败了对手Cobenzl伯爵,让在场的皇室成员看得十分高兴。从此关于这个惊人聪明的机器人迅速闻名于世,于是肯佩伦带着它在欧洲各地表演,击败了一系列着名的挑战者,包括拿破仑和班杰明·富兰克林。直到几年之后,这个骗局才被揭穿。原来机箱里藏了一名象棋大师,他用一个磁铁系统来跟踪对手的举动并移动自己的棋子,这个人实际是在 模拟一种人工智能 。 虽然计算技术不断发展,但仍有很多事情人类做的比计算机更有效,比如确定照片或视频中的对象,执行重复数据的删除,抄录音频资料或研究数据的细节。一般来说,完成这样的任务通常需要雇用大量临时工人(这是耗时、昂贵和难以企及的),或者干脆没法完成。 亚马逊机械的土耳其人(AMT)完成的是一种类似模拟人工智能的业务,它把人“藏”在一个软体程式中,用他们执行电脑不太善于完成的任务。例如假设程式设计师在写一个套用软体程式,其中有一个步骤是识别数字照片中的建筑物——这个任务会让电脑为难,但由人去做却很容易。这位程式设计师在用AMT服务时,可以编写几行简单的原始码,从而获取必要的情报。在该程式运行到某个指定时刻,在亚马逊公司的Turk网站上会自动贴出一个关于“由人执行任务”的要求,而人们会争着完成这项任务,以换取程式设计师设定的报酬。依据亚马逊公司在其网站上的解释,AMT表明人与电脑之间不寻常的颠倒关系:“当我们想到人与电脑的接口时,我们通常认为人是提出要完成的任务的一方,而电脑是完成运算任务并提供结果的一方。假使这个过程倒过来,由电脑程式要求人完成这个任务并返回结果,那又会如何呢?Mechanical Turk就是这么做的,它把人的行为和判断变成了软体程式中的功能。不是电脑为我们工作,而是我们为电脑工作。" 基于以上的弹性计算、存储、资料库、应用程式服务组合,AWS可以为企业提供完整的IT业务解决方案。最关键的是,AWS是按需使用、即用即付的模式,能够灵活应对企业快速多变的IT需求。 竞争对手 AWS目录服务 vs. Azure AD
亚马逊的最新目录服务和Azure AD(微软的云目录)展开竞争。Azure AD能够很好地与其他Windows产品协同工作。单点登录功能意味着用户登录一次就可获得支持AD的套用的许可。 相比亚马逊的服务,微软的服务产品还更好地集成了第三方工具,例如Salesforce和Box。因为微软的目录服务是很早就出现的功能,能够与更多的管理工具集成。 亚马逊一直在努力向企业领域发展。新目录填补了明显的空白,帮助企业更有效地连线AWS和微软。虽然亚马逊的云目录达不到微软目录的当前水平,但随着云市场的继续发展预计将获得更多的功能。 存储辞汇表 AWS数据存储服务辞汇表 Aurora: 亚马逊Aurora是一个与MySQL兼容的关系型资料库,而MySQL是一个从结构化查询语言(SQL)衍生出来的流行开源资料库管理系统。用户可以通过亚马逊关系型资料库服务来管理Aurora的配置、打补丁、备份和恢复等。Aurora可自动扩展,可对传输过程中的数据进行加密。 资料库迁移服务:AWS资料库迁移服务可让企业用户在不同云之间或内部资源之间进行资料库迁移。资料库迁移服务不仅可作为AWS云的一个网关,它还允许非AWS资料库之间的同质迁移,并支持大部分的常用资料库。在迁移过程中,源资料库可保持正常运行,从而减少了停机时间。 DynamoDB: 亚马逊DynamoDB是一个专为满足低延迟和高可扩展性需求而设计的托管NoSQL资料库服务。DynamoDB支持文档和key-value存储模式。其高性能和灵活性特点令其特别适合于移动、网路、游戏以及物联网等套用。 ElastiCache:亚马逊ElastiCache是一个AWS托管的快取服务,它遵循开源Memcached系统,可减轻资料库运行负载和加快套用运行。 弹性块存储(EBS):亚马逊弹性块存储可用于弹性计算云(EC2)实例的高可用性块级存储系统。它最适用于存储永久型数据,而不是动态数据。AWS用户可以先选择一个EBS存储卷类型和容量,然后将其连线到一个EC2实例。存储卷的副本可以保存为快照。 Glacier:亚马逊Glacier是一个“冷”存储服务,它可存储不常被访问的数据,从而作为其他AWS数据存储选项的一个更廉价的替代存储选项。 Import/Export Snowball:亚马逊Import/Export Snowball是一种物理传输设备。AWS可使用它来存储内部的海量数据。然后,AWS在用户返回该设备后可导入数据。反之,该设备也可用于AWS向用户导出数据。Snowball存储设备最多可传输50TB数据。 Redshift:亚马逊Redshift是一个完全托管的AWS数据仓库。Redshift可连线基于SQL的客户端和商业智慧型工具。Redshift提供快速的查询与I/O性能,这使得它特别适用于大数据分析套用。 关系型资料库服务(RDS):亚马逊RDS提供了多种资料库引擎选项以帮助用户对关系型资料库进行迁移、备份和恢复等操作。使用中的代码和应用程式以及现有资料库都转移至RDS。RDS可自动完成打补丁和资料库软体备份以便数据恢复。 简单存储服务(S3):亚马逊S3是一个可扩展的对象存储服务。AWS用户可以通过网路接口在网路的任意位置存储和检索数据,且只需为所使用的存储资源支付费用。S3提供了多个存储类,并可与各种亚马逊云服务协同运行。 存储网关:AWS存储网关连线了本地设备和基于AWS的存储资源,这使用户能够充分利用云的可扩展性和价格优势,同时还能继续运行本地工作负载。
⑸ 五大数据库理念,读懂亚马逊云科技的数据库布局
1970 年,关系型数据库之父 E.F.Codd 发表《用于大型共享数据库的关系数据模型》论文,正式拉开数据库技术发展序幕。以 Oracle、DB2、SQL Server 为代表的三大商业数据库产品独占鳌头,随后涌现出 MySQL、PostgreSQL 等为代表的开源数据库 ,和以 Amazon RDS 等为代表的云数据库,拉开百花齐放的数据库新序幕。
我们知道,云计算十年为产业转型升级提供了 历史 性契机,但变革仍在进行,随着云计算的普及,数据库市场发生根本性改变,云厂商打破传统商业数据库的堡垒,成为数据库领域全新力量。其中以连续六年入选 Gartner 领导者象限的亚马逊云 科技 为代表,我们一起探讨:为什么亚马逊云 科技 能始终保持其创新性?纵观云原生时代下,亚马逊云 科技 数据库未来还有哪些更多的可能性?
01 面对四大数据库发展趋势,亚马逊云 科技 打造五大数据库理念
后疫情时代下,加速了不少行业的业务在线化和数字化运营,企业对数据价值挖掘的需求越发强烈,亚马逊云 科技 大中华区产品部总经理顾凡详细介绍其中四大趋势:
一是伴随互联网、移动互联网的发展,电商、视频、社交、出行等新应用场景的兴起,不仅数据量大,对数据实时性要求极高,传统关系型数据库无法满足需求,因此驱动云原生数据库的出现。
二是开源数据库的广泛应用。
三是应用程序现代化对数据库提出更高要求,期待数据库拥有更高的性能、可扩展性、可用性以及降低成本,让开发人员专注于核心业务的应用开发,不用关注和核心业务无关的代码。
四是软件架构历经 PC、互联网、移动互联网,再到如今的万物互联时代,其中的迭代和转型正在驱动数据库选型的变化。
在此四大趋势下,伴随企业的业务量越来越大、越来越复杂,对数据库的要求越来越高。亚马逊云 科技 洞察客户需求,在打造云上数据库产品时提出五大理念:
一是专库专用,极致性能;二是无服务器,敏捷创新;第三是全球架构,一键部署;第四是平滑迁移,加速上云;第五是 AI 赋能,深度集成。
02 历经真实锤炼,五大数据库理念,持续赋能企业数智转型
顾凡表示,随着数据爆炸式增长,微服务架构与 DevOps 愈发流行的今天,一个数据库打天下的时代已然过去。我们需要在不同的应用场景下,针对不同的数据类型和不同的数据访问特点,为开发者和企业提供专门构建的工具。
所以亚马逊云 科技 提出 第一个核心数据库理念:专库专用 。在此理念下,推出针对关系数据、键值数据、文档数据、内存数据、图数据、时许数据、分类账数据、宽列等专门构建数据库的产品家族。
这些数据库产品均经历过亚马逊内部核心业务的真实锤炼,成绩斐然:
亚马逊电商当年是 Oracle 的客户之一,随着亚马逊电商的应用重构和业务体量发展,亚马逊电商决定将业务迁移到亚马逊云 科技 里。100 多个团队参与这庞大的迁移工作中,将亚马逊电商采购、目录管理、订单执行、广告、财务系统、钱包、视频流等关键系统全部从 Oracle 迁出来。2019 年,亚马逊将存储近 7500 个Oracle 数据库中的 75 PB 内部数据迁移到多项亚马逊云 科技 的数据库服务中,包括 Amazon DynamoDB、Amazon Aurora、Amazon ElastiCache,于是亚马逊电商成为亚马逊云 科技 在全球的“第一大客户”。
从 Oracle 切换到亚马逊云 科技 后,亚马逊电商节省了 60% 成本,面向消费者端的应用程序延迟降低 40%,数据库管理支出减少 70%。
以被誉为“亚马逊云 科技 历史 上用户数量增速最快的云服务”Amazon Aurora 为例,其拥有科媲美高端商业数据库的速度和可用性,还拥有开源数据库的简单性与成本效益,Amazon Aurora 让客户满足“鱼和熊掌兼得”需求。
据顾凡介绍,Amazon Aurora 可提供 5 倍于标准 MySQL 性能,3 倍于 PostgreSQL 吞吐量。同时提供高可用,可用区(AZ)+1的高可用,Global Databases 可完成跨区域灾备。可扩展到 15 个只读副本,成本只有商业数据库的 1/10。
医药企业九州通为药厂、供应商,搭建药厂、供应商、消费者提供供应链链条。其 B2B 系统的业务特点是读多写少,受促销活动、工作时间等影响,经常会出现波峰波谷落差较大的情况,读写比例在 7:2 或者 8:3。九州通采用 Amazon Aurora 后实现读写分离和按需扩展,整体数据库性能提升 5 倍,TCO 降低 50%。实现了跨可用区部署、负载均衡、自动故障转移、精细监控、按需自动伸缩等。
据权威机构预测,到 2022 年,75% 数据库将被部署或迁移至云平台。在这个过程中,亚马逊云 科技 是如何通过技术来帮助客户加速应用上云的?这离不开除了上述的“专库专用”外,以下四大理念:
第二个理念是无服务器、敏捷创新。 亚马逊云 科技 大中华区产品部数据类产品高级经理王晓野表示,企业业务总有波峰波谷之时,如何按照企业 80-90% 的业务峰值来规划数据库的存储容量和计算资源的话,将给应用带来一定的业务连续性的妥协和挑战。因此大多数企业都是按照峰值留有余地来选择数据库的计算资源,这将造成成本上的浪费。而 Serverless 数据库服务可完成无差别的繁复工作和自动化扩展。
Amazon DynamoDB 是亚马逊云 科技 自研 Serverless 数据库,其诞生最早可追溯到 2004 年,当时亚马逊电商作为 Oracle 的客户,尽管对于关系型数据库在零售场景的需求并不频繁,70% 均是键值类操作,此时倒逼亚马逊电商思考:为什么要把关系型数据库这么重得使用?我们可以设计一款支持读写、可横向扩展的分布式数据库吗?后来的故事大家都知道了,这款数据库就是 Amazon DynamoDB,并在 2007 年发表论文,掀起业界 NoSQL 分布式数据库技术创新大潮。
Amazon DynamoDB 可为大规模应用提供支持,支撑亚马逊自身多个高流量网站和系统,如亚马逊电商网站、亚马逊全球 442 个物流中心等。在亚马逊电商一年一度 Prime Day,光是针对DynamoDB API 的调用达到数万亿次,最高峰值请求达到每秒 8920 万次。由此可见,DynamoDB 拥有高吞吐、扩展性、一致性、可预测响应延迟、高可用等优势。
智能可穿戴设备厂商华米 科技 ,在全球 70 多个国家拥有近 1 亿用户。仅 2020 年上半年,其手表出货量超 174 万台,截止到 2021 年 2 月,华米 科技 的可穿戴设备累计记录步数是 151 万步,累计记录的睡眠时间是 128 亿个夜晚,记录心率总时长达 1208 亿个小时。如此庞大的数据同时必须保证极高的安全性和低延迟相应,如何保证稳定性是巨大的挑战。
DynamoDB 帮助华米 科技 在任何规模下都能提供延迟不超过 10 毫秒的一致响应时间。华米 科技 健康 云的 P0 和 P1 级别故障减少了约 30%,总体服务可用性提升了 0.25%,系统可用性指标达到 99.99%,为华为 科技 全球化扩展提供了有力的支撑。
最新无服务数据库产品是 Amazon Aurora Serverless V2 提供瞬间扩展能力,真正把扩展能力发挥到极致,在不到一秒的时间内,将几百个事务扩展到数十万的级别。同时在扩展时每一次调整的增量都是非常精细化的去管理,如果按照峰值来规划数据库资源,可实现大概90%的成本节省。目前 Amazon Aurora Serverless V2 在全球实现预览。
第三个理念是全球架构、一键部署。 在全球化的今天,如何支撑全球客户的业务扩展连续性、一致性、以最低延迟带给到终端客户上,对数据库提出新的挑战。
亚马逊云 科技 提供 Amazon Aurora 关系型数据库Global Database、Amazon DynamoDB、Amazon ElastiCache 内存数据库、Amazon DocumentDB 文档数据库都能利用亚马逊云 科技 的骨干网络提供比互联网更稳定的网络支撑,以一键部署的方式,帮助客户实现几千公里跨区域数据库灾备,故障恢复大概能在一分钟之内完成,同时跨区域的数据复制延迟通常小于一秒。
第四个理念是平滑迁移、加速上云。 目前,450000+ 数据库通过亚马逊云 科技 数据库迁移服务迁移到亚马逊云 科技 中,这个数字每年都在不断增长。亚马逊云 科技 提供 Amazon DMS、Amazon Database Migration Service 等工具让开发者和企业进行自助式云迁移。另外,对于迁移过程中可能会需要的支持,可通过专业服务团队和合作伙伴网络成员,为客户提供专业支持,还通过 Database Freedom 项目帮助客户降低他们的顾虑。
今年 11 月,最新产品 Babelfish for Amazon Aurora PostgreSQL 在全球和中国两个区域正式可用,可加速企业上云的迁移,实现让企业可以利用原有的技术栈、原有的 SQL Server T-SQL的人员可以利用到云数据库进行创新。
第五个理念是 AI赋能,深度集成。 我们观察到,ML 技术赋能数据库开发者,开发者无需具备机器学习专业知识,就可进行机器学习操作。在此潮流下,亚马逊云 科技 推出 Amazon Neptune,借由 Deep Graph Library 和 Amazon SageMaker 驱动图神经网络。
今年 8 月,Neptune ML 在中国正式可用,允许数据工程师不需要掌握机器学习的技能直接从图数据库里导出数据、转换格式、训练模型并发布,用 gremlin 语句调用训练成的模型在数据库里实现推理,进行欺诈检测,推荐物品。
目前,亚马逊云 科技 加速在中国区域服务落地,2021年至今新发布 60 多个数据库服务与功能。亚马逊云 科技 正是通过上述五大数据库理念,打造丰富的数据库产品家族,在全球智能化发展趋势下,为企业提供更快更好的数智服务,释放数据价值,并连续六年入选 Gartner 领导者象限,得到业界和客户的深度认可。