天天看點

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

阿裡雲RDS PG,曆經數月基于ECS和雲盤重新建構,功能大改版。推出改版後的10,11 ECS+雲盤多可用區高可用版。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

存儲巨變,2.5萬iops提升到100萬iops,2TB提升到32TB。

1、支援ESSD,最大可達100萬IOPS,32TB容量,同時機關價格不變。

2、同時存儲空間與計算規格完全解綁,你想怎麼搭配就怎麼搭配,4核規格也可以買32TB容量。

更加安全

1、支援存儲雲盤加密功能。提高了資料存儲安全性。

2、支援SSL鍊路,提高了資料傳輸安全性。

3、支援更多風控點,有風險的操作都需要短信确認。提高了操作安全性。

可靠性、可用性,使用者說了算

支援了三種資料保護模式(最大保護,最高可用,最高性能)。使用者可以更加業務在資料的可靠性、可用性之間進行權衡,選擇對應的模式。可以不停業務在各個模式自建切換。

版本管理更貼心

支援了任意小版本管理。

詳細說明

1 主可用區可定義

支援主可用區選擇,業務與資料庫放在同一可用區,確定網絡延遲最低。

執行個體發生切換後,如果與購買時選擇的主可用區不一緻,會發出告警,同時使用者可以切回主可用區。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

2 支援PG 10 11兩個版本

目前隻支援10,11。未來會快速的支援新版本,例如12。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

3 支援SSD和ESSD雙存儲,存儲與規格解綁

支援ESSD存儲,最高可達100萬IOPS。

普通雲盤最大6TB,ESSD最大32TB。

同時存儲空間和執行個體規格完全解綁,4核也能賣32T的空間了。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

4 資料存儲更安全,支援雲盤加密,支援BYOK

資料盤支援了全盤存儲,加密KEY可以由使用者提供,也可以由KMS服務生成。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

使用方法:

1、選中可用區(香港),建立加密KEY。發稿截止時間,暫時隻有香港REGION支援KMS加密。

https://kms.console.aliyun.com/cn-hongkong/key/list
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

可以建立KEY的别名例如rds_pg_key1,千萬不要把加密RDS PG的KEY删掉,否則會導緻RDS PG的資料無法解密,無法使用。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

2、授權PostgreSQL請求擷取通路您雲資源的權限

https://ram.console.aliyun.com/#/role/authorize?request=%7B%22Requests%22%3A%20%7B%22request1%22%3A%20%7B%22RoleName%22%3A%20%22AliyunPostgreSQLInstanceEncryptionRole%22%2C%20%22TemplateId%22%3A%20%22PostgreSQLInstanceEncryptionRole%22%7D%7D%2C%20%22ReturnUrl%22%3A%20%22https%3A//postgresql.console.aliyun.com%22%2C%20%22Service%22%3A%20%22PostgreSQL%22%7D
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

PostgreSQL請求擷取通路您雲資源的權限

下方是系統建立的可供PostgreSQL使用的角色,授權後,PostgreSQL擁有對您雲資源相應的通路權限。

AliyunPostgreSQLInstanceEncryptionRole

描述: PostgreSQL預設使用此角色來通路KMS

權限描述: 用于 PostgreSQL 服務執行個體加密角色的授權政策

3、确認已授權 AliyunPostgreSQLInstanceEncryptionRole

https://ram.console.aliyun.com/roles
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

完成以上3步之後,就可以在購買執行個體時使用雲盤加密。

支援隻讀鎖定功能

例如,使用者要做割接,遷移,或者要做一些維護任務時。想把資料庫置為隻讀,避免有資料寫入。

将執行個體設定為隻讀,可以確定不會有資料寫入執行個體。同時還能繼續為隻讀的業務提供服務。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

5 支援任意小版本管理

隻要是打包了的小版本,都可以更新、可以回退小版本。

例如有一些業務可能會限定小版本,有了版本管理的功能,再也不用擔心回不到以前的版本了。

