1. 為資料庫定義目標
NoSQL資料庫的目標可能是為移動裝置上的數千名使用者提供個性化數字體驗,為後端支付處理應用程式儲存資料,管理有一定時間生活的短暫資料,或將持久資料儲存為系統記錄。你甚至可以在特定方案的同一資料管道中涉及多種型別的資料庫。
無論用例如何,在資料管道中定義NoSQL資料庫的特定功能非常重要,包括如何收集,提取和提供資料以進行分析。
2. 確定吞吐量和延遲要求
通常,這需要你的應用程式的響應時間<100毫秒。否則,它將被視為緩慢,你可能會失去使用者的興趣。但是,一些應用程式 - 例如遊戲,通訊和金融交易系統 - 要求其資料庫的響應時間低至13毫秒。
除延遲外,我們還需要確定吞吐量要求。例如,資料庫可以處理數千個同步資料流,延遲低至50毫秒或更長?
瞭解將對資料庫提出的要求對於確保使用者體驗的質量非常重要。
3. 為正確的作業選擇正確的資料庫
通常,開發人員選擇NoSQL資料庫是因為它們需要半結構化或非結構化資料,具有靈活的模式,簡單的查詢模式,高速事務,大量資料以及透過分散式計算和儲存的快速且廉價的可擴充套件性。你可以透過CAP定理進一步縮小選擇範圍,CAP定義定義如下:
一致性:每次讀取都會收到最近的寫入或錯誤。
可用性:每個請求都會收到(非錯誤)響應 - 不保證它包含最近的寫入。
分割槽容差:儘管節點之間的網路丟棄(或延遲)任意數量的訊息,系統仍繼續執行。
根據CAP定理,你可以優先考慮CA,AP或CP特徵。這有助於確定哪個資料庫最適合你的應用程式。
4. 選擇託管服務提供商和自己動手(DIY)
託管服務解決方案使用經驗豐富的資源處理資料庫的日常管理。這使你自己的資源能夠專注於應用程式所需的創新和效率。如果朝這個方向發展,請評估提供資料庫即服務選項的第三方選項,並選擇能夠在保證正常執行時間的同時處理吞吐量和延遲要求的提供商。
當然,外包可能並不總是可選的,在這種情況下,應該考慮哪些資料庫提供商提供的軟體版本支援大規模配置,排程和管理容器。請務必檢查你最期望的功能,例如可伸縮性,主動 - 主動部署,吞吐量和延遲 - 並在概念驗證試驗期間對其進行驗證。
5. 確定部署模式
理想情況下,你需要一個數據庫提供程式,它允許在選擇的任何環境(無論是公共還是私有)中執行資料庫,並完全控制你的資料和配置。資料庫軟體也應該作為Docker映象提供,這將允許企業開發人員在基於Docker的微服務架構中使用它。
如果使用私有平臺即服務(PaaS),請確保你的資料庫提供商支援私有PaaS環境中的無縫擴充套件和輕鬆高可用性。
如果選擇託管服務提供商,請確認它們支援跨多雲提供商的群集部署。
1. 為資料庫定義目標
NoSQL資料庫的目標可能是為移動裝置上的數千名使用者提供個性化數字體驗,為後端支付處理應用程式儲存資料,管理有一定時間生活的短暫資料,或將持久資料儲存為系統記錄。你甚至可以在特定方案的同一資料管道中涉及多種型別的資料庫。
無論用例如何,在資料管道中定義NoSQL資料庫的特定功能非常重要,包括如何收集,提取和提供資料以進行分析。
2. 確定吞吐量和延遲要求
通常,這需要你的應用程式的響應時間<100毫秒。否則,它將被視為緩慢,你可能會失去使用者的興趣。但是,一些應用程式 - 例如遊戲,通訊和金融交易系統 - 要求其資料庫的響應時間低至13毫秒。
除延遲外,我們還需要確定吞吐量要求。例如,資料庫可以處理數千個同步資料流,延遲低至50毫秒或更長?
瞭解將對資料庫提出的要求對於確保使用者體驗的質量非常重要。
3. 為正確的作業選擇正確的資料庫
通常,開發人員選擇NoSQL資料庫是因為它們需要半結構化或非結構化資料,具有靈活的模式,簡單的查詢模式,高速事務,大量資料以及透過分散式計算和儲存的快速且廉價的可擴充套件性。你可以透過CAP定理進一步縮小選擇範圍,CAP定義定義如下:
一致性:每次讀取都會收到最近的寫入或錯誤。
可用性:每個請求都會收到(非錯誤)響應 - 不保證它包含最近的寫入。
分割槽容差:儘管節點之間的網路丟棄(或延遲)任意數量的訊息,系統仍繼續執行。
根據CAP定理,你可以優先考慮CA,AP或CP特徵。這有助於確定哪個資料庫最適合你的應用程式。
4. 選擇託管服務提供商和自己動手(DIY)
託管服務解決方案使用經驗豐富的資源處理資料庫的日常管理。這使你自己的資源能夠專注於應用程式所需的創新和效率。如果朝這個方向發展,請評估提供資料庫即服務選項的第三方選項,並選擇能夠在保證正常執行時間的同時處理吞吐量和延遲要求的提供商。
當然,外包可能並不總是可選的,在這種情況下,應該考慮哪些資料庫提供商提供的軟體版本支援大規模配置,排程和管理容器。請務必檢查你最期望的功能,例如可伸縮性,主動 - 主動部署,吞吐量和延遲 - 並在概念驗證試驗期間對其進行驗證。
5. 確定部署模式
理想情況下,你需要一個數據庫提供程式,它允許在選擇的任何環境(無論是公共還是私有)中執行資料庫,並完全控制你的資料和配置。資料庫軟體也應該作為Docker映象提供,這將允許企業開發人員在基於Docker的微服務架構中使用它。
如果使用私有平臺即服務(PaaS),請確保你的資料庫提供商支援私有PaaS環境中的無縫擴充套件和輕鬆高可用性。
如果選擇託管服務提供商,請確認它們支援跨多雲提供商的群集部署。