iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
DevOps

AWS Solution Architect Associate的鐵人不只三項證照之路系列 第 21

Day 21 需要高效的NoSQL資料庫-DynamoDB看過來

完成了階段性的實作後,我們今天一起來看看什麼是Dynamo DB。

1. Dynamo DB的應用價值

如果我們有非結構資料的儲存需求,且要求千分之一秒的高速讀寫和完善的備份機制,那Dynamo DB就可以派上用場。

2. Dynamo DB的組成與運作方式

DynamoDB是分散式NoSQL及key-value為基礎的資料庫,資料會按照分區(partition)來做存放。DynamoDB由table組成,每一個table會有多個紀錄,稱作item。每一個item由一組key-attribute組成,每一個attribute會有一到多個value

  • table
    • item
      • key-attribute
        • values per attribute

2.1 資料的分區與排序-Partition Key與Sort Key

我們可以選擇item當中的某一個key當作Partition Key,用來定義資料的分區。以足球選手的資料為例,可以定義選手所效力的隊伍,當作partition key,資料就會按照隊伍來分區。Sort Key的話,從字面上即可以理解,是針對各個分區,提供資料排序的Key,例如在名為曼城隊的分區下,按照足球選手在職年數進行排序。

2.2 資料分取與排序的調整-Local Secondary Index and Gloabl Secondary Index

如果想要重新去調整分區與排序的設定,該怎麼做呢?
如果要調整排序設定的話,可以在一開始建立Table時,納入Local Secondary Index設定,簡稱LSI;如果一開始建立Table時,沒有納入這LSI,就只能抱歉,排序的調整就無法透過LSI來動了。如果要同時調整分區與排序的設定的話,Global Secondary Index或稱作GSI,就能做到。

2.3 資料備份機制

資料備份有兩種方式: 隨需備份(On-Demand Backup and Restore)以及時間點復原(Point-in-Time Recovery)。隨需備份讓我們自行定義資料備份的時間點,因此,備份可還原的時間,就是根據我們曾經備份過的時間點,來做還原。時間點復原是AWS提供的自動化備份的服務,只要是近期35天內的資料,我們都可以在這個時間範圍內,做資料的還原。

2.4 收費機制

Dyanmo DB如何跟我們收錢呢?相信這是一個大家相當關注的議題。
Dynamo DB會根據Read-Write Units,也就是讀寫單位來計價。根據不同的方案,每一個單位(Unit)會有不同的讀寫能力。主要方案有三種如下:

方案 Eventually Consistent Read Request Strongly Consistent Transactional Request
讀取請求單位 8KB/Unit 4KB/Unit 4KB/Two Unit
寫入請求單位 1KB/Unit 1KB/Unit 1KB/Two Unit

表格參考: 大話AWS雲端架構


上一篇
Day 20 AWS雲端實作起手式最後一彈 整體架構回顧
下一篇
Day 22 雲端上的緩存達人-ElastiCache
系列文
AWS Solution Architect Associate的鐵人不只三項證照之路30

尚未有邦友留言

立即登入留言