6 支援資料可靠性、可用性級别配置(保護模式配置)

RDS PG核心支援了自動降級和自動更新功能。

使用者可選三種資料保護模式:

1、最大保護,主從複制采用全同步模式,確定主從切換時,資料0丢失(RPO=0)

2、最高可用,從庫正常的情況下,采用同步複制模式。從庫異常時,自動降級為異步模式,保證可用性。

這種模式確定盡可能的資料0丢失,降級後則與異步模式一樣,主從切換如果發生在異步模式時,最多丢失60S。主從切換如果發生在同步模式時,資料0丢失。

3、最高性能,主從采用異步模式同步資料,主從切換如果發生在異步模式時,最多丢失60S。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

使用者可以根據業務對資料庫的實際需求選擇幾種模式。

7 健壯的架構

1、保證SLB的主節點與使用者選擇的主可用區一緻,確定使用者到SLB再到資料庫主節點的網絡鍊路最優。

2、雲盤與執行個體主可用區一緻,確定IO鍊路的延遲最低。

3、雲盤快照備份,保證了備份的高效率。支援增量備份,最大可以支援32TB資料。

4、備份資料最終會上傳到OSS叢集,OSS叢集與存儲叢集完全獨立,確定了備份資料的備援性,提供備份的可靠性。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

8 SSL資料鍊路與存儲加密 , 安全雙管齊下

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

9 豐富的監控名額

tps

操作行數

連接配接

膨脹點

慢查詢

長事務

2PC

空間使用

主從延遲,SLOT延遲

資料盤IOPS

資料盤吞吐

資料盤 空間、INODE 使用率

CPU

網絡

記憶體

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

10 告警預設名額更加豐富有效

CPU使用率

inode使用率

iops使用率

平均活躍連接配接

磁盤使用率

連接配接使用率

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

11 備份更高效、省成本

由于使用了存儲快照備份,是以

1、更快

2、更省空間(塊級增量備份)

3、恢複更快

4、克隆更友善

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

12 克隆時可以更換可用區、更新磁盤類型(ssd、essd)

如果一開始使用的是SSD,想更換到ESSD,克隆時可以更換。

克隆時,還可以更換可用區、規格等資訊。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

13 使用者可自定義參數更加安全

雖然RDS PG 11的預設參數更加合理,但是為了滿足使用者定制化的需求,依舊會開放一些參數的設定。

篩選了使用者最常見的自定義參數,同時對參數的可設定範圍進行了安全限定,大幅度降低使用者因為參數設定有誤導緻的問題。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明
阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

可以連到資料庫擷取目前參數資訊:

postgres=> select name,setting,unit from pg_settings where source <>'default';
                 name                 |                                  setting                                   | unit 
