自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用地理分區(qū)來(lái)遵守?cái)?shù)據(jù)法規(guī)并在全球范圍內(nèi)提供低延遲

譯文
數(shù)據(jù)庫(kù) SQL Server
通過(guò)閱讀地理分區(qū)指南,可以了解如何部署YugabyteDB托管數(shù)據(jù)庫(kù)集群,并優(yōu)化跨區(qū)域的數(shù)據(jù)分布。

譯者 | 李睿

審校 | 重樓

在當(dāng)今互聯(lián)互通的世界中,用戶可以跨越多個(gè)大洲和國(guó)家使用應(yīng)用程序。在處理數(shù)據(jù)監(jiān)管要求的同時(shí),在遙遠(yuǎn)的地理位置保持低延遲可能是一個(gè)挑戰(zhàn)。分布式SQL數(shù)據(jù)庫(kù)的地理分區(qū)功能可以通過(guò)將用戶數(shù)據(jù)固定到所需的位置來(lái)幫助解決這一挑戰(zhàn)。

因此,以下探討如何使用YugabyteDB Managed部署符合數(shù)據(jù)規(guī)則并跨多個(gè)區(qū)域提供低延遲的地理分區(qū)數(shù)據(jù)庫(kù)集群。

使用YugabyteDB Managed部署地理分區(qū)集群

YugabyteDB是一個(gè)基于PostgreSQL的開源分布式SQL數(shù)據(jù)庫(kù)。用戶可以使用YugabyteDB Managed (YugabyteDB的DBaaS版本)在幾分鐘內(nèi)部署地理分區(qū)集群。

開始使用地理分區(qū)的YugabyteDB托管集群很容易。只需遵循以下步驟:

1.選擇“多區(qū)域部署”選項(xiàng)。在創(chuàng)建專用YugabyteDB Managed集群時(shí),選擇“多區(qū)域”選項(xiàng),以確保數(shù)據(jù)分布在多個(gè)區(qū)域。

2.將數(shù)據(jù)分布模式設(shè)置為“分區(qū)”。選擇“按區(qū)域劃分”數(shù)據(jù)分發(fā)選項(xiàng),以便用戶可以將數(shù)據(jù)固定到特定的地理位置。

3.選擇目標(biāo)云區(qū)域。將數(shù)據(jù)庫(kù)節(jié)點(diǎn)放置在用戶選擇的云區(qū)域中。在這篇博客文章中,將數(shù)據(jù)分散到兩個(gè)區(qū)域——南卡羅來(lái)納州(美國(guó)東部)和法蘭克福(歐洲西部)。

一旦設(shè)置了地理分區(qū)的YugabyteDB Managed集群,就可以連接到它并創(chuàng)建帶有分區(qū)數(shù)據(jù)的表。

創(chuàng)建地理分區(qū)表

為了演示地理分區(qū)如何改善延遲和數(shù)據(jù)法規(guī)的合規(guī)性,以一個(gè)帳號(hào)表為例。

首先,創(chuàng)建PostgreSQL表空間,讓用戶可以將數(shù)據(jù)固定在USA (usa_tablespace)Europe (europe_tablespace)的YugabyteDB節(jié)點(diǎn)上。

SQL 
 CREATE TABLESPACE usa_tablespace WITH (
 replica_placement = '{"num_replicas": 3, "placement_blocks":
  [
  {"cloud":"gcp","region":"us-east1","zone":"us-east1-c","min_num_replicas":1},
  {"cloud":"gcp","region":"us-east1","zone":"us-east1-d","min_num_replicas":1},
  {"cloud":"gcp","region":"us-east1","zone":"us-east1-b","min_num_replicas":1}
 ]}'
 );

 CREATE TABLESPACE europe_tablespace WITH (
 replica_placement = '{"num_replicas": 3, "placement_blocks":
  [
 {"cloud":"gcp","region":"europe-west3","zone":"europe-west3-a","min_num_replicas":1},
 {"cloud":"gcp","region":"europe-west3","zone":"europe-west3-b","min_num_replicas":1},
 {"cloud":"gcp","region":"europe-west3","zone":"europe-west3-c","min_num_replicas":1}
 ]}'
 );
  • num_replicas: 3——每個(gè)表空間要求用戶在一個(gè)區(qū)域內(nèi)的三個(gè)可用性區(qū)域中存儲(chǔ)數(shù)據(jù)副本。這使用戶能夠容忍云中的區(qū)域級(jí)中斷。

其次,創(chuàng)建帳號(hào)表并按country_code列對(duì)其進(jìn)行分區(qū):

SQL 
 CREATE TABLE Account (
 id integer NOT NULL,
 full_name text NOT NULL,
 email text NOT NULL,
 phone text NOT NULL,
 country_code varchar(3)
 )
 PARTITION BY LIST (country_code);

第三,為美國(guó)和歐洲記錄定義分區(qū)表

SQL 
 CREATE TABLE Account_USA PARTITION 
 OF Account (id, full_name, email, phone, country_code, 
 PRIMARY KEY (id, country_code))
 FOR VALUES IN ('USA') TABLESPACE usa_tablespace;

 CREATE TABLE Account_EU PARTITION 
 OF Account (id, full_name, email, phone, country_code, 
 PRIMARY KEY (id, country_code))
 FOR VALUES IN ('EU') TABLESPACE europe_tablespace;
  • FOR VALUES IN ('USA')——如果country_code等于‘USA',則自動(dòng)從存儲(chǔ)在usa_tablespace(南卡羅來(lái)納州的區(qū)域)中的Account_USA分區(qū)中放置或查詢?cè)撚涗洝?/span>
  • FOR VALUES IN ('EU') ——否則,如果記錄屬于歐洲(country_code等于‘EU’),那么它將存儲(chǔ)在europe_tablespace(法蘭克福地區(qū))的Account_EU分區(qū)中。

