一由於新的數據項目的數據量級較大,所以考慮將mysql替換更高性能的數據庫。java
介紹一下NoSQL(不單單是關係型數據庫)的不一樣種類和其擅長的業務。mysql
NoSQL的一個比較明顯的特色是適用於現代大數據的存儲.(支持hadoop,保證了數據量級的同時對讀寫性能有必定要求)sql
目前市面上主流的開源NoSQL有如下幾類:數據庫
MongoDB, Cassandra, CouchDB, Hypertable, Redis, Riak, Neo4j, HBASE, Couchbase, MemcacheDB, RevenDB and Voldemort緩存
以上均免費且開源。做者選了幾種國內比較通用的進行分析。網絡
NoSQL | 優勢 | 缺點 | 適用場景與備註 | 應用場景 |
Hbase | 支持數十億行X上百萬列 |
維護開發複雜,須要手工MapReduce | 1.簡單數據寫入(如「消息類」應用) |
1.Facebook的消息類應用,包括Messages、Chats、Emails和SMS系統 |
Mangodb | 功能豐富,數據類型靈活,各個性能特性都比較平衡 | 性能在同類中比較低 | 1.二級索引,支持相比於HBase更復雜的集合查找 |
例如:你本打算採用 MySQL或 PostgreSQL,但由於它們自己自帶的預約義欄讓你望而卻步。 |
Redis | 速度快,簡單,容易維護,支持多種數據結構 | 數據可靠性無保障,功能較少。 | 1.處理數據量小於以上兩種的極高速讀寫 |
1.例如:股票價格、數據分析、實時數據蒐集、實時通信。 |
Cassandra | 對大型表格和Dynamo支持得最好,高寫入性能 | 臃腫和複雜,java配置異常頻出 | 適用於寫入較多於讀取操做(記錄日誌).快速開發應用程序,大量寫入、統計和分析,須要擴展的部署結構 | 例如:銀行業,金融業(雖然對於金融交易不是必須的,但這些產業對數據庫的要求會比它們更大)寫比讀更快,因此一個天然的特性就是實時數據分Neo4j析 |
Neo4j | 圖形類數據 | 非圖形數據不適用 | 適用於圖形一類數據。這是Neo4j與其餘nosql數據庫的最顯著區別 | 例如:社會關係,公共交通網絡,地圖及網絡拓譜 |
綜合以上特徵,若是想要對用戶出行的數據進行統計,不一樣用戶單日的行程數目與充電次數均不相同,mangodb的不一樣結構的文件存儲更適用於當前場景。
參考文章:
https://blog.csdn.net/renyi_blog/article/details/23285977
https://bbs.csdn.net/topics/390826073
https://blog.csdn.net/aikumei/article/details/77671891