索引鍵值資料庫是一種 NoSQL 非關聯式儲存策略,其中記錄會以一系列索引鍵(識別碼)和值(識別碼的值)的形式儲存。鍵值對可以是簡單的數字或字串,或者值可以是物件,如影像或地理空間資料。需要快速回應的大量應用程式,可受益於關鍵價值資料庫。
什麼是關鍵價值商店?
關聯式資料庫將資料儲存在表格中,但關鍵價值關係是一系列關鍵和價值。關鍵是用來查詢資料庫正確值的唯一識別碼。例如,產品的價格可以以“價格”作為關鍵,以“12.00”作為價值。有些應用程式使用金鑰值儲存來儲存中繼資料,然後可用於查詢大型關聯式資料庫或其他非關聯式資料庫中的其他資訊。
儲存一系列的鍵值組可以加快查詢速度,因此需要快速回應並支援數百萬使用者的應用程式,可以受益於使用鍵值資料庫。當企業需要儲存簡易的中繼資料,以連結到更多更大的資料孤島時,關鍵價值儲存也很有幫助。有些企業使用鍵值組進行簡單的資料集,其中有數百萬筆請求命中資料庫,但每次查詢只能回傳幾個值。
關鍵價值的實戰儲存
查詢小型資料集的應用程式,可以受益於關鍵價值儲存的速度。舉例來說,假設有數百萬使用者使用社群媒體。使用者不斷更新摘要,應用程式會顯示摘要中前五大執行緒。可以儲存包含最新貼文和貼文連結的索引值組。
即時應用程式也受益於關鍵價值商店的運作。因為關鍵值能快速儲存回傳資料,所以應用程式會採用代號或每秒更新。例如,顯示特定股票最新價值的股票代號,需要每秒顯示更新。這些查詢可以使用關鍵值資料庫。
關鍵價值資料庫範例
關鍵價值儲存庫 vs. 關聯式資料庫
傳統關聯式資料庫在傳統應用中仍有其用途。關聯式資料庫將價值儲存在類似表格的策略中。單筆記錄有數欄,每欄都有一個指定值。開發人員會為每個記錄指派唯一的識別碼,因此資訊可以與正確的記錄相關聯。例如,獨特的客戶識別碼會連結客戶的姓名和地址。本範例中的名稱和地址為兩欄,客戶資訊包括唯一識別碼、名稱和地址,都是單一記錄。
鍵值儲存區將單一唯一識別碼鍵與值相關聯。該值可以不只是一個簡單的數字或字串。鍵值儲存區可將物件指派給單一鍵識別碼,因此開發人員不限於基本資料。按鍵組合也可用於擷取特定資料。
選擇正確的關鍵價值商店
使用關鍵價值儲存庫的應用程式需要快速的回應,因此請尋找提供記憶體內快取的資料庫。經常使用的資料可以快取在記憶體中,這表示資料庫引擎不需要搜尋磁碟上的資料、擷取資料,然後傳輸到請求的應用程式。關鍵價值儲存區執行連續的快速讀取和寫入動作,因此快取功能最適合效能。
大型資料儲存需求可受惠於資料分割與分配。水平分配讓管理員透過在資料庫叢集中新增節點來改善效能。有多種分割策略,包括雜湊和共用。選擇符合您基礎架構和管理員偏好的策略。
關鍵價值商店實作的最佳做法
無論您決定在就地部署或雲端中實作關鍵價值的儲存,您都應該遵循幾個最佳實務來保持效能。您一開始可能不會注意到效能問題,但它們經常在資料庫增長,應用程式使用者數量增加後出現。幾個最佳做法:
使用複合式主鍵優化範圍查詢。
針對範圍查詢使用排序鍵。
使用共用金鑰進行分散式儲存。
在上述範例中,績效必須採取最佳作法。效能對關鍵價值資料庫至關重要,因此能夠支援即時應用程式。快取資料也能提升效能,因此請選擇支援它的資料庫引擎。
結論
如果您有大量應用程式要求資料可以儲存為關鍵值組,關鍵值儲存區可能是最佳選擇。速度是這些資料庫的關鍵因素,因此請選擇快取記憶體資料,並提供分散式雜湊或共用方法。您可以處理地端或雲端資料庫,但如果您要尋找解決方案,Pure Storage 可提供適合您業務的儲存解決方案。