--------------------------------------+----------------------------------------------------------------------------+------
 application_name                     | psql                                                                       | 
 archive_command                      |                                                                            | 
 archive_mode                         | on                                                                         | 
 archive_timeout                      | 300                                                                        | s
 auth_delay.milliseconds              | 3000                                                                       | ms
 auto_explain.log_analyze             | off                                                                        | 
 auto_explain.log_buffers             | off                                                                        | 
 auto_explain.log_format              | text                                                                       | 
 auto_explain.log_min_duration        | -1                                                                         | ms
 auto_explain.log_nested_statements   | off                                                                        | 
 auto_explain.log_timing              | on                                                                         | 
 auto_explain.log_triggers            | off                                                                        | 
 auto_explain.log_verbose             | off                                                                        | 
 auto_explain.sample_rate             | 1                                                                          | 
 autovacuum                           | on                                                                         | 
 autovacuum_analyze_scale_factor      | 0.05                                                                       | 
 autovacuum_freeze_max_age            | 1200000000                                                                 | 
 autovacuum_max_workers               | 5                                                                          | 
 autovacuum_multixact_freeze_max_age  | 1400000000                                                                 | 
 autovacuum_vacuum_cost_delay         | 0                                                                          | ms
 autovacuum_vacuum_cost_limit         | 10000                                                                      | 
 autovacuum_vacuum_scale_factor       | 0.02                                                                       | 
 autovacuum_work_mem                  | 418816                                                                     | kB
 bgwriter_delay                       | 10                                                                         | ms
 bgwriter_lru_maxpages                | 1000                                                                       | 
 bgwriter_lru_multiplier              | 10                                                                         | 
 checkpoint_completion_target         | 0.4                                                                        | 
 checkpoint_timeout                   | 1500                                                                       | s
 client_encoding                      | UTF8                                                                       | 
 config_file                          | /u01/pg5432/data/postgresql.conf                                           | 
 data_checksums                       | on                                                                         | 
 data_directory                       | /u01/pg5432/data                                                           | 
 deadlock_timeout                     | 1000                                                                       | ms
 default_transaction_deferrable       | off                                                                        | 
 effective_cache_size                 | 1572864                                                                    | 8kB
 effective_io_concurrency             | 0                                                                          | 
 enable_partitionwise_aggregate       | on                                                                         | 
 enable_partitionwise_join            | on                                                                         | 
 extra_float_digits                   | 0                                                                          | 
 hba_file                             | /u01/pg5432/data/pg_hba.conf                                               | 
 hot_standby                          | on                                                                         | 
 hot_standby_feedback                 | off                                                                        | 
 huge_pages                           | off                                                                        | 
 ident_file                           | /u01/pg5432/data/pg_ident.conf                                             | 
 idle_in_transaction_session_timeout  | 3600000                                                                    | ms
 jit                                  | off                                                                        | 
 jit_provider                         | llvmjit                                                                    | 
 lc_collate                           | C                                                                          | 
 lc_ctype                             | en_US.utf8                                                                 | 
 listen_addresses                     | *                                                                          | 
 lock_timeout                         | 0                                                                          | ms
 log_autovacuum_min_duration          | 0                                                                          | ms
 log_checkpoints                      | on                                                                         | 
 log_connections                      | off                                                                        | 
 log_destination                      | csvlog                                                                     | 
 log_disconnections                   | off                                                                        | 
 log_duration                         | off                                                                        | 
 log_error_verbosity                  | verbose                                                                    | 
 log_filename                         | postgresql-%Y-%m-%d_%H%M%S.log                                             | 
 log_lock_waits                       | on                                                                         | 
 log_min_duration_statement           | 5000                                                                       | ms
 log_rotation_age                     | 0                                                                          | min
 log_rotation_size                    | 102400                                                                     | kB
 log_statement                        | ddl                                                                        | 
 log_temp_files                       | 131072                                                                     | kB
 log_timezone                         | UTC                                                                        | 
 log_truncate_on_rotation             | on                                                                         | 
 logging_collector                    | on                                                                         | 
 maintenance_work_mem                 | 1048576                                                                    | kB
 max_connections                      | 500                                                                        | 
 max_logical_replication_workers      | 56                                                                         | 
 max_parallel_maintenance_workers     | 2                                                                          | 
 max_parallel_workers                 | 2                                                                          | 
 max_parallel_workers_per_gather      | 2                                                                          | 
 max_prepared_transactions            | 500                                                                        | 
 max_replication_slots                | 56                                                                         | 
 max_stack_depth                      | 2048                                                                       | kB
 max_standby_archive_delay            | 300000                                                                     | ms
 max_standby_streaming_delay          | 300000                                                                     | ms
 max_sync_workers_per_subscription    | 2                                                                          | 
 max_wal_senders                      | 64                                                                         | 
 max_wal_size                         | 16384                                                                      | MB
 max_worker_processes                 | 256                                                                        | 
 min_wal_size                         | 2048                                                                       | MB
 old_snapshot_threshold               | -1                                                                         | min
 pg_pathman.enable                    | on                                                                         | 
 pg_pathman.enable_auto_partition     | on                                                                         | 
 pg_pathman.enable_bounds_cache       | on                                                                         | 
 pg_pathman.enable_partitionfilter    | on                                                                         | 
 pg_pathman.enable_partitionrouter    | off                                                                        | 
 pg_pathman.enable_runtimeappend      | on                                                                         | 
 pg_pathman.enable_runtimemergeappend | on                                                                         | 
 pg_pathman.insert_into_fdw           | postgres                                                                   | 
 pg_pathman.override_copy             | on                                                                         | 
 pg_stat_statements.max               | 5000                                                                       | 
 pg_stat_statements.save              | off                                                                        | 
 pg_stat_statements.track             | top                                                                        | 
 pg_stat_statements.track_utility     | off                                                                        | 
 port                                 | 5432                                                                       | 
 random_page_cost                     | 1.1                                                                        | 
 rds_sync_replication_timeout         | 0                                                                          | ms
 server_encoding                      | UTF8                                                                       | 
 shared_buffers                       | 524288                                                                     | 8kB
 shared_preload_libraries             | pg_stat_statements,auth_delay,auto_explain,zhparser,timescaledb,pg_pathman | 
 ssl                                  | off                                                                        | 
 ssl_cert_file                        | server.crt                                                                 | 
 ssl_key_file                         | server.key                                                                 | 
 statement_timeout                    | 0                                                                          | ms
 superuser_reserved_connections       | 100                                                                        | 
 synchronous_commit                   | off                                                                        | 
 synchronous_standby_names            | standby1                                                                   | 
 tcp_keepalives_count                 | 10                                                                         | 
 tcp_keepalives_idle                  | 45                                                                         | s
 tcp_keepalives_interval              | 10                                                                         | s
 temp_file_limit                      | 16777216                                                                   | kB
 track_activity_query_size            | 1024                                                                       | B
 track_commit_timestamp               | off                                                                        | 
 track_functions                      | pl                                                                         | 
 track_io_timing                      | on                                                                         | 
 transaction_deferrable               | off                                                                        | 
 transaction_isolation                | read committed                                                             | 
 transaction_read_only                | off                                                                        | 
 unix_socket_directories              | .                                                                          | 
 unix_socket_permissions              | 0700                                                                       | 
 vacuum_cost_delay                    | 0                                                                          | ms
 vacuum_cost_limit                    | 10000                                                                      | 
 vacuum_defer_cleanup_age             | 0                                                                          | 
 vacuum_freeze_table_age              | 200000000                                                                  | 
 vacuum_multixact_freeze_table_age    | 200000000                                                                  | 
 wal_buffers                          | 2048                                                                       | 8kB
 wal_compression                      | on                                                                         | 
 wal_keep_segments                    | 0                                                                          | 
 wal_level                            | replica                                                                    | 
 wal_receiver_status_interval         | 1                                                                          | s
 wal_receiver_timeout                 | 30000                                                                      | ms
 wal_segment_size                     | 16777216                                                                   | B
 wal_writer_delay                     | 10                                                                         | ms
 work_mem                             | 4096                                                                       | kB
 zhparser.dict_in_memory              | off                                                                        | 
 zhparser.dicts_type                  | EXTRA                                                                      | 
 zhparser.extra_dicts                 | dict_extra.xdb                                                             | 
 zhparser.multi_duality               | off                                                                        | 
 zhparser.multi_short                 | off                                                                        | 
 zhparser.multi_zall                  | off                                                                        | 
 zhparser.multi_zmain                 | off                                                                        | 
 zhparser.punctuation_ignore          | off                                                                        | 
 zhparser.seg_with_duality            | off                                                                        | 
