您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
05 正版instagram官方版2022(pgsql的主鍵存儲方式)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-14 13:47:09【】1人已围观
简介9.數據類型PGSQL數據類型豐富,如ltree,hstore,數組類型,ip類型,text類型,有了text類型不再需要varchar,text類型字段最大存儲1GBMySQL數據類型不夠豐富20.
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. 數據同步方式:
Mysql到現在也是異步復制,pgsql可以做到同步、異步、半同步復制。
Mysql同步是基于binlog復制,屬于邏輯復制,類似于oracle golden gate,是基于stream的復制,做到同步很困難,這種方式更加適合異步復制;
Pgsql的同是基于wal,屬于物理復制,可以做到同步復制。同時,pgsql還提供
很赞哦!(9)
相关文章
- youtube app android downloaded bytes(winbox中的uploaded bytes是什么意思?還有downloaded bytes是什么意思)
- 01 上海世外小學全國排名(上海世外教育集團有哪些學校)
- youtube 4K Downloader(4kvideodownloader閃退)
- youtube app apk android studio安裝(Netfile for tv哪個版本)
- 01 上海世外的學費多少啊(海口上海世外中學學費)
- 01 上海世外附屬海口學校高中招生電話(上海世外附屬海口學校的入學條件是什么?)
- 01 上海世外教育附屬吳興小學是公辦的嗎(湖州上海世外教育附屬小學是公辦嗎)
- youtube 80 r&b hits(youtobe怎么設置成人模式)
- youtube app apk for windows官網下載win10(win10用MicrosoftEdge瀏覽器瀏覽YouTube速度很慢怎么辦)
- youtube app android apkpure鏡像(Netfile for tv哪個版本)
热门文章
站长推荐
youtube add videos to playlist(請懂西班牙語的翻譯下(要是再懂足球就更好了……))
01 上海世外附屬嘉興秀湖學校電話(嘉興上海世外教育附屬學校學費貴嗎)
01 上海世外附屬海口幼兒園官網(上海世外教育附屬海口幼兒園工資)
youtube 80's pop hits(求類似WE WILL ROCK YOU 的英文歌曲)
01 上海世外教育附屬云翔小學 上海市嘉定區(上海各區新增國際學校簡介)
01 上海世外國際學校高中部怎么樣(溫州上海世外國際學校收費)
01 上海世外附屬海口學校幼兒園校車路線圖(上海世外附屬海口學校地址)
youtube app apk for windows(我啥我在手機上下載游戲玩的時候說此應用程序沒有授權在你的ANDROID設備上使用)