91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

有哪些分布式數據庫

發布時間:2020-12-14 11:12:25 來源:億速云 閱讀:2421 作者:小新 欄目:互聯網科技

小編給大家分享一下有哪些分布式數據庫,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

分布式數據庫有:1、Elasticsearch數據庫,可以存在單個節點或多個節點;2、Redis數據庫,支持豐富數據類型;3、Mongodb數據庫,能夠更便捷的獲取數據;4、Mysql分布式集群,高可用性。

分布式數據庫有:

一、Elasticsearch數據庫

1.Elasticsearch簡介

分布式的實時文件存儲,每個字段都被索引并可被搜索,分布式的實時分析搜索引擎

可以擴展到上百臺服務器,處理PB級結構化或非結構化數據

2.Elasticsearch應用場景

分布式的搜索引擎和數據分析引擎,全文檢索,結構化檢索,數據分析

對海量數據進行近實時的處理,站內搜索(電商,招聘,門戶,等等),IT系統搜索(OA,CRM,ERP,等等),數據分析

3.Elasticsearch的優缺點

缺點:沒有用戶驗證和權限控制,沒有事務的概念,不支持回滾,誤刪不能恢復,需要java環境.

優點:將你的文檔分割到不同容器或者分片中,可以存在單個節點或多個節點

復制每個分片提供數據備份,防止硬件問題導致數據丟失。

對集群中任意節點的相互請求進行路由,保證獲取的數據是你需要的,集群增加或者重新分配分片時,不停機讓新節點恢復丟失的節點分片數據

4.Elasticsearch的持久化方案

gateway 代表 elasticsearch 索引的持久化存儲方式,elasticsearch 默認是先把索引存放到內存中去,當內存滿了的時候再持久化到硬盤里。當這個 elasticsearch 集群關閉或者再次重新啟動時就會從 gateway 中讀取索引數據。elasticsearch 支持多種類型的 gateway,有本地文件系統(默認),分布式文件系統,Hadoop 的 HDFS 和 amazon 的 s3 云存儲服務。

ElasticSearch是先把索引的內容保存到內存之中,當內存不夠時再把索引持久化到硬盤中,同時它還有一個隊列,是在系統空閑時自動把索引寫到硬盤中。

二、Redis數據庫

1.Redis簡介

redis是開源BSD許可高級的key-value存儲系統(NoSQL),可以用來存儲字符串,哈希結構,鏈表,集合,因此,常用來提供數據結構服務,Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加 載進行使用。 支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。Redis支持數據的備份,即master-slave模式的數據備份。

2.Redis應用場景

A)常規計數:粉絲數,微博數

B)用戶信息變更

C)緩存處理,作為mysql的緩存

D)隊列系統,建有優先級的隊列系統,日志收集系統

3.Redis的優缺點

優點:

(1) 速度快,因為數據存在內存中,類似于HashMap,HashMap的優勢就是查找和操作的時間復雜度都是O(1)

(2) 支持豐富數據類型,支持string,list,set,sorted set,hash

(3) 支持事務,操作都是原子性,所謂的原子性就是對數據的更改要么全部執行,要么全部不執行

(4) 豐富的特性:可用于緩存,消息,按key設置過期時間,過期后將會自動刪除

缺點:

(1)Redis不具備自動容錯和恢復功能,主機從機的宕機都會導致前端部分讀寫請求失敗,需要等待機器重啟或者手動切換前端的IP才能恢復

(2)主機宕機,宕機前有部分數據未能及時同步到從機,切換IP后還會引入數據不一致的問題,降低了系統的可用性

(3)redis的主從復制采用全量復制,復制過程中主機會fork出一個子進程對內存做一份快照,并將子進程的內存快照保存為文件發送給從機,這一過程需要確保主機有足夠多的空余內存。若快照文件較大,對集群的服務能力會產生較大的影響,而且復制過程是在從機新加入集群或者從機和主機網絡斷開重連時都會進行,也就是網絡波動都會造成主機和從機間的一次全量的數據復制,這對實際的系統運營造成了不小的麻煩

(4)Redis較難支持在線擴容,在集群容量達到上限時在線擴容會變得很復雜。為避免這一問題,運維人員在系統上線時必須確保有足夠的空間,這對資源造成了很大的浪費。

4.Redis的持久化方案

redis提供兩種方式進行持久化,一種是RDB持久化(原理是將Reids在內存中的數據庫記錄定時dump到磁盤上的RDB持久化),另外一種是AOF(append only file)持久化(原理是將Reids的操作日志以追加的方式寫入文件)。

RDB持久化是指在指定的時間間隔內將內存中的數據集快照寫入磁盤,實際操作過程是fork一個子進程,先將數據集寫入臨時文件,寫入成功后,再替換之前的文件,用二進制壓縮存儲。

三、Mongodb數據庫

1.Mongodb簡介

