
在選擇數據庫時,不同的人使用不同的標準:
- 數據庫採購人員:
 - 採購成本:
- 存儲要求
 - 網絡要求。
 
 - 數據庫管理員 (DBA) 關心:
- 運維成本:
- 可靠的監控和警報系統
 - 支持備份和恢復
 - 合理的升級和遷移成本
 - 活躍的支持社區
 - 易於性能調整
 - 易於故障排除
 
 - 服務穩定性:
- 支持多個數據副本
 - 高可用服務
 - 支持多寫入和多活動架構
 
 - 性能:
- 延遲
 - 每秒查詢數 (QPS)
 - 是否支持更高級的分層存儲功能
 
 - 可擴展性:
- 水平和垂直擴展是否容易
 
 - 安全性:
- 是否滿足審計要求並防止 SQL 注入和信息洩露
 
 
 - 運維成本:
 - 應用程序開發人員關心:
- 穩定的服務
 - 性能
 - 可擴展性
 - 易於開發數據庫接口
 - 易於修改數據庫模式
 
 
簡單的在 SQL 和 NoSQL 之間做出決定
- 數據模式複雜
- 是——> 2
 - 沒有——> 3
 
 - 各種搜索方法或強分析(搜尋>更新資料)
- 是——> SQL
 - 否——> NoSQL
 
 - 放入性能較低的設備中
- 是——> NoSQL
 - 否——> SQL
 
 
簡單選擇一種類型的 SQL 數據庫
- 數據大小 < 1TB ? 
- 是 ——> 2
 - 否 ——> 3
 
 - 需要開源嗎?
- 是 ——> MariaDB
 - 否 ——> MariaDB / MySQL
 
 - 可擴展性?
- 否 ——> TokuDB
 - 是 ——> TiDB
 
 
簡單選擇一種類型的 NoSQL 數據庫
- 文檔數據庫 ?
- 是 ——> MongoDB
 - 否 ——> 2
 
 - 接受延遲?
- 是 ——> TiKV
 - 否 ——> 3
 
 - 數據大小 ?
- 大小 > 100 GB —–> Couchbase
 - 20GB > 大小 > 100GB —–> 4
 - 大小 < 20 GB —–> Redis
 
 - 架構複雜?
- 是 ——> Redis cluster / Smart Jedis
 - 否 ——> Couchbase