選擇資料庫時,您可以遵循以下五個高階步驟:
定義nosql資料庫的目標。
確定吞吐量和延遲要求。
為專案選擇正確的資料庫。
選擇託管服務提供商或自己動手(diy)之間做出選擇。
確定適合您情況的最佳部署模式。
1 定義資料庫的目標
使用nosql資料庫的目的可能是:為移動裝置上的數以千計的使用者提供個性化的數字體驗;為處理後端支付的應用程式儲存資料; 管理短暫的臨時資料;或作為乙個記錄系統儲存持久資料。您甚至可以在特定場景的同一資料管道中涉及多種型別的資料庫。 不管你在哪種場景中使用,包括如何收集,提取有用的資料來進行分析和在資料管道中定義nosql資料庫的特定功能都是非常重要的。
2 確定吞吐量和時延要求
在今天這個時代,使用者期待即時體驗。通常,這需要您的應用程式的響應時間<100毫秒。否則,它將被認為低效,這樣您可能會失去使用者的興趣。但是,一些應用程式 - 例如遊戲,通訊和金融交易系統 - 要求其資料庫的響應時間低至13毫秒。除時延外,您還需要確定吞吐量要求。例如,您的資料庫可以同時處理數千個同步資料流,同時時延低至50毫秒或更短嗎?了解對資料庫的效能要求對於確保使用者體驗的質量是非常重要的。
3 為專案選擇正確的資料庫
通常,開發人員選擇nosql資料庫是因為它們需要半結構化或非結構化資料型別,這種儲存結構具有靈活性,查詢簡單,快速的事務響應,可儲存大量資料以及通過分布式計算和儲存的快速且廉價的可擴充套件性。您可以通過cap定理進一步縮小您的選擇範圍,該定理在維基百科上定義如下:
根據cap定理,您可以優先考慮ca,ap或cp。這有助於您確定哪個資料庫最適合您的應用程式。
4 在託管服務提供商和自建(diy)之間進行選擇
託管服務解決方案有豐富的經驗來處理資料庫的日常管理操作。這使您能夠專注於自己應用程式的創新,同時提高工作效率。如果您朝這個方向考慮,請選擇能夠在保證正常執行的情況下,同時可以達到您要求的吞吐量和時延要求的資料庫服務提供商。當然,外包可能並非總是如此,在這種情況下,您應該考慮哪個資料庫提供商提供的軟體版本支援大規模配置,安排和管理容器。請務必檢查您最期望的能力,例如可伸縮性,雙活部署,吞吐量和時延 - 並在poc測試期間驗證它們。
5 確定部署模式
理想情況下,您需要乙個資料庫提供者,它允許您在您選擇的任何環境(無論是公共還是私有)中執行資料庫,並完全控制您的資料和配置。您的資料庫軟體也應該可以作為docker映象進行使用,這將允許您的企業開發人員在基於docker的微服務架構中使用它。如果您使用私有平台即服務(paas),請確保您的資料庫提供商支援私有paas環境中的無縫擴充套件和輕鬆高可用性,例如pivotal,bluemix,heroku等。如果選擇託管服務提供商,請確認它們支援跨多雲的群集部署(包括aws,azure和google)。
正確選擇nosql資料庫的好處
經過深思熟慮的決策的一些優點包括:保證開發,測試和生產環境之間的連續性,縮短產品上市時間。與docker編排工具整合的高可用性和易擴充套件性。更快的吞吐量,最小的延遲和保證正常執行時間全球多雲部署操作使用託管服務提供商可節省大量成本。
選擇高效能NoSQL資料庫的5個步驟
選擇資料庫時,您可以遵循以下五個高階步驟 定義nosql資料庫的目標。確定吞吐量和延遲要求。為專案選擇正確的資料庫。選擇託管服務提供商或自己動手 diy 之間做出選擇。確定適合您情況的最佳部署模式。1 定義資料庫的目標 使用nosql資料庫的目的可能是 為移動裝置上的數以千計的使用者提供個性化的數字...
如何根據效能選擇記憶體NoSQL資料庫?
本文主要內容是測試了不同nosql資料庫在測試工具ycsb中的表現。我們選取了3款流行的記憶體 in memory 資料庫管理系統 redis,tarantool 以及 couchbase,還有快取系統memchached。memchached雖然不屬於資料庫管理系統但常作為快速儲存系統使用。測試環...
Redis高效能資料庫
redis高效能資料庫 redis 本質上是乙個非關係型資料庫,採用鍵值的方式記錄資料,由於其獨特的執行模式和資料儲存模式,在作用上通常可以用來當做關係型資料庫的快取來使用,從而提高資料查詢效率 redis最大特點 執行速度很快 原因 1 redis使用c語言開發,和作業系統的相容性更強,執行效率更...