Amazon SimpleDB 是一種高可用性的 NoSQL 資料存放區,可免除資料庫管理的工作。開發人員只需透過 Web 服務請求存放和查詢資料項目,Amazon SimpleDB 將負責處理剩餘的工作。
Amazon SimpleDB 已經過優化,不受關聯式資料庫嚴格要求的限制,可提供更高的可用性和靈活性,讓管理負擔大幅減少甚至是零負擔。Amazon SimpleDB 在幕後工作時,會自動建立和管理分佈在多個地理位置的資料複本,以提供高可用性和資料耐久性。此服務的收費僅限於存放資料和處理請求時實際消耗的資源量。您可以隨時變更資料模型,系統會為您自動編製索引。有了 Amazon SimpleDB,您便能專心開發應用程式,而不必擔心基礎設施佈建、高可用性、軟體維護、結構描述和索引管理,或者效能調校這些問題。
該服務可讓您完全專注在加值型應用程式的開發,不必操心費事又耗時的資料庫管理。Amazon SimpleDB 會自動管理基礎設施佈建、硬體和軟體維護、資料項目複寫和索引,還有效能調校。
Amazon SimpleDB 為您存放的每個資料項目自動建立分佈在多個地理位置的副本。這可提供高可用性和耐久性 – 即使出現罕見的複本故障,Amazon SimpleDB 也能容錯移轉到系統中的另一複本。
隨著業務變化或應用程式演進,您可以輕鬆地在 Amazon SimpleDB 中反映這些改變,不需擔心要打破嚴格的結構描述或重構程式碼;只要視需要在 Amazon SimpleDB 資料集中新增其他屬性即可。此外,您還可以選擇一致性或最終一致讀取請求,靈活地讓讀取效能 (延遲和輸送量) 與應用程式或甚至是應用程式內不同部分需求的一致性要求相符。
相較於以前使用的關聯式資料庫叢集,Amazon SimpleDB 簡化了對存放和查詢功能的存取,而且還免去其他複雜且通常用不到的資料庫操作。該服務可讓您透過一組簡單的 API 呼叫快速新增資料,並且輕鬆地擷取或編輯這些資料。
Amazon SimpleDB 的設計可以和 Amazon S3 及 EC2 等其他 AWS 服務輕鬆整合,以提供建立 Web 規模應用程式的基礎設施。例如,開發人員可以在 Amazon EC2 中執行應用程式,並將其資料物件存放到 Amazon S3。之後,可以使用 Amazon SimpleDB 查詢 Amazon EC2 應用程式內的物件中繼資料,然後傳回 Amazon S3 中存放之物件的指標。開發人員也可針對具有關聯式資料庫和非關聯式資料庫需求的應用程式,搭配使用 Amazon SimpleDB 和 Amazon RDS。在相同區域的 Amazon SimpleDB 和其他 Amazon Web Services 之間傳輸資料不收取費用。
Amazon SimpleDB 提供 https 終端節點,以確保在應用程式或用戶端和網域之間進行安全的加密通訊。此外,透過與 AWS Identity and Access Management 整合,您可以對特定 SimpleDB 網域和操作的存取建立使用者或群組級的控制。
Amazon SimpleDB 可為您帶來 Amazon 規模的經濟利益。您只需要為實際消耗的資源付費。對於 Amazon SimpleDB 來說,這表示資料存放區讀取和寫入是根據每個操作消耗的運算資源計費;如果沒有主動使用運算資源 (即發出請求) 則無須支付費用。
由於 Amazon SimpleDB 完全免除了執行生產資料庫所需的一切工作,許多開發人員發現它是非常適合存放日誌資訊的低接觸資料存放區,適用於存放條件或事件、狀態更新、經常性活動、工作流程處理或裝置和應用程式狀態等資訊。Amazon SimpleDB 讓您能夠經濟實惠「設定和遺忘」這些資料記錄,並將它們用於以下目的,如:
- 監控或追蹤
- 計量
- 業務趨勢分析
- 稽核
- 存檔或法規遵循
應用程式範例包括:
- 集中存放伺服器日誌,減少每個執行中伺服器消耗的空間
- 記錄運作指標或持續效能測試的結果以便日後分析
- 稽核應用程式或網路裝置的存取項目或設定變更
- 擷取並監控各個位置的環境條件 (溫度、壓力級別、濕度等),並針對特定條件編寫提醒程式
- 記錄並追蹤相關物件的地理位置資訊或工作流程活動的處理狀態
Amazon SimpleDB 的多個屬性使它成為最有吸引力的資料日誌資料存放區:
- 集中、高度可用 – 如果您的資料日誌之前被限制在本機的多個裝置/物件、應用程式或處理接收器,您將可享受在雲端單一位置集中存取資料的優點。此外,Amazon SimpleDB 會自動以異地備援的方式複製您的資料,以確保高可用性。這表示與集中型現場部署解決方案不同,使用 Amazon SimpleDB 不會遇到單點故障,並且需要時可隨時使用資料。所有資料都能使用一個解決方案透過 Web 服務請求進行儲存,然後從任何裝置進行存取。
- 零管理 – 使用簡單的 Web 服務請求存放資料項目,剩餘的工作就交給 Amazon Web Services 處理。服務的「設定後遺忘」本質表示您不必為了存放和維護資料日誌而花時間進行資料庫管理。
- 經濟實惠 – Amazon SimpleDB 對儲存和查詢資料日誌的收費非常便宜。因為您只需為消耗的資源支付費用,所以不必自己進行容量規劃或擔心資料庫負載問題。該服務可靈活回應請求量,並且根據實際消耗的資源收取費用。
對於使用任何平台的線上遊戲開發人員,Amazon SimpleDB 為使用者和遊戲資料提供了高度可用、可擴展且無需管理的資料庫解決方案。
線上遊戲可使用 Amazon SimpleDB 存放、索引和查詢的常見資料包括:
- 使用者分數和成就
- 使用者設定或偏好設定
- 有關玩家項目或使用者產生內容的資訊
- 遊戲工作階段狀態 (儲存或中斷遊戲時)
- 動態遊戲內容 (採用以服務為導向的遊戲架構,並使用 Amazon SimpleDB 來存放和處理玩家的新挑戰或內容)
- 遊戲使用的大型物件中繼資料索引,並儲存在 Amazon S3
Amazon SimpleDB 的多個屬性使其非常適合作為線上遊戲資料的資料存放區:
- 高度可用 (自動化異地備援複寫和容錯移轉):Amazon SimpleDB 透過自動建立多個資料副本來實現高可用性,並在一個副本無法使用時自動容錯移轉到可用副本。這表示您可以免除複雜的資料庫叢集設定程序,但遊戲和使用者仍然能夠可靠、無中斷地存取關鍵資料。
- 非接觸擴展:為了因應使用者人數增加和玩家活動的劇烈變化,Amazon SimpleDB 會靈活地回應流量和請求量的變化,無需開發人員介入。您只需要為實際消耗的資源付費。
- 零管理開銷:避免資料庫管理的麻煩,消除了基礎設施佈建、軟體設定、建立和維護結構描述、建立索引或調校查詢效能等工作。您可以專注在為使用者建立有趣的遊戲和功能,不再需要承擔資料庫管理員的工作。
許多開發人員將 Amazon SimpleDB 與 Amazon Simple Storage Service (Amazon S3) 搭配使用。Amazon SimpleDB 可用於儲存 Amazon S3 物件位置的指標和該物件 (中繼資料) 的詳細資訊,因此可為 Amazon S3 補充豐富的資料庫查詢功能。對於在 Amazon S3 中儲存大量物件的開發人員,Amazon SimpleDB 提供靈活、可擴展且經濟實惠的方法來儲存物件中繼資料,同時消除與執行資料庫相關的所有管理開銷。可輕鬆在 Amazon SimpleDB 中儲存、編製索引和查詢的常見物件中繼資料範例包括:
- 資料類型或格式 (影像、視訊、文件)
- 使用者關聯或存取指定
- 建立、存取或修改物件的日期
- 相關物件的名稱或位置
- 使用者評價和評論
- 主題或類別標籤
- 地理位置標籤
儲存中繼資料 (如以上列出的範例) 對於內容交付、媒體應用程式、備份和存檔應用程式以及許多其他應用程式類型而言非常有價值。Amazon SimpleDB 是儲存中繼資料的理想之選,因為它提供:
- 靈活、無結構描述設計:可輕鬆附加其他中繼資料屬性,無需「打破」嚴格的結構描述。如果您想開始追蹤視訊物件的使用者評價,不需要進行耗時的資料庫變更。
- 多值屬性:中繼資料屬性可以擁有多個值。這表示可以在照片標記多個人或者為音樂檔標記多個內容類型。
- 零管理開銷:除了免除執行資料庫所需的基礎設施佈建、軟體安裝和維護方面的麻煩,Amazon SimpleDB 還可以自動編製資料的索引、調校查詢效能和建立異地備援的資料副本。
Amazon SimpleDB 還提供低衝突擴展、自動回應請求量的變化,而且僅按您實際消耗的資源收取經濟實惠的費用。
- 瀏覽我們的範本程式碼與程式庫,以取得編製 S3 中繼資料索引的完整技術逐步解說與程式碼範例