成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡析AWS DynamoDB的幾大基本功能

譯文
數據庫
AWS DynamoDB是一種完全托管的無服務器類型的NoSQL數據庫。本文將和您探討其基本功能、使用場景、計費、設置、查詢、以及掃描等方面,以便您更好地將其運用在自己的應用之中。

【51CTO.com快譯】AWS DynamoDB是一種完全托管的無服務器(Serverless)類型的NoSQL數據庫。本文將和您探討DynamoDB的基本功能、使用場景、計費、設置、查詢、以及掃描等方面,以便您更好地將其運用在自己的應用之中。

[[347034]]

什么是AWS DynamoDB?

總的說來,DynamoDB是一種鍵-值(key-value)和文檔型數據庫,基本可以達到毫秒級的響應時間。作為持久數據庫,它具有內置的安全性、備份與還原等功能。

在DynamoDB中,您經常會聽到的一個關鍵詞是:NoSQL數據庫。這表明它并不使用關系型數據庫(https://aws.amazon.com/relational-database/)的傳統SQL查詢語言,而是被設計為通過將對象合并到某個NoSQL數據庫中的公共集合、或schemaless表中,來減少復雜性。這些對象將會根據通用主題被分組到一起,以滿足應用程序被預設的通用查詢條件。

關鍵術語:

•表(Table):可以容納幾乎無限數量表項的集合,可帶有二級索引。

•二級索引(Secondary Index):使用不同的主鍵和排序鍵來復制表項。

•主鍵(Primary Key):是一種特殊形式的屬性,可用于參考表項,類似于表項的ID。

•排序鍵(Sort Key):是另一種特殊形式的屬性,可用于組織不同排序的表項。

•表項(Item):作為AWS DynamoDB中最基本的單元,它是JSON形式的結構化數據屬性。

•屬性(Attribute):是一個鍵-值對,其中包含著有關數據表中某個表項的信息性數據點(data-point)。

•流(Streams):是針對數據表執行狀態改變(state-changing)操作的恒定流。

•查詢(Query):檢索特定表項(或表項集)的操作。

•掃描(Scan):用于掃描整張表或表的某部分的操作。

•過濾器(Filter):完成查詢或掃描后,將結果返回給請求者之前,所應用的規則。

如何存儲數據?

鍵-值存儲是一張按比例擴展(scaled-up)的分布式哈希表。該表中的表項可以通過鍵-值對的屬性來唯一標識。該屬性對可用于GET、SET、UPDATE和DELETE等操作。該屬性通常有兩種類型:主鍵(類似表項的ID)和排序鍵(可用于對表項進行排序)。

眾所周知,哈希表的優點是:無論表的大小,它總是可靠、一致且快速的。而缺點是:一次只能檢索一條記錄。對此,DynamoDB可采取寬列(wide-column)存儲的形式,即:每一行在任何時候都會具有任意數量的列。這種B樹(B-tree)的數據結構與二級索引不但提供了查找表項的選項,而且允許用戶進行范圍查詢。同時,它們可用于通過不同的主鍵和排序鍵,來參考和排序表項。此外,由于DynamoDB是一個schemaless數據庫,因此其中的表項可以具有不同的屬性集。

如何實現自動擴展?

無服務器計算的最大好處之一是:開發人員可以在時間和預算上采用自動化的方法,以確保容量不會受限。DynamoDB可以通過自動擴展,來應對需求的激增,避免出現限流或響應速度驟降,進而合理地利用資源。

通過使用AWS應用自動擴展(Application Auto Scaling),DynamoDB允許用戶對數據表采取自定義的擴展策略,按需增加讀取和寫入的容量。通常,此類策略包括了:指定最小和最大預購置的容量單位,以及目標利用率(如:已消耗的預購置吞吐量百分比)。目標利用率通過與目標跟蹤算法結合,確保無論工作負載如何變化,吞吐量都能夠與設定的目標相匹配。

功能與使用場景

除了數據庫的基本功能,DynamoDB還擁有包括:備份和恢復、全局存儲、DynamoDB加速器(DAX)、DynamoDB流、以及數據傳輸在內的其他功能。而作為AWS的頂級服務之一,DynamoDB每天都可以處理10tr以上的請求,并且可以支持每秒超過2000萬個請求的峰值。因此,它適用于任何規模的要求提供低延遲數據訪問的應用。

由于非常適用于HTTP與AWS IAM的應用場景,因此DynamoDB數據庫不但能夠始終受到保護,并且無需復雜的網絡配置(如:網絡分區),便可快速地對請求進行身份驗證,并安全地完成各項初始化步驟。

由于使用場景十分廣泛,因此DynamoDB有著豐富的用戶案例。從Lyft和Airbnb之類的成長型公司,到Capital One和Nike等歷史悠久的企業,都在其架構中使用到了DynamoDB。

計費

DynamoDB通過如下兩種容量模式,來對目標數據表的讀取和寫入操作進行計費。

•按需

此模式意味著無需預先指定讀、寫吞吐量,按需進行擴展。因此,如果您的數據表或流量存在著不可預測性,那么這是一種不錯的選擇。

•預購置

通過預購置容量,您可以指定每秒所需的讀寫次數。自動擴展功能在此可以根據指定的利用率,通過自動化調整,以保證高性能和對預算的管理。

當然,這兩種模式的成本也會根據實際的使用量產生巨大的差異,因此我們需要事先做好相應的估算。

具體而言,對于按需模式,DynamoDB會按照每百萬個單位進行收費;而對于預購置模式,DynamoDB則按每小時的單位量來進行收費。

值得一提的是:作為預購置模式下的附加項,預存容量(Reserved Capacity)不但可以節省成本,而且能夠通過支付一次性前期費用,來保障在預存容量期限內,按小時支付最低吞吐量級別的開銷。不過,任何未使用的容量都不會順延到次月。

讀寫請求計費

  • 在寫入的方面,DynamoDB將每個寫入請求計作一個單位(最多為1 KB),而將每個事務性寫入算作兩個寫入請求單位。
  • 在讀取方面,DynamoDB將每個高度一致的讀取請求計作一個單位(最多為4 KB),將每個事務性讀取算作兩個讀取請求單位,而將每個最終一致的讀取只算作一半的讀取請求單位。

AWS Free Tier

在AWS Free Tier中,DynamoDB能夠提供如下“福利”。當然,它們的每一項都是按月、按區域、按賬戶來計費的。

•25個WCU和25個RCU的預購置容量。

•25 GB的數據存儲空間,之后按每GB、每月收取費用。

•25個rWCU可用于在兩個AWS區域中部署全局表。

•250萬個源自DynamoDB流的流式讀取請求。

•1 GB的數據輸出(前12個月為15 GB),可橫跨AWS的各項服務進行匯總。

如何在DynamoDB表上節省成本?

“按需”模式雖然靈活自主,但其成本卻高達“預購置”模式的七倍。相反,使用預購置模式勢必讓開發人員承擔更多估算容量的任務,并且可能會在可擴展性上有所欠缺。下面是有關如何為應用選擇正確的模式,以及優化數據表的三點建議:

1.自動化擴展功能不但需要進行基準測試,而且很難適應需求的快速變化。因此,用戶需要在盡可能接近系統的分布式情況下運行測試,以確保自動化擴展能夠滿足真正的業務需求。

2.對于按需讀取密集型數據表的需求,DAX是一種基于使用率的經濟型選擇。一個小型DAX實例(如:t2.medium)的成本,與“按需”模式下超過200M的讀取操作基本相同。也就是說,只有在高吞吐量的情況下,“按需”模式才會體現出節省的優勢。

3.對于那些寫入密集型的工作負載,SQS是管理高吞吐量、以及不可測流量峰值的理想選擇。各種消息會通過DynamoDB寫入數據的Lambda函數進行輪詢。數據庫通過限流來更好地分配容量,進而充分地利用“預購置”容量模式的優勢。

如何設置AWS DynamoDB

總的說來,設置DynamoDB并不難。下面,我們將展示如何使用AWS Free Tier中的各種參數和功能。

創建NoSQL表

1.在DynamoDB控制臺上單擊“創建表”。

2.自定義表的名稱。

3.將主鍵或分區鍵(Partition Key)作用于跨分區的分布數據上,以實現可擴展性。據此,您可以將一系列數值均勻地分布到不同的訪問模式中。

4.由于排序鍵只能對上述數據進行排序,因此您需要對表進行數據挖掘。

5.要啟用“自動擴展”功能,則需取消勾選“默認設置”框,以便自動創建一個名為DynamoDBAutoScaleRole的AWS IAM角色,來管理自動化擴展過程。

6.最后,請將界面滑到底部,并單擊“創建”。

新增數據

1.在“表項”選項卡中,單擊“創建表項”。

2.為每個數據表項添加主鍵和排序鍵的相關數據,每次都需點擊“保存”。

DynamoDB 流

DynamoDB流可以在數據發生變更的時間點,捕獲表的更改,進而將這些更改存儲到日志中,并保存24小時。

我們可以將已更改表項的主鍵屬性,作為流式記錄實時寫入,以確保更改的時序性。此外,我們也可以通過配置,讓它能夠捕獲諸如更改前、后的狀態等其他數據。這些流式記錄可以被其他應用程序所使用,例如:

•匯總來自多個操作的指標,比如:在特定時間段內一次性記錄某個社交平臺的“點贊”數量。

•在客戶將數據添加到DynamoDB表時,會觸發一封電子郵件,以確認輸入數據的正確性。

•在移動應用的數據表中,數據往往以每分鐘上千次的頻率變化著。這就需要另一個應用來存儲變更的詳細信息,以便提供“參與度”之類的實時指標。

此外,值得注意的是,雖然AWS DynamoDB和DynamoDB Stream使用不同的端點,但是兩者必須屬于同一個區域。

DynamoDB查詢

您可以根據主鍵去查詢表中的一個或一組表項,并快速地檢索到它們。下面展示了查詢數據表的操作步驟:

1.在“表項”選項卡的下拉框中選擇“查詢”。

2.在主鍵或排序鍵的搜索框中輸入關鍵字,按需進行查詢。

DynamoDB掃描

DynamoDB掃描可以通過讀取數據表、或二級索引中的每個表項,以返回結果集。通過排序鍵,您也可以決定掃描的順序。同時,過濾器表達式可以被用于確定從掃描中返回哪些表項。當然,掃描可能會影響應用的整體性能,因此,除非的確需要掃描每一個表項,否則請改為使用DynamoDB查詢的方式。

原文標題:The Ultimate Guide to AWS DynamoDB,作者: Taavi Rehemägi

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:火鳳凰 來源: 51CTO
相關推薦

2010-06-28 21:33:17

eMule協議

2012-10-22 16:47:45

IBMdw

2010-04-16 09:06:18

WPF 4

2019-04-16 08:21:46

2010-01-05 15:27:04

.NET Framew

2010-03-02 17:43:31

WCF框架處理流程

2021-06-03 09:20:33

微服務架構代碼

2019-09-16 08:22:12

特權訪問管理PAM網絡安全

2015-07-07 14:17:56

物聯網操作系統

2010-01-20 18:20:50

2023-05-11 08:59:43

Nginx配置服務器

2010-01-04 10:47:08

智能交換機

2009-12-03 09:08:21

路由器基本功能

2017-01-15 17:15:27

Java基本功能

2011-04-29 14:04:56

一體機

2009-12-03 14:10:22

路由器基本功能

2015-11-09 10:34:54

iOS 9.1 iPhone

2010-02-03 09:59:18

2009-12-08 13:58:12

Linux操作系統垃圾郵件

2009-11-24 17:35:59

路由器基本功能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成年网站 | www久久99 | 国产一区免费 | 91在线一区二区三区 | 国产综合在线视频 | 日韩美女一区二区三区在线观看 | 91中文在线观看 | 国产乱码精品1区2区3区 | 亚洲综合久久久 | 亚洲国产成人av好男人在线观看 | 黄色男女网站 | 国产黄色在线 | 久久美国| 天天干天天玩天天操 | 国产精品色 | 国产精品久久久久久久久久久久冷 | 久久伊人影院 | 91在线视频观看免费 | 激情婷婷成人 | 亚洲一二三区精品 | 国产精品免费一区二区 | 久久99精品久久久 | 91av视频 | 日朝毛片| 色综合天天天天做夜夜夜夜做 | 中文字幕国产精品 | 一本久久a久久精品亚洲 | 国产精品2区 | 午夜小视频在线播放 | 91麻豆产精品久久久久久 | 成人影院在线观看 | www.毛片| 国产精品国产精品国产专区不卡 | 久久久精 | 成人国内精品久久久久一区 | 范冰冰一级做a爰片久久毛片 | 精品一区二区三区在线观看国产 | 亚洲 欧美 激情 另类 校园 | 国产探花在线观看视频 | 91免费小视频| 在线亚洲免费视频 |