資料存放區方案評估標準RDBMS or KV,評估標準rdbms

來源:互聯網
上載者:User

資料存放區方案評估標準RDBMS or KV,評估標準rdbms

作者:zhanhailiang 日期:2014-12-11

本文主要介紹常見的資料存放區方案及相應選型的評估標準的介紹。

Guideline:針對不同應用情境,針對性選擇儲存方式。
1. 資料存放區方案

SQL:

MySQL 5.5/5.6/MariaDB(對於Dev絕大多數情境下透明);Oracle|MS SQL暫不考慮;

NoSQL:

Memcached 1.4.21;Redis 2.8;MongoDB 2.6.6;Hbase 0.96/0.98;
2. 評估標準

RDBMS:(MySQL):

  • 要求資料持久化儲存;使用者提交資料就不能丟失;
  • 要求事務保證;
  • 應用複雜,資料結構複雜,資料一致性要求高;
  • 分布式實現時複雜度高,分庫分表代價較大。
  • 適合需要嚴格事務保證的OLTP類系統和MIS類系統;

典型情境:

以電商網站為例,所有後端子系統(比如ERP,物流,財務,倉儲,人事,VIS等);網站核心資料存放區(比如使用者,商品,庫存,購物車,訂單);

KV(Memcache/Redis):

  • 資料結構簡單;只是按照簡單的Key來查詢和update記錄;
  • 資料不需要持久化儲存(persistent on disk), 是secondary data;一般不是使用者直接寫入;(比如由後端job產生,可以由應用實現雙寫)
  • 不需要transaction事務支援;
  • 可能有很高的QPS/TPS(for example, 10k+ query/transaction per second);
  • 有非常高的響應速度要求(<1ms typically),以redis為例,同機房操作一般都是幾十微秒層級;

典型情境:

各類計數器;各類cache層(商品列表頁,各類配置資訊,商品描述資訊等);

Analytics Platform:

Hadoop:ETL;科學分析;GP:BI分析;各類報表;Hbase:線上系統;OLAP分析;DocDB:應用相對簡單,資料結構相對複雜,支援快速開發,非事務類處理的資訊處理系統。如知識問答、社區等;
3. 效能最佳化

已有系統碰到效能瓶頸時,最佳化次序依次為:

  • 容量評估
  • 效能最佳化(系統最佳化,代碼邏輯最佳化,SQL最佳化)
  • 硬體升級(從低端硬體到高端硬體,從低端儲存到高端儲存)
  • 垂直分割(按照不同的模組拆分資料庫)
  • 水平分割(對某個模組,在系統裡面再也跑不動,就需要對該模組按照主鍵或者其他邏輯拆分)
附錄

開始嘗試使用github.com issues工具寫部落格,挺爽的!
對應github.com連結:#4

相關文章

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.