MongoDB本身是一種非關系型數據庫。它的每一條記錄是一個Document,每個Document有一組鍵值對組成。MongoDB中的Document與JSON對象相似。 Document中字段的值可能包括其他Document,數組等。

2.Mongodb應用場景

mongodb的主要目標是在鍵/值存儲方式(提供了高性能和高度伸縮性)以及傳統的RDBMS系統(豐富的功能)架起一座橋梁,集兩者的優勢于一身。mongo適用于以下場景:

a.網站數據:mongo非常適合實時的插入,更新與查詢,并具備網站實時數據存儲所需的復制及高度伸縮性。

b.緩存:由于性能很高,mongo也適合作為信息基礎設施的緩存層。在系統重啟之后,由mongo搭建的持久化緩存可以避免下層的數據源過載。

c.大尺寸、低價值的數據:使用傳統的關系數據庫存儲一些數據時可能會比較貴,在此之前,很多程序員往往會選擇傳統的文件進行存儲。

d.高伸縮性的場景:mongo非常適合由數十或者數百臺服務器組成的數據庫。

e.用于對象及JSON數據的存儲:mongo的BSON數據格式非常適合文檔格式化的存儲及查詢。

3.Mongodb的優缺點

優點:

(1) 弱一致性(最終一致),更能保證用戶的訪問速度

(2) 文檔結構的存儲方式,能夠更便捷的獲取數據

(3) 內置GridFS,支持大容量的存儲

(4) 在使用場合下,千萬級別的文檔對象,近10G的數據,對有索引的ID的查詢不會比mysql慢,而對非索引字段的查詢,則是全面勝出。

缺點:

(1)不支持事物

(2)占用空間過大,會造成磁盤浪費

(3)單機可靠性比較差

(4)大數據量持續插入,寫入性能有較大波動

4.Mongodb的持久化方案/異常處理

當執行寫操作時,MongoDB創建一個journal來包含確切磁盤位置和改變的字節。因此,如果服務器突然崩潰,啟動時,journal會重放崩潰前并沒有刷新到磁盤上的任何寫操作。

數據文件每隔60s刷新到磁盤上,默認情況下,因此journal只需要持有60s內的寫入數據。journal預分配了幾個空文件用于此目的,位于/data/db/journal,命名為_j.0,j.1等等。

MongoDB運行很長時間情況下,在journal目錄下,你會看到類似于_j.6217,_j.6218和_j.6219文件。這些文件是當前的journal文件,如果MongoDB一直運行,這些數字會持續增加。當正常關閉MongoDB時,這些文件將被清除,因為正常關機不在需要這些日志的。

如果服務器崩潰或kill -9, mongodb再次啟動時,會重放journal文件,會輸出冗長難懂的檢驗行,這表明在正常的恢復。

四、Mysql分布式集群

1.Mysql分布式集群簡介

MySQL集群是一個無共享的(shared-nothing)、分布式節點架構的存儲方案,其目的是提供容錯性和高性能。

數據更新使用讀已提交隔離級別(read-committedisolation)來保證所有節點數據的一致性,使用兩階段提交機制(two-phasedcommit)保證所有節點都有相同的數據(如果任何一個寫操作失敗,則更新失敗)。

無共享的對等節點使得某臺服務器上的更新操作在其他服務器上立即可見。傳播更新使用一種復雜的通信機制,這一機制專用來提供跨網絡的高吞吐量。

通過多個MySQL服務器分配負載,從而最大程序地達到高性能,通過在不同位置存儲數據保證高可用性和冗余。

2.Mysql分布式集群應用場景

解決海量存儲問題,比如京東B2B就用的Mysql分布式集群。

適用幾十億的PV對DB的訪問。

3.Mysql分布式集群的優缺點

優點:

a) 高可用性

b)快速的自動失效切換

c)靈活的分布式體系結構,沒有單點故障

d)高吞吐量和低延遲

e)可擴展性強,支持在線擴容

缺點:

a)存在很多限制,比如:不支持外鍵

b)部署、管理、配置很復雜

c)占用磁盤空間大,內存大

d)備份和恢復不方便

e)重啟的時候,數據節點將數據load到內存需要很長時間

4.Mysql分布式集群的持久化方案

負載均衡

管理節點備份。

以上是“有哪些分布式數據庫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正安县| 壶关县| 嘉黎县| 池州市| 龙川县| 团风县| 平度市| 大同市| 民丰县| 衢州市| 安塞县| 文登市| 万源市| 闻喜县| 岳西县| 彭州市| 思南县| 大荔县| 西乡县| 高雄县| 临城县| 湖州市| 南城县| 广饶县| 安溪县| 德安县| 灵丘县| 西安市| 新宁县| 山东省| 高淳县| SHOW| 乐昌市| 辉县市| 交口县| 木里| 资中县| 海城市| 彭山县| 阜新市| 樟树市|