(147 rows)           

14 增加了更多的風控點

控制台操作和API操作,和使用者操作資料庫一樣,都有可能出現誤操作,為了盡可能降低使用者誤操作帶來的損失,我們增加了一些風控點。

在風控點的操作,都必須短信驗證才能繼續。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

15 賬号和資料庫管理更加的人性化

1、允許在控制台建立任意個超級或普通賬号。

2、允許在控制台鎖定賬号,例如因為員工離職,或者某些情況下要鎖定賬号而不是删除賬号的功能。鎖定的賬号,賬号OWN的對象還在,經過SQL授權可以繼續被其他賬号通路。

3、允許在控制台删除賬号。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

4、允許在控制台建立資料庫,可以指定資料庫的encodding, lc等資訊。

阿裡雲RDS PG 11,因你而來,值得擁有詳細說明

16 支援豐富的插件

支援了非常豐富的插件,例如:

1、cube,用于多元向量分析,相似圖像、相似向量特征值快速搜尋。

2、rum,用于進階的全文檢索、數組、文本搜尋等。

3、dblink,跨庫,跨執行個體(網絡環境互通後支援)的通路。

4、tablefunc,行列變換。

5、timescaledb,時序資料高性能處理。

6、zhparser中文分詞。

7、pg_pathman,高性能分區表插件。(PG 12版本開始,内置分區性能也很高。)

