資料存放區 - 實作 AWS 上的微型服務

資料存放區

資料存放區是用來長久保留微型服務所需的資料。熱門的工作階段資料存放區,是 Memcached 或 Redis 等記憶體內快取。AWS 在受管的 Amazon ElastiCache 服務中,同時提供了這兩項技術。

將快取放置在應用程式伺服器和資料庫之間,是一項常見的機制,用以減輕從資料庫的讀取工作負載,進而可讓資源用來支援更多的寫入操作。快取亦可改善延遲的情況。

關聯式資料庫仍然非常熱門,用來儲存結構化資料與業務物件。AWS 經由 Amazon Relational Database Service (Amazon RDS) 以受管服務的形式,提供六種資料庫引擎 (Microsoft SQL Server、Oracle、MySQL、MariaDB、PostgreSQL 和 Amazon Aurora)。

不過,關聯式資料庫的設計無法不受限地擴展,因此若要運用技術來讓這種資料庫支援大量的查詢,會變得困難和費時。

相較於關聯式資料庫的一致性,NoSQL 資料庫在設計時,已經更加著重於可擴展性、效能和可用性。其中一個重要元素,是 NoSQL 資料庫通常不會強制執行嚴格的結構描述。資料會分散到可水平擴展的分割區,並使用分割區索引鍵擷取。

由於個別微型服務設計只專注於執行一個任務,因此通常擁有簡化的資料模型,可能適合 NoSQL 的持久性。請務必了解,NoSQL 資料庫的存取模式和關聯式資料庫的並不相同。例如,資料表無法合併。如果這是必要的,必須在應用程式中實作此邏輯。您可使用 Amazon DynamoDB 建立資料庫表格,以存放和擷取任意數量的資料,並處理任何規模的請求流量。DynamoDB 提供一位數毫秒延遲的效能,不過,在某些使用案例中,需要以微秒為時間單位來回應。Amazon DynamoDB Accelerator (DAX) 提供快取功能來存取資料。

DynamoDB 還提供自動規模調整功能,可動態調整吞吐容量,以因應實際的流量。但是,有時會因為您應用程式中短期的大量活動高峰而難以或無法進行容量規劃。針對這類情況,DynamoDB 提供隨需選項,提供依要求逐次計費的簡便方式。DynamoDB 隨需選項能立即處理每秒數千個要求,無須進行容量規劃。