現(xiàn)在檢查一下用戶從美國(guó)連接時(shí)的讀寫延遲。

從美國(guó)連接時(shí)的延遲

打開一個(gè)從愛荷華州(us-central1)到位于南卡羅來(lái)納州(us-east1)的數(shù)據(jù)庫(kù)節(jié)點(diǎn)的客戶端連接,并插入一條新的帳戶記錄:

SQL 
 INSERT INTO Account (id, full_name, email, phone, country_code) 
 VALUES (1, 'John Smith', 'john@gmail.com', '650-346-1234', 'USA');

只要country_code為“USA”,記錄就會(huì)存儲(chǔ)在來(lái)自南卡羅來(lái)納州的數(shù)據(jù)庫(kù)節(jié)點(diǎn)上。寫入和讀取延遲大約為30毫秒,因?yàn)榭蛻舳苏?qǐng)求需要在衣阿華州和南卡羅來(lái)納州之間傳輸。

接下來(lái),看看當(dāng)添加和查詢country_code設(shè)置為‘EU’的帳戶時(shí)會(huì)發(fā)生什么:

SQL 
 INSERT INTO Account (id, full_name, email, phone, country_code) 
 VALUES (2, 'Emma Schmidt', 'emma@gmail.com', '49-346-23-1234', 'EU'); 

 SELECT * FROM Account WHERE id=2 and country_code='EU';

由于這一帳戶必須存儲(chǔ)在歐洲數(shù)據(jù)中心中,并且必須在美國(guó)和歐洲之間傳輸,因此增加了延遲。

  • INSERT的延遲(230毫秒)高于SELECT的延遲(130毫秒),因?yàn)樵贗NSERT期間,記錄會(huì)在法蘭克福的三個(gè)可用性區(qū)域中復(fù)制。

美國(guó)的客戶端連接和歐洲的數(shù)據(jù)庫(kù)節(jié)點(diǎn)之間的延遲更高,這意味著地理分區(qū)集群使用戶符合數(shù)據(jù)監(jiān)管要求。即使來(lái)自美國(guó)的客戶端連接到基于美國(guó)的數(shù)據(jù)庫(kù)節(jié)點(diǎn)并寫入/讀取來(lái)自歐洲居民的記錄,這些記錄也將始終從歐洲的數(shù)據(jù)庫(kù)節(jié)點(diǎn)存儲(chǔ)/檢索。

從歐洲連接時(shí)的延遲

讓我們看看,如果打開從法蘭克福(europe-west3)到同一區(qū)域的數(shù)據(jù)庫(kù)節(jié)點(diǎn)的客戶端連接,并查詢最近從美國(guó)添加的歐洲記錄,延遲是如何改善的:

這一次延遲低至3毫秒(從美國(guó)查詢同一條記錄時(shí)為130毫秒),因?yàn)樵撚涗洿鎯?chǔ)在歐洲數(shù)據(jù)中心并從歐洲數(shù)據(jù)中心檢索。

只要數(shù)據(jù)不復(fù)制到美國(guó),添加和查詢另一個(gè)歐洲記錄也可以保持低延遲。

SQL 
 INSERT INTO Account (id, full_name, email, phone, country_code) 
 VALUES (3, 'Otto Weber', 'otto@gmail.com', '49-546-33-0034', 'EU');

 SELECT * FROM Account WHERE id=3 and country_code='EU';

當(dāng)訪問(wèn)存儲(chǔ)在同一區(qū)域的數(shù)據(jù)時(shí),延遲顯著降低。其結(jié)果是在遵守?cái)?shù)據(jù)監(jiān)管要求的同時(shí)提供了更好的用戶體驗(yàn)。

結(jié)語(yǔ)

地理分區(qū)是一種符合數(shù)據(jù)規(guī)則和實(shí)現(xiàn)全局低延遲的有效方法。通過(guò)使用YugabyteDB Managed部署地理分區(qū)集群,可以智能地跨區(qū)域分發(fā)數(shù)據(jù),同時(shí)保持高性能查詢功能。

原文標(biāo)題:How To Use Geo-Partitioning to Comply With Data Regulations and Deliver Low Latency Globally,作者:Denis Magda


責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2013-04-25 10:50:37

iCloud宕機(jī)

2010-03-04 09:45:45

IBM裁員

2012-10-17 10:07:53

Splunk

2015-11-03 11:15:54

負(fù)載均衡微服務(wù)web

2024-03-12 11:36:50

MySQL數(shù)據(jù)庫(kù)函數(shù)

2023-06-25 10:19:01

2021-08-30 07:45:45

網(wǎng)絡(luò)釣魚攻擊遠(yuǎn)程工作

2023-02-22 14:11:11

2013-01-05 09:45:00

微軟Windows AzuCDN服務(wù)

2022-03-04 10:14:28

Teabot惡意軟件App

2021-01-07 13:07:21

網(wǎng)絡(luò)攻擊新冠病毒網(wǎng)絡(luò)犯罪

2021-09-09 10:06:24

物聯(lián)網(wǎng)人工智能IoT

2021-01-07 13:36:13

醫(yī)療機(jī)構(gòu)攻擊

2022-02-16 13:08:30

間諜軟件Pegasus

2020-09-03 17:43:15

打印機(jī)黑客網(wǎng)絡(luò)攻擊

2015-06-24 10:40:09

2013-06-28 01:17:34

Android DesUI設(shè)計(jì)iOS7

2021-03-19 08:53:25

隱私Clubhouse數(shù)據(jù)安全

2018-09-14 16:13:19

2021-06-09 08:34:22

加密信息網(wǎng)絡(luò)犯罪網(wǎng)絡(luò)攻擊
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)