8、orafce,相容ORACLE的包。

9、varbitx,使用者畫像插件。

10、postgis,最流行的GIS開源插件。

11、ganos,阿裡自研,相容POSTGIS,同時相比POSTGIS做了大量的功能和性能優化,目前免費使用,特别是在MOD領域,相比開源性能提升50倍以上。

postgres=> show rds_supported_extensions;
      rds_supported_extensions      
------------------------------------
 plpgsql                           +
 pg_stat_statements                +
 btree_gin                         +
 btree_gist                        +
 citext                            +
 cube                              +
 rum                               +
 dblink                            +
 dict_int                          +
 earthdistance                     +
 hstore                            +
 intagg                            +
 intarray                          +
 isn                               +
 ltree                             +
 pgcrypto                          +
 pgrowlocks                        +
 pg_prewarm                        +
 pg_trgm                           +
 postgres_fdw                      +
 sslinfo                           +
 tablefunc                         +
 timescaledb                       +
 unaccent                          +
 fuzzystrmatch                     +
 pgstattuple                       +
 pg_buffercache                    +
 zhparser                          +
 pg_pathman                        +
 plperl                            +
 pltcl                             +
 "uuid-ossp"                       +
 orafce                            +
 pg_concurrency_control            +
 varbitx                           +
 postgis                           +
 postgis_sfcgal                    +
 postgis_topology                  +
 postgis_tiger_geocoder           +
 address_standardizer              +
 address_standardizer_data_us      +
 ogr_fdw                           +
 ganos_geometry_sfcgal            +
 ganos_geometry_topology           +
 ganos_geometry                    +
 ganos_networking                  +
 ganos_pointcloud_geometry         +
 ganos_pointcloud                  +
 ganos_raster                      +
 ganos_spatialref                  +
 ganos_trajectory                  +
 ganos_tiger_geocoder              +
 ganos_address_standardizer        +
 ganos_address_standardizer_data_us
(1 row)

postgres=> show shared_preload_libraries ;
                          shared_preload_libraries                          
----------------------------------------------------------------------------
 pg_stat_statements,auth_delay,auto_explain,zhparser,timescaledb,pg_pathman
(1 row)           

有一些使用者抱怨RDS PG的日志不友好,我們會在RDS PG上支援性能洞察,另外近期會推出log_fdw的插件,使用者可以使用LOG_FDW将原始的CSV LOG取走。

Just do it

将來會基于這個架構繼續演進,支援更多使用者需要的功能。快速的疊代新的版本。支援更多的插件。支援更多的網絡特性(例如可通過FDW,EXTENSION等對接雲端其他産品)。等等,總之一切為了更好的為使用者服務。

購買連結如下:

https://postgresql.console.aliyun.com/cn-shanghai/instance

現已支援中國大陸、香港 region。其他region上線中。

繼續閱讀