大資料學習總結記錄—SSDB

來源:互聯網
上載者:User

標籤:社區   推薦   image   sha   and   比較   排序   arch   ora   

SSBD

簡介:一個高效能的支援豐富資料結構的 NoSQL 資料庫, 可用於替代 Redis.

詳情:SSDB 是一個 C++ 開發的 NoSQL 資料庫, 使用 Google 公司開源的 LevelDB 引擎作為底層的儲存引擎. Redis 是一個 C 語言開發的記憶體 NoSQL 資料庫。SSDB 採用 New BSD License 許可協議, 一個非常寬鬆靈活的協議,支援主從複製, 負載平衡。

為什麼要替代Redis

Redis 非常流行, 不僅僅是因為其高效能和可持久化的特點, 還因為它支援豐富的資料結構, 能很好的表達業務模型. Redis 的國內屬新浪應用比較廣泛.但是, Redis 的缺點也很明顯, 那就是它的記憶體資料庫模型. 所有資料都存在記憶體中, 即使最有錢的互連網公司, 也沒法承受 $5000 (一台伺服器, 100G 記憶體)固定成本, 以及持續不斷的 IDC 租金成本來儲存區區的 50GB 的資料, 這個成本太高了!

SSDB優點

SSDB 擁有 Redis 的主要優點 - 高效能, 豐富資料結構, 並且擁有 Redis 所不具備的能力 - 大資料存放區能力. SSDB 伺服器的單機儲存能力是 Redis 的 100 倍! 因為 SSDB 能將資料存放區在硬碟中.在使用 SSDB 內建的 ssdb-bench 工具, 以及 Redis 內建的 redis-benchmark 工具在相同機器上的測試中, SSDB 的讀效能完全超過了 Redis, 這非常出乎意料. 不過, SSDB 的寫效能還是比 Redis 慢了 10% 左右. 要知道, SSDB 是一個硬碟資料庫, 而 Redis 是記憶體資料庫, 後者寫效能高一些是可以理解的.

特性

  • 替代 Redis 資料庫, Redis 的 100 倍容量
  • LevelDB 網路支援, 使用 C/C++ 開發
  • Redis API 相容, 支援 Redis 用戶端
  • 適合儲存集合資料, 如 list, hash, zset...
  • 用戶端 API 支援的語言套件括: C++, PHP, Python, Java, Go
  • 持久化的佇列服務
  • 主從複製, 負載平衡

根據資料進行分析 訪問越多ssdb的讀操作要略優於redis的都操作,然而寫操作則比redis少10%左右

但是由於SSDB的儲存是對記憶體的需求小,容量大,相比redis要省錢,而且儲存服務是支援隊列,所以在都操作高於寫操作的業務選擇中SSDB是個較便宜的方案

SSDB架構

主從搭建

主機:

server:

ip: 192.168.31.128

port: 8888

從機:

server:

ip: 192.168.31.128

port: 8889

readonly: yes

    replication:

binlog: yes

slaveof:

   id: svc_1

type: sync

host: 192.168.31.128

port: 8888

主-主 雙主搭建

主1

server:

ip: 192.168.31.128

port: 8888

replication:

slaveof:

type: mirror

host: 192.168.31.128

port: 8889

主2

server:

ip: 192.168.31.128

port: 8889

replication:

slaveof:

type: mirror

host: 192.168.31.128

port: 8888

SSDB 為何可以替代Redis?

SSDB是一個C/C++語言開發的高效能開源NoSQL資料庫伺服器,支援Key-value, Keyhashmap, Key-zset(sorted set) 等資料結構(跟redis很類似),十分適合儲存數億條層級的列表, 排序表等集合資料, 是Redis的替代和增強方案。

SSDB 和Redis在使用上有什麼區別?

SSDB 是一款不錯的 NOSQL 資料庫實現,其豐富的介面和友好的使用對於特定使用情境非常不錯,但是因為持久性和儲存引擎天然的劣勢情況下,並不適合對於持久性要求高或者隨機操作頻繁的業務。至於替代 Redis 的情況,在多節點情況下,Redis 的持久性更加好,而 Redis 的高效能更是 SSDB 無法達到的,SSDB 替代 Redis 的情境應該不會太多。推薦將 SSDB 用於監控應用、非持久訊息佇列和順序操作的快取服務,也就是容許資料丟失或者陰影讀(shadow read)。

SSDB和Redis優缺點比對

優點:SSDB 對記憶體的需求小,是個較便宜的方案。
   不差錢的話,Redis 在效能、穩定性和社區上都更加優秀
缺點:SSDB 實現很低效,主要是依賴 leveldb 會按 key 來排序的特性
   Redis 測試時資料量小,唯讀寫了記憶體的可能性

SSDB常規指令集參考:http://ssdb.io/docs/zh_cn/commands/index.html

SSDB源碼分析 – 主從和多主同步原理解析:(http://www.ideawu.net/blog/archives/849.html)

SSDB: Redis 的替代(http://www.wzxue.com/ssdb/)

 

大資料學習總結記錄—SSDB

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.