您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
05 instagram最新版本2022官方正版(翼景象電腦版怎么下載)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-18 15:46:54【】2人已围观
简介/p>MySQL不支持check約束,可以寫check約束,但存儲引擎會忽略它的作用,因此check約束并不起作用(mariadb支持)18.gpu加速SQLPGSQL可以使用gpu加速SQL的執行速
MySQL
不支持check約束,可以寫check約束,但存儲引擎會忽略它的作用,因此check約束并不起作用(mariadb 支持)
18. gpu 加速SQL
PGSQL
可以使用gpu 加速SQL的執行速度
MySQL
不支持gpu 加速SQL 的執行速度
19. 數據類型
PGSQL
數據類型豐富,如 ltree,hstore,數組類型,ip類型,text類型,有了text類型不再需要varchar,text類型字段最大存儲1GB
MySQL
數據類型不夠豐富
20. 跨庫查詢
PGSQL
不支持跨庫查詢,這個跟Oracle 12C以前一樣
MySQL
可以跨庫查詢
21. 備份還原
PGSQL
備份還原非常簡單,時點還原操作比SQL Server還要簡單,完整備份+wal歸檔備份(增量)
假如有一個三節點的PGSQL主從集群,可以隨便在其中一個節點做完整備份和wal歸檔備份
MySQL
備份還原相對不太簡單,完整備份+binlog備份(增量)
完整備份需要per買粉絲na的XtraBackup工具做物理備份,MySQL本身不支持物理備份
時點還原操作步驟繁瑣復雜
22. 性能視圖
PGSQL
需要安裝pg_stat_statements插件,pg_stat_statements插件提供了豐富的性能視圖:如:等待事件,系統統計信息等
不好的地方是,安裝插件需要重啟數據庫,并且需要收集性能信息的數據庫需要執行一個命令:create extension pg_stat_statements命令
否則不會收集任何性能信息,比較麻煩
MySQL
自帶PS庫,默認很多功能沒有打開,而且打開PS庫的性能視圖功能對性能有影響(如:內存占用導致OOM bug)
23. 安裝方式
PGSQL
有各個平臺的包rpm包,deb包等等,相比MySQL缺少了二進制包,一般用源碼編譯安裝,安裝時間會長一些,執行命令多一些
MySQL
有各個平臺的包rpm包,deb包等等,源碼編譯安裝、二進制包安裝,一般用二進制包安裝,方便快捷
24. DDL操作
PGSQL
加字段、可變長字段類型長度改大不會鎖表,所有的DDL操作都不需要借助第三方工具,并且跟商業數據庫一樣,DDL操作可以回滾,保證事務一致性
MySQL
由于大部分DDL操作都會鎖表,例如加字段、可變長字段類型長度改大,所以需要借助per買粉絲na-toolkit里面的pt-online-schema-change工具去完成操作
將影響減少到最低,特別是對大表進行DDL操作
DDL操作不能回滾
25. 大版本發布速度
PGSQL
PGSQL每年一個大版本發布,大版本發布的第二年就可以上生產環境,版本迭代速度很快
PGSQL 9.6正式版推出時間:2016年
PGSQL 10 正式版推出時間:2017年
PGSQL 11 正式版推出時間:2018年
PGSQL 12 正式版推出時間:2019年
MySQL
MySQL的大版本發布一般是2年~3年,一般大版本發布后的第二年才可以上生產環境,避免有坑,版本發布速度比較慢
MySQL5.5正式版推出時間:2010年
MySQL5.6正式版推出時間:2013年
MySQL5.7正式版推出時間:2015年
MySQL8.0正式版推出時間:2018年
26. returning語法
PGSQL
支持returning語法,returning clause 支持 DML 返回 Resultset,減少一次 Client <-> DB Server 交互
MySQL
不支持returning語法
27. 內部架構
PGSQL
多進程架構,并發連接數不能太多,跟Oracle一樣,既然跟Oracle一樣,那么很多優化方法也是相通的,例如:開啟大頁內存
MySQL
多線程架構,雖然多線程架構,但是官方有限制連接數,原因是系統的并發度是有限的,線程數太多,反而系統的處理能力下降,隨著連接數上升,反而性能下降
一般同時只能處理200 ~300個數據庫連接
28. 聚集索引
PGSQL
不支持聚集索引,PGSQL本身的MVCC的實現機制所導致
MySQL
支持聚集索引
29. 空閑事務終結功能
PGSQL
通過設置 idle_in_transaction_session_timeout 參數來終止空閑事務,比如:應用代碼中忘記關閉已開啟的事務,PGSQL會自動查殺這種類型的會話事務
MySQL
不支持終止空閑事務功能
30. 應付超大數據量
PGSQL
不能應付超大數據量,由于PGSQL本身的MVCC設計問題,需要垃圾回收,只能期待后面的大版本做優化
MySQL
不能應付超大數據量,MySQL自身架構的問題
31. 分布式演進
PGSQL
HTAP數據庫:買粉絲ckroachDB、騰訊Tbase
分片集群: Postgres-XC、Postgres-XL
MySQL
HTAP數據庫:TiDB
分片集群: 各種各樣的中間件,不一一列舉
32. 數據庫的文件名和命名規律
PGSQL
PGSQL在這方面做的比較不好,DBA不能在操作系統層面(停庫狀態下)看清楚數據庫的文件名和命名規律,文件的數量,文件的大小
一旦操作系統發生文件丟失或硬盤損壞,非常不利于恢復,因為連名字都不知道
PGSQL表數據物理文件的命名/存放規律是: 在一個表空間下面,如果沒有建表空間默認在默認表空間也就是base文件夾下,例如:/data/base/16454/3599
base:默認表空間pg_default所在的物理文件夾
16454:表所在數據庫的oid
3599:就是表對象的oid,當然,一個表的大小超出1GB之后會再生成多個物理文件,還有表的fsm文件和vm文件,所以一個大表實際會有多個物理文件
由于PGSQL的數據文件布局內容太多,大家可以查閱相關資料
當然這也不能全怪PGSQL,作為一個DBA,時刻做好數據庫備份和容災才是正道,做介質恢復一般是萬不得已的情況下才會做
MySQL
數據庫名就是文件夾名,數據庫文件夾下就是表數據文件,但是要注意表名和數據庫名不能有特殊字符或使用中文名,每個表都有對應的frm文件和ibd文件,存儲元數據和表/索引數據,清晰明了,做介質恢復或者表空間傳輸都很方便
33. 權限設計
PGSQL
PGSQL在權限設計這塊是比較坑爹,拋開實例權限和表空間權限,PGSQL的權限層次有點像SQL Server,db=》schema=》object
要說權限,這里要說一下Oracle,用Oracle來類比
在ORACLE 12C之前,實例與數據庫是一對一,也就是說一個實例只能有一個數據庫,不像MySQL和SQL Server一個實例可以有多個數據庫,并且可以隨意跨庫查詢
而PGSQL不能跨庫查詢的原因也是這樣,PGSQL允許建多個數據庫,跟ORACLE類比就是有多個實例(之前說的實例與數據庫是一對一)
一個數據庫相當于一個實例,因為PGSQL允許有多個實例,所以PGSQL單實例不叫一個實例,叫集簇(cluster),集簇這個概念可以查閱PGSQL的相關資料
PGSQL里面一個實例/數據庫下面的schema相當于數據庫,所以這個schema的概念對應MySQL的database
注意點:正因為是一個數據庫相當于一個實例,PGSQL允許有多個實例/數據庫,所以數據庫之間是互相邏輯隔離的,導致的問題是,不能一次對一個PGSQL集簇下面的所有數據庫做操作
必須要逐個逐個數據庫去操作,例如上面說到的安裝pg_stat_statements插件,如果您需要在PGSQL集簇下面的所有數據庫都做性能收集的話,需要逐個數據庫去執行加載命令
又例如跨庫查詢需要dblink插件或fdw插件,兩個數據庫之間做查詢相當于兩個實例之間做查詢,已經跨越了實例了,所以需要dblink插件或fdw插件,所以道理非常簡單
權限操作也是一樣逐個數據庫去操作,還有一個就是PGSQL雖然像SQL Server的權限層次結構db=》schema=》object,但是實際會比SQL Server要復雜一些,還有就是新建的表還要另外授權
在PGSQL里面,角色和用戶是一樣的,對新手用戶來說有時候會傻傻分不清,也不知道怎么去用角色,所以PGSQL在權限設計這一塊確實比較坑爹
MySQL
使用mysql庫下面的5個權限表去做權限映射,簡單清晰,唯一問題是缺少權限角色
user表
db表
host表
tables_priv表
買粉絲lumns_priv表
1. 架構對比
Mysql:多線程
PostgreSql:多進程
多線程架構和多進程架構之間沒有絕對的好壞,例如oracle在unix上是多進程架構,在windows上是多線程架構。
2. 對存儲過程及事務的支持能力
MySql對于無事務的MyISAM表,采用表鎖定,一個長時間運行的查詢很可能會長時間的阻礙,而PostgreSQL不會尊在這種問題。
PostgreSQL支持存儲過程,要比MySql好,具備本地緩存執行計劃的能力。
3. 穩定性及性能
高并發讀寫,負載逼近極限下,PG的性能指標仍可以維持雙曲線甚至對數曲線,到頂峰之后不再下降,而 MySql 明顯出現一個波峰后下滑(5.5版本后Mysql企業版有優化,需要付費)
MySql的InnoDB引擎,可以充分優化利用系統的所有內存,超大內存下PG對內存使用的不那么充分(需要根據內存情況合理分配)。
4. 高可用
InnoDB的基于回滾實現的 MVCC 機制,對于 PG 新老數據一起放的基于 XID 的 MVCC機制,是占優的。新老數據一起存放,需要定時觸發 VACUUM,會帶來多余的 IO 和數據庫對象加鎖開銷,引起數據庫整理的并發能力下降。而且 VACUUM 清理不及時,還可能會引發數據膨脹
5.
很赞哦!(9)
相关文章
- 01 買粉絲推文海報尺寸(買粉絲買粉絲封面大圖尺寸是多少?)
- 01 買粉絲推文怎么添加小程序(如何讓買粉絲買粉絲為小程序引流?)
- youtube 轉 MP3(怎么把視頻里的音樂提取成mp3)
- 01 買粉絲推文大綱怎么寫(買粉絲買粉絲推文怎么寫?)
- 01 買粉絲推文怎么做詳細教程(如何制作一篇買粉絲買粉絲推文?)
- youtube 無料 ダウンロード 安全模式啟動(Youtube 如何關閉 / 開啟安全模式)
- 01 買粉絲推文已經發出來可以修改嗎(買粉絲買粉絲文章發布后如何修改?)
- 01 買粉絲推文模板網站免費(買粉絲買粉絲文章編輯器哪個好用?)
- 01 買粉絲推文制作app有哪些(買粉絲推文用什么軟件做)
- 01 買粉絲推文怎么修改照片(買粉絲買粉絲文章發布后如何修改?)