❶ Oracle中的cluster是什麼意思,它有什麼作用
大家對通常oracle中的cluster的理解是不準確的,經常和sql server中的cluster index混淆。Cluster是存儲一組table的一種方法,這些table共享同一數據塊中的某些相同column,並把不同table在這一共享column上值相同的data row存儲到同一block上。在sql server中的cluster index強制行根據index key按存儲順序存儲,這一點和oracle中的IOT類似。
從下圖中我們可以清楚的看到cluster 和非cluster 的一組table的物理存儲的區別。在cluster中,單個block上的數據可能來自多個table,概念上可以存儲「預連接」的數據。單個table也可以使用cluster,即根據某些column按組存儲數據。如圖中,所有部門ID為 20和 110的部門信息和員工信息的數據都將存儲在同一block。注意,這里存儲的並不是排序的數據(那是IOT的任務),存儲的是按部門ID分組集合的數據,是以heap的方式存儲的。因此,部門20剛好和部門110相鄰,而部門99和部門100相距很遠(硬碟的物理位置)。
當單個block放不下時,額外的block將鏈接到最初的block,來包容溢出的數據,這種方式和在IOT中溢出block非常相似。
現在我們看看如何創建一個cluster。在cluster中創建一系列table是很簡單的,對象存儲定義如PCTFREE,PCTUSED,INITIAL都是和cluster相關的,而不是和table相關。這是因為在cluster中存儲了若干table,每個table在同一個block中擁有不同的PCTFREE沒有意義。
SQL> create cluster e_d_cluster
2 (deptid number(2))
3 size 1024
4 /
Cluster created
這里首先創建了一個index cluster。這個cluster的key為 deptid,在table中這個列可以不命名為deptid,但數據類型number(2)必須匹配。Size選項是用來告訴oracle預計有1024
位元組數據和每個cluser key相關。Oracle將使用這個信息來計算每個block能容納的最大cluster key數目。因此size太高,在每一block將得到很少的key,並且將使用比需要的更多的空間;設置容量太低,將得到過多的數據連接,這將偏離使用cluster的目的。Size是cluster的重要參數。
現在我們來創建cluster index。在把數據放入之前,需要索引cluster。Cluster index的作用是存儲一個cluster key,並且返回包含該key的block的地址。
SQL> create index e_d_cluster_idx
2 on cluster e_d_cluster
3 /
Index created
Cluster key 的index可以使用index所有的正常的存儲參數,並且可以位於另一個tablespace。它是一個正常的index,能夠索引到一個cluster,並且也包含一個完全null的條目。
我們在cluster中創建table:
SQL> create table department
2 (deptid number(2) primary key,
3 dname varchar2(14),
4 loc varchar2(13))
5 cluster e_d_cluster(deptid);
Table created
SQL> create table employee
2 (empid number primary key,
3 ename varchar2(10),
4 job varchar2(10),
5 mgr number,
6 hiredate date,
7 sal number,
8 comm number,
9 deptid number(2) references department(deptid))
10 cluster e_d_cluster(deptid);
Table created
這里創建table與普通的table唯一的區別就是使用了cluster關鍵字,我們往table中裝載數據:
SQL> begin
2 for x in(select * from scott.dept)
3 loop
4 insert into department
5 values(x.deptno,x.dname,x.loc);
6 insert into employee
7 select * from scott.emp
8 where deptno = x.deptno;
9 end loop;
10 end;
11 /
PL/SQL procere successfully completed
我們可以看到目前table中裝載了如下數據:
SQL> select * from department;
DEPTID DNAME LOC
------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> select * from employee;
EMPID ENAME JOB MGR HIREDATE SAL COMM DEPTID
---------- ---------- ---------- ---------- ----------- ---------- ---------- ------
7782 CLARK MANAGER 7839 1981-6-9 2450 10
7839 KING PRESIDENT 1981-11-17 5000 10
7934 MILLER CLERK 7782 1982-1-23 1300 10
7369 SMITH CLERK 7902 1980-12-17 800 20
7566 JONES MANAGER 7839 1981-4-2 2975 20
7788 SCOTT ANALYST 7566 1982-12-9 3000 20
7876 ADAMS CLERK 7788 1983-1-12 1100 20
7902 FORD ANALYST 7566 1981-12-3 3000 20
7499 ALLEN SALESMAN 7698 1981-2-20 1600 300 30
7521 WARD SALESMAN 7698 1981-2-22 1250 500 30
7654 MARTIN SALESMAN 7698 1981-9-28 1250 1400 30
7698 BLAKE MANAGER 7839 1981-5-1 2850 30
7844 TURNER SALESMAN 7698 1981-9-8 1500 0 30
7900 JAMES CLERK 7698 1981-12-3 950 30
現在我們看看這兩個table數據存儲的位置:
SQL> select dbms_rowid.rowid_block_number(department.rowid) dept_rid,
2 dbms_rowid.rowid_block_number(employee.rowid) emp_rid,department.deptid
3 from department,employee
4 where employee.deptid = department.deptid;
DEPT_RID EMP_RID DEPTID
---------- ---------- ------
5587 5587 10
5587 5587 10
5587 5587 10
5587 5587 20
5587 5587 20
5587 5587 20
5587 5587 20
5587 5587 20
5587 5587 30
5587 5587 30
5587 5587 30
5587 5587 30
5587 5587 30
5587 5587 30
可以看到部門ID相同的數據存儲在一個block上。我們為什麼推薦上述方法對cluster進行最初的裝載呢?這樣能夠保證如果有些cluster key的相關數據超過了size,仍能使大部分數據聚集在一個block上。這只適用於最初的數據裝載,在這以後,可以使用事務對cluster中的table insert數據。
由於cluster中的特殊的數據存儲方式,出現了這樣一個問題,rowid出現了重復,現在rowid只能在一個table中唯一標識一行數據了(另一種rowid重復出現在transport tablespace的操作後)。
SQL> select rowid from department
2 intersect
3 select rowid from employee;
ROWID
------------------
AAAGWQAADAAABXTAAA
AAAGWQAADAAABXTAAB
AAAGWQAADAAABXTAAC
AAAGWQAADAAABXTAAD
❷ 如何實現oracle 資料庫集群的優化
1、1、調整數據結構的設計。這一部分在開發信息系統之前完成,程序員需要考慮是否使用ORACLE資料庫的分區功能,對於經常訪問的資料庫表是否需要建立索引等。
2、2、調整應用程序結構設計。這一部分也是在開發信息系統之前完成,程序員在這一步需要考慮應用程序使用什麼樣的體系結構,是使用傳統的Client/Server兩層體系結構,還是使用Browser/Web/Database的三層體系結構。不同的應用程序體系結構要求的資料庫資源是不同的。
3、3、調整資料庫SQL語句。應用程序的執行最終將歸結為資料庫中的SQL語句執行,因此SQL語句的執行效率最終決定了ORACLE資料庫的性能。ORACLE公司推薦使用ORACLE語句優化器(Oracle Optimizer)和行鎖管理器(row-level manager)來調整優化SQL語句。
4、4、調整伺服器內存分配。內存分配是在信息系統運行過程中優化配置的,資料庫管理員可以根據資料庫運行狀況調整資料庫系統全局區(SGA區)的數據緩沖區、日誌緩沖區和共享池的大小;還可以調整程序全局區(PGA區)的大小。需要注意的是,SGA區不是越大越好,SGA區過大會佔用操作系統使用的內存而引起虛擬內存的頁面交換,這樣反而會降低系統。
5、5、調整硬碟I/O,這一步是在信息系統開發之前完成的。資料庫管理員可以將組成同一個表空間的數據文件放在不同的硬碟上,做到硬碟之間I/O負載均衡。
6、6、調整操作系統參數,例如:運行在UNIX操作系統上的ORACLE資料庫,可以調整UNIX數據緩沖池的大小,每個進程所能使用的內存大小等參數。
實際上,上述資料庫優化措施之間是相互聯系的。ORACLE資料庫性能惡化表現基本上都是用戶響應時間比較長,需要用戶長時間的等待。但性能惡化的原因卻是多種多樣的,有時是多個因素共同造成了性能惡化的結果,這就需要資料庫管理員有比較全面的計算機知識,能夠敏感地察覺到影響資料庫性能的主要原因所在。另外,良好的資料庫管理工具對於優化資料庫性能也是很重要的。
❸ 能介紹下 ORACLE 資料庫RAC集群腦裂brain split是怎麼回事嗎
Oracle RAC CSS提供2種後台服務包括群組管理(Group Managment簡稱GM)和節點監控(Node Monitor簡稱NM),其中GM管理組(group)和鎖(lock)服務。在集群中任意時刻總有一個節點會充當GM主控節點(master node)。集群中的其他節點串列地將GM請求發送到主控節點(master node),而master node將集群成員變更信息廣播給集群中的其他節點。組成員關系(group membership)在每次發生集群重置(cluster reconfiguration)時發生同步。每一個節點獨立地詮釋集群成員變化信息。
而節點監控NM服務則負責通過skgxn(skgxn-libskgxn.a,提供節點監控的庫)與其他廠商的集群軟體保持節點信息的一致性。此外NM還提供對我們熟知的網路心跳(Network heartbeat)和磁碟心跳(Disk heartbeat)的維護以保證節點始終存活著。當集群成員沒有正常Network heartbeat或Disk heartbeat時NM負責將成員踢出集群,被踢出集群的節點將發生節點重啟(reboot)。
NM服務通過OCR中的記錄(OCR中記錄了Interconnect的信息)來了解其所需要監聽和交互的端點,將心跳信息通過網路發送到其他集群成員。同時它也監控來自所有其他集群成員的網路心跳Network heartbeat,每一秒鍾都會發生這樣的網路心跳,若某個節點的網路心跳在misscount(by the way:10.2.0.1中Linux上默認misscount為60s,其他平台為30s,若使用了第三方vendor clusterware則為600s,但10.2.0.1中未引入disktimeout;10.2.0.4以後misscount為60s,disktimeout為200s;11.2以後misscount為30s:CRS-4678: Successful get misscount 30 for Cluster Synchronization Services,CRS-4678: Successful get disktimeout 200 for Cluster Synchronization Services)指定的秒數中都沒有被收到的話,該節點被認為已經」死亡」了。NM還負責當其他節點加入或離開集群時初始化集群的重置(Initiates cluster reconfiguration)。
在解決腦裂的場景中,NM還會監控voting disk以了解其他的競爭子集群(subclusters)。關於子集群我們有必要介紹一下,試想我們的環境中存在大量的節點,以Oracle官方構建過的128個節點的環境為我們的想像空間,當網路故障發生時存在多種的可能性,一種可能性是全局的網路失敗,即128個節點中每個節點都不能互相發生網路心跳,此時會產生多達128個的信息」孤島」子集群。另一種可能性是局部的網路失敗,128個節點中被分成多個部分,每個部分中包含多於一個的節點,這些部分就可以被稱作子集群(subclusters)。當出現網路故障時子集群內部的多個節點仍能互相通信傳輸投票信息(vote mesg),但子集群或者孤島節點之間已經無法通過常規的Interconnect網路交流了,這個時候NM Reconfiguration就需要用到voting disk投票磁碟。
因為NM要使用voting disk來解決因為網路故障造成的通信障礙,所以需要保證voting disk在任意時刻都可以被正常訪問。在正常狀態下,每個節點都會進行磁碟心跳活動,具體來說就是會到投票磁碟的某個塊上寫入disk心跳信息,這種活動每一秒鍾都會發生,同時CSS還會每秒讀取一種稱作」kill block」的」賜死塊」,當」kill block」的內容表示本節點被驅逐出集群時,CSS會主動重啟節點。
為了保證以上的磁碟心跳和讀取」kill block」的活動始終正常運作CSS要求保證至少(N/2+1)個投票磁碟要被節點正常訪問,這樣就保證了每2個節點間總是至少有一個投票磁碟是它們都可以正常訪問的,在正常情況下(注意是風平浪靜的正常情況)只要節點所能訪問的在線voting disk多於無法訪問的voting disk,該節點都能幸福地活下去,當無法訪問的voting disk多於正常的voting disk時,Cluster Communication Service進程將失敗並引起節點重啟。所以有一種說法認為voting disk只要有2個足以保證冗餘度就可以了,沒有必要有3個或以上voting disk,這種說法是錯誤的。Oracle推薦集群中至少要有3個voting disks。
補充1:
Question:
有同學問那麼voting disk 必須是奇數個呢?
Answer:
實際上我們僅僅是推薦使用奇數個vote disk ,而非必須是奇數個。10gR2中vote disk的數目上限是32個。
Question
我們可以使用2或4個vote disk嗎?
Answer:
可以的。 但是2、4這樣的數目在「至少(N/2+1)個投票磁碟要被節點正常訪問」這一disk heartbeat的硬性演算法下是不利的:
當我們使用2個vote disk 時,不能發生任意個vote disk的心跳失敗
當我們使用3個vote disk 時,不能發生大於1個的vote disk心跳失敗
當我們使用4個vote disk 時,不能發生大於1個的vote disk心跳失敗 ,這和3個時的容錯率是一樣,但是因為我們有更多的vote disk,這會導致管理成本和引入的風險增長
當我們使用5個vote disk 時,不能發生大於2個的vote disk心跳失敗
當我們使用6個vote disk 時,仍然不能發生大於2個的vote disk心跳失敗, 同樣的因為比5時多出一個 ,也會引入不合理的管理成本和風險
補充2:
Question:
若節點間的網路心跳正常,且節點所能正常心跳的vote disk 大於 不能正常訪問的 ,如3個votedisk 時 恰巧有1個vote disk 的disk heartbeat 超時,此時Brain split 會發生嗎?
Answer:
這種情況即不會觸發Brain Split,也不會引發節點驅逐協議(eviction protocol)。 當單個或小於(N/2+1)個的voting disk心跳失敗(disk heartbeat failure)時,這種心跳失敗可能是由於短期內節點訪問voting disk發生I/O error錯誤而引起的,此時css會立刻將這些失敗的voting disk標記為OFFLINE。雖然有一定數量的voting disk OFFLINE了,但是我們仍有至少(N/2+1)個投票磁碟可用,這保證了eviction protocol不會被調用,所以沒有節點會被reboot重啟。緊接著node monitor模塊的Disk ping Monitor Thread(DPMT-clssnmDiskPMT)會重復嘗試訪問這些失敗的OFFLINE voting disk,若這些投票磁碟變得再次可I/O訪問且經過驗證其上的數據也沒有訛誤,那麼css會再次將此voting disk標記為ONLINE;但是如果在45s( 這里的45s是基於misscount和 內部演算法獲得的) 內仍不能正常訪問相關的voting disk,那麼DMPT將在cssd.log中生成警告信息,如:
❹ 如何測試集群中的oracle資料庫
Oracle RAC是一個集群資料庫,可以實現負載均衡和故障無縫切換。如何知道RAC資料庫已經實現了這些功能呢,下面就對此進行功能測試。
一、 負載均衡測試
RAC資料庫的負載均衡是指對資料庫連接的負載均衡,當一個新的會話連接到RAC資料庫時,通過指定的分配演算法將請求分配到集群的任一節點上,這就是RAC資料庫完成的功能。負載均衡在RAC中分為兩種:一種是基於客戶端連接的負載均衡;一種是基於伺服器端的負載均衡。
1. RAC客戶端負載均衡
客戶端連接的負載均衡配置起來非常簡單,與RAC資料庫的實例負載和監聽沒有任何關系,因此也就不需要在集群節點進行任何設置,只要在客戶端機器上的tnsnames.ora文件中添加負載均衡策略配置即可。這里以Linux客戶端為例進行介紹。
(1) 修改/etc/hosts文件
編輯/etc/host
❺ 簡述Oracle資料庫RAC真實應用集群的工作原理
Oracle集群
Oracle集群,最早稱作OPS(Oracle Parallel Server)出現在Oracle 7版本中,從Oracle 9i開始正式改稱為Oracle RAC,RAC即Real Application Clusters的簡寫,譯為「真正應用集群」;RAC 是Oracle新版資料庫中採用的一項新技術,也是Oracle資料庫支持網格計算環境的核心技術。 10g以前的OPS或者RAC都依賴於第三方集群軟體(Vendor Clusterware)方能正常工作,在10g版本中Oracle推出了Oracle Clusterware集群軟體以及ASM自動存儲管理技術,換而言之10g以後版本的RAC不再依賴於第三方的集群軟體(譬如IBM的HACMP,Veritas的VCS等),但必須安裝Oracle自己的Clusterware集群軟體。 Oracle RAC主要支持Oracle9i、10g、11g版本,可以可以支持24 x 7 有效的資料庫應用 系統,在低成本伺服器上構建高可用性資料庫系統,並且自由部署應用,無需修改代碼。 在Oracle RAC環境下,Oracle集成提供了集群軟體和存儲管理軟體,為用戶降低了應用成本。當應用規模需要擴充時,用戶可以按需擴展系統,以保證系統的性能。 參考編輯本段Oracle集群參考文檔
Oracle RAC一般也可構建於大型SMP主機,IBM的AIX系列伺服器往往是其中高端平台,Intel Linux往往作為其低端平台。當AIX UNIX用來運行Oracle RAC作為大型資料庫系統平台時,其集群系統構建、實施、運維、高可用設置,有其平台特點。可以參照《Oracle大型資料庫系統在AIX/UNIX上的實戰詳解》,該書以AIX UNIX平台為主線,以其他UNIX系統為參照,描述了資料庫系統Oracle 10g、Oracle 11g的RAC的構架方法和過程。在Linux平台,則《大話OracleRAC集群、高可用性、備份與恢復》有著很好的論述。
❻ oracle集群如何建集群表空間,建數據文件
查詢資料庫版本信息:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Proction
PL/SQL Release 11.2.0.3.0 - Proction
CORE 11.2.0.3.0 Proction
TNS for Linux: Version 11.2.0.3.0 - Proction
NLSRTL Version 11.2.0.3.0 - Proction
查詢資料庫ASM磁碟組信息:
SQL> select name,total_mb,free_mb from v$asm_diskgroup;
NAME TOTAL_MB FREE_MB
------------------------------ ---------- ----------
DATA 5120 3292
VCR 5120 3732
當前資料庫已有表空間信息:
SQL> select tablespace_name,file_name,bytes/1024/1024/1024 gb from dba_data_files;
TABLESPACE_NAME FILE_NAME GB
------------------------------ ------------------------------------------------------- ----------
USERS +DATA/db/datafile/users.259.858757167 .004882813
UNDOTBS1 +DATA/db/datafile/undotbs1.258.858757167 .078125
SYSAUX +DATA/db/datafile/sysaux.257.858757165 .5859375
SYSTEM +DATA/db/datafile/system.256.858757165 .693359375
UNDOTBS2 +DATA/db/datafile/undotbs2.264.858757691 .048828125
創建表空間文件:
SQL> create tablespace ecif_test_data datafile '+data' size 1m ;
Tablespace created.
驗證表空間創建是否成功
SQL> select tablespace_name,file_name,bytes/1024/1024/1024 gb from dba_data_files;
TABLESPACE_NAME FILE_NAME GB
------------------------------ ------------------------------------------------------- ----------
USERS +DATA/db/datafile/users.259.858757167 .004882813
UNDOTBS1 +DATA/db/datafile/undotbs1.258.858757167 .078125
SYSAUX +DATA/db/datafile/sysaux.257.858757165 .5859375
SYSTEM +DATA/db/datafile/system.256.858757165 .693359375
UNDOTBS2 +DATA/db/datafile/undotbs2.264.858757691 .048828125
ECIF_TEST_DATA +DATA/db/datafile/ecif_test_data.268.862066777 .000976563
6 rows selected.
❼ oracle 怎麼做集群
通過RAC實現。只是共享存儲。各台機器有自己的共享內存。並非每台機器的內存共享累加起來組成一個資料庫的共享內存。 RAC的好處是所有機器組成一個集群。 ORACLE RAC工作原理 在一個應用環境當中,所有的伺服器使用和管理同一個資料庫,目的是為了分散每一台伺服器的工作量,硬體上至少需要兩台以上的伺服器,而且還需要一個共享存儲設備。同時還需要兩類軟體,一個是集群軟體,另外一個就是Oracle資料庫中的RAC組件。同時所有伺服器上的OS都應該是同一類OS,根據負載均衡的配置策略,當一個客戶端發送請求到某一台服務的listener後,這台伺服器根據我們的負載均衡策略,會把請求發送給本機的RAC組件處理也可能會發送給另外一台伺服器的RAC組件處理,處理完請求後,RAC會通過集群軟體來訪問我們的共享存儲設備。 邏輯結構上看,每一個參加集群的節點有一個獨立的instance,這些instance訪問同一個資料庫。節點之間通過集群軟體的通訊層(communication layer)來進行通訊。同時為了減少IO的消耗,存在了一個全局緩存服務,因此每一個資料庫的instance,都保留了一份相同的資料庫cache。 RAC中的特點是:每一個節點的instance都有自己的SGA 每一個節點的instance都有自己的background process 每一個節點的instance都有自己的redo logs 每一個節點的instance都有自己的undo表空間所有節點都共享一份datafiles和controlfiles Oracle還提出了一個緩存融合的技術(Cache fusion) 目的有兩個 1.保證緩存的一致性IXPUB技術博客 2.減少共享磁碟IO的消耗IXPUB技術博客因此在RAC環境中多個節點保留了同一份的DB CACHE 緩存融合(Cache fusion)工作原理: 1.其中一個節點會從共享資料庫中讀取一個block到db cache中 2.這個節點會在所有的節點進行交叉db block 3.當任何一個節點緩存被修改的時候,就會在節點之間進行緩存修改 4.為了達到存儲的一致最終修改的結果也會寫到磁碟上 ClusterWare組件 有四種Service Crsd - 集群資源服務 Cssd - 集群同步服務 Evmd - 事件管理服務 oprocd - 節點檢測監控有三類Resource VIP - 虛擬IP地址(Virtual IP) OCR - Oracle Cluster Registry(集群注冊文件),記錄每個節點的相關信息 Voting Disk - Establishes quorum (表決磁碟),仲裁機制用於仲裁多個節點向共享節點同時寫的行為,這樣做是為了避免發生沖突。 RAC的組件 提供過了額外的進程,用來維護資料庫 LMS - Gobal Cache Service Process 全局緩存服務進程 LMD - Global Enqueue Service Daemon 全局查詢服務守護進程 LMON - Global Enqueue Service Monitor全局查詢服務監視進程 LCK0 - Instance Enqueue Process 實例查詢進程
❽ 哪位能介紹下oracle的RAC、集群、雙機熱備、Dataguard這些東西
1、RAC就是集群,改變了過去一個實例連接資料庫磁陣的處理模式,而是採用多個ORacle實例連接資料庫磁陣,各個ORacle實例進行負載均衡,當某個實例down掉,其他實例像備份一樣,依然在工作,這樣不影響資料庫的使用。不像傳統採用雙機模式,主機宕機,備機接管的模式,這個存在切換時間的問題,而針對集群來說,所有實例都是運行著的,因此不存在切換時間的問題。RAC是oracle的一項收費功能,價格不低喲。如果想用它的話,看看財務有沒有這塊的預算。
2、雙機熱備上面已經講過了「雙機模式」,這兒不再講了。
3、dataguard這個是資料庫容災的一種模式,與前面講的是不同的概念,是指在正常運行的生產環境之外異地運行的資料庫設備(有自己獨立的資料庫磁陣),如果生產環境發生數據變動,通過dataguard將變動的數據操作從生產環境實時同步過來,保證了生產環境和容災環境的數據的一致性,如果生產環境資料庫癱瘓了,容災環境就接管過來。 oracle里類似的容災模塊還有高級復制(物化視圖)、streams和goldgate,後者是收費的。其他的都是免費提供的。
❾ oracle 資料庫集群 怎麼看集群名稱及集群節點的相關信息
$ cd $CRS_HOME/bin
$ ./crs_stat -t 查看RAC各節點所有服務的信息及狀態
$ ./crs_stat |more 由於上面指令顯示的信息看不完整,這里可以顯示各服務的詳細信息
$ ./crs_stat -p |more 不僅有詳細信息,還有對其他服務的依賴關系
❿ oracle資料庫的分布式和tomcat的集群式有什麼區別
分布式是架構部署模式的一種。分布式多用於描述架構設計上,當然現在有各種新用法。
集群是硬體部署模式的一種,是集中部署在一個機房裡的計算機群體的集中稱謂。
分布式網站集群系統是一種多網站架構模式,支持生成獨立網站、多個網站,完成各個網站橫向一體化和縱向一體化網站群的構建,主站、子站、網站間的信息可共享和信息互聯。
簡單的說:就是一個企業/個人可以像申請博客那樣自助建站,維護,更新,而分布式,就是把問題分開解決的意思,即系統分布在幾個不同伺服器上。