溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Cassandra基本介紹(1) - 關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)概述

發(fā)布時(shí)間:2020-07-30 17:44:56 來(lái)源:網(wǎng)絡(luò) 閱讀:1780 作者:jijun87120681 欄目:數(shù)據(jù)庫(kù)

    作為一名應(yīng)用開(kāi)發(fā)者,數(shù)據(jù)庫(kù)應(yīng)用已經(jīng)非常廣泛了。你可能使用過(guò)關(guān)系型數(shù)據(jù),比如MySQL、PostgreSQL,也可能使用過(guò)文檔存儲(chǔ),比如MongoDB,或者key-value數(shù)據(jù)庫(kù),比如Redis。每一種數(shù)據(jù)庫(kù)都有它的長(zhǎng)處,也許你還正在考慮使用分布式數(shù)據(jù)庫(kù),比如Cassandra,來(lái)解決你手頭上的工作。

    使用這些數(shù)據(jù)產(chǎn)品并不是要取代原有的數(shù)據(jù)產(chǎn)品,而是為不同的應(yīng)用場(chǎng)景提供更多的選擇。NoSQL代表著:選擇合適的方案處理合適的業(yè)務(wù)場(chǎng)景。

    在“Cassandra基本介紹”這個(gè)課程,我們將討論從關(guān)系型數(shù)據(jù)庫(kù)轉(zhuǎn)變?yōu)镃assandra的主要原因,以及Cassandra基本特點(diǎn)。 在本章結(jié)束后,你應(yīng)該學(xué)些到:

  1. RDBMS特點(diǎn)

  2. RDBMS是否適合大數(shù)據(jù)

  3. 第三范式不可擴(kuò)展

  4. Sharding是一個(gè)惡夢(mèng)

  5. 高可用..不是真實(shí)的

  6. 缺點(diǎn)總結(jié)

  7. 課程總結(jié)


    下面我們就先介紹一下,關(guān)系型數(shù)據(jù)庫(kù):

  •     RDBMS特點(diǎn)

  1. RDBMS適合中型數(shù)據(jù),在單臺(tái)機(jī)器上工作良好,比如MySQL、PostgreSQL。

  2. 對(duì)于數(shù)百個(gè)并發(fā)用戶(hù)支持較好。

  3. ACID支持良好


  •    RDBMS是否適合大數(shù)據(jù)

    對(duì)于大數(shù)據(jù),必然需要水平擴(kuò)展,MySQL的master/slave模式,將導(dǎo)致ACID(A:原子性,C:一致性,I:隔離性,D:持久性)不復(fù)存在

Cassandra基本介紹(1) - 關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)概述


  • 第三范式不可擴(kuò)展(沒(méi)有冗余)

    由于查詢(xún)的復(fù)雜性,以及用戶(hù)同時(shí)需要快速響應(yīng),因?yàn)橛脩?hù)是沒(méi)有耐心的,導(dǎo)致數(shù)據(jù)必須反范式化設(shè)計(jì)。


  • Sharding是一個(gè)惡夢(mèng)

  1. 數(shù)據(jù)位于每一個(gè)shard

  2. join和聚合困難

  3. 需要反范式化

  4. 查詢(xún)需要使用shard規(guī)則或路由,來(lái)命中shard

  5. 添加shard需要手動(dòng)遷移數(shù)據(jù)

Cassandra基本介紹(1) - 關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)概述


  • 高可用..不是真實(shí)的

  1. master為單點(diǎn)故障

  2. 不支持多數(shù)據(jù)中心

Cassandra基本介紹(1) - 關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)概述


  • 缺點(diǎn)總結(jié)

  1. 水平擴(kuò)展是頭疼的一件事

  2. ACID在本地是best,多機(jī)存在一致性問(wèn)題

  3. 重新sharding需要手動(dòng)遷移數(shù)據(jù)

  4. 往往為了性能需要反范式化

  5. 高可用復(fù)雜,需要額外操作


  • 課程總結(jié)

既然RDBMS有以上缺點(diǎn),那我們就需要解決它們:

  1. 強(qiáng)一致性是不現(xiàn)實(shí)的:So,放棄他

  2. 重新sharding是困難的:So,我們需要自動(dòng)完成

  3. Master failover:So,我們應(yīng)該不使用master/slave模式

  4. 數(shù)據(jù)分布式和聚合 no good:So,對(duì)于實(shí)時(shí)查詢(xún)性能,需要進(jìn)行反范式化,目的是讓查詢(xún)總是命中在1臺(tái)機(jī)器上


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI