AWS Loft的数据库周
這是我的筆記:
https://databaseweekoctober2019sf.splashthat.com
AWS上的數據庫:正確工作的正確工具
在許多此類談話中,我并沒有做過深刻的記錄。 我正在關注重點。
PostgreSQL排在MySQL之后。
AWS上8種類型的數據庫:
- 關系型
- 核心價值
- 文獻
- 在記憶中
- 圖形
- 搜索
- 時間序列
- 分類帳
搜索:AWS Database Services
對于關系,他們有Amazon Aurora。 它與MySQL和PostgreSQL兼容。 與MySQL(在RDS上)相比,它的吞吐量是MySQL的5倍,在PostgreSQL(在RDS上)則是PostgreSQL的3倍。 它可以擴展到15個只讀副本。 容錯和自我修復。 它在三個可用區中保留6個數據副本。 它可以提供對S3的連續備份。 它在靜止和傳輸中都有加密。 它由亞馬遜完全管理。 他們支持跨區域(不清楚)和多主機。
Amazon.com本身至少在某些方面使用了Aurora。
有一個數據庫遷移服務。
它們還支持其他數據庫,例如使用RDS的SQL Server。
接下來,她介紹了鍵值數據存儲。
DynamoDB是它們的鍵值存儲。 它不需要服務器配置。 它可以在任何規模上提供一致的單位毫秒ms響應時間。 它具有無限的吞吐量。 它在靜止和運輸過程中均已加密。 它支持跨區域的全局數據庫復制。
接下來,她介紹了文檔數據庫。 JSON文檔是數據庫中的一流對象。 DocumentDB是他們的解決方案。 這對用戶配置文件等很有用。它最多可以擴展15個副本。 它提供了毫秒級的延遲。 它與MongoDB兼容。
內存數據庫:無持久性。 在記憶中。 微秒性能。 字符串,哈希,列表,集合等。類似于Redis。 他們有ElastiCache。 它們與Redis和Memcached兼容。 您可以使用分片和副本進行擴展。
全文搜索:他們具有Elasticsearch Service。 完全管理。 它通過監視和自我修復功能跨多個可用區復制。
圖形數據庫:關系是一流的對象。 數據被建模并作為圖形查詢。 頂點通過邊連接。 它使您可以輕松快速地創建和導航數據之間的關系。 Amazon Neptune是一個完全托管的圖形數據庫。 它提供了六個數據副本。 它支持Gremlin和SparkQL進行查詢。
時間序列數據:這是在一定時間間隔內記錄的一系列數據點。 將時間序列數據存儲在關系數據庫中具有挑戰性。 Amazon Timestream是他們的解決方案。 它是“無服務器的”。
Ledger:與區塊鏈有關。 數據僅追加。 這些是集中控制的分類帳。 這非常適合醫療保健。 有一個分類帳數據庫。 有日記。 所有這些都可以通過密碼驗證。 想象一個插入,一個更新和另一個更新。 每個步驟都經過審核。 請參閱Amazon Quantum Ledger數據庫(QLDB)。
為不同的目的使用不同的數據庫。
她將向演示演示如何使用Cloud Formation模板設置大多數內容。
(她正在使用Windows筆記本電腦。)
顯然,我們都獲得了AWS積分。 請記住,在一天結束時關閉并清理資源。
參見: https : //github.com/aws-samples/aws-bookstore-demo-app
我問使用Aurora時如何對開發人員的計算機進行處理。 答案讓我很困惑。 他們提到了AWS控制塔和著陸區。 您可以創建數據庫用戶或聯盟用戶。 您可以有一個或多個帳戶。 您可以控制事物…人群中的某個人說您可以創建一個每個人都共享的帳戶。 您可以將ActiveDirectory聯合到AWS,然后使用該用戶帳戶。 您可以創建數據庫用戶…
Aurora支持最低版本的MySQL 5.7等。與Aurora相比,您必須驗證MySQL版本。 您想要類似地進行配置(緩沖區大小等)。
我不確定開發人員是否可以在其機器上使用MySQL以及在生產環境中使用Aurora是否可以。
稍后,我們將討論模式遷移工具。 您可以連接到本地MySQL。 它將對本地數據庫中的行進行采樣。 它將為Aurora中的外觀生成一個SQL文件。 您可以確定兼容性。 Aurora與電線兼容。 您可以使用現有的驅動程序。 但是,有些特定參數可能是自定義的高級引擎內容。 您需要對此進行測試。
明天下午有一個極光會議。
午餐和研討會:15分鐘或更短時間內提供全功能應用程序
https://github.com/awslabs/aws-full-stack-template
(我真的不知道15分鐘或更短的時間意味著什么。您不能在15分鐘內寫完。如果您是少于15分鐘的新手,您甚至無法閱讀文檔并進行設置。 )
請注意您啟動的區域。
命名S3存儲桶時請特別注意。 使用小寫。 以字母開頭,然后是字母或數字。 使用類似DNS的名稱。 沒有下劃線。 使其獨特。 我認為它必須是全球唯一的。
對于CloudFormation中的項目名稱,請使用小寫字母,僅字母和10個字符以下的名稱 。
有趣的是此CloudFormation .yml文件 。 1100線長! 那里有一些有趣的東西。 例如,必須配置每個單獨的lambda函數,可以使用其訪問數據存儲。
看起來他們正在使用create-react-app,TypeScript,React Router,React Bootstrap等。它是一個客戶端應用程序。
AWS數據庫遷移服務(DMS)
DMS =數據庫遷移服務。 簡單,快速。 重量輕。 簡單明了。
SCT =模式轉換工具。 它是先進的。 這對于Redshift等中的數據倉庫很有用。
您可以使用它們進行現代化,遷移或復制。
SCT幫助隱蔽表,視圖和代碼。
您可以從以下位置遷移到: https : //aws.amazon.com/dms/schema-conversion-tool/
SCT將生成評估報告。
有些東西無法移植; 與引擎高度相關的事物。
有大量的指南討論了從一種類型的數據庫移植到另一種類型的數據庫時如何處理數據庫功能的所有詳細信息。
您可以使用DMS完成90%的工作。
DMS甚至可以將SQL遷移到NoSQL或從NoSQL遷移。
DMS是一項HIPAA認證的服務。
DMS在云中運行。 SCT作為機器映像運行(我認為)。
您甚至可以從云遷移到本地。
使用DMS + Snowball進行大規模使用(超過5TB)。
Snowball是裝在盒子中的堅固PC。 它有一個超級堅固的外殼。 您用數據加載它,然后將其發送回去。 它最多可以容納72TB。 250美元。 不包括運費。 請注意,它是加密的,密鑰不在設備上。
攝取是免費的。 您必須支付存儲和出口費用。
您可以使用DMS進行復制。 您可以將其用于跨區域讀取副本。 他們甚至說您可以使用它來保持產品/設備同步。
他們已經遷移了170,000多個數據庫。
您可以從Oracle遷移到PostgreSQL的RDS。 (我假設您也可以使用Aurora的PostgreSQL。)
“雪地車”是一種拖掛車,是堅固的容器,可用于運送數十億美元的數據。
您可以使用Snowball遷移數據,然后使用DMS復制最近的更改。
從SQL Server到MySQL以及從Oracle到PostgreSQL更容易。
如果您不想這么做,則不必帶出所有數據。 您只能過濾所需的內容。
您可以使用DMS進行多可用區以獲得高可用性。
您可以將多個實例映射到單個目標。 您還可以從單一來源映射到多個目標。
S3是大多數AWS數據湖架構的基礎。
Aurora MySQL領先于Aurora PostgreSQL。
您可以在EC2上安裝任何舊版或開源DB。 RDS為此是一項托管服務。 它們負責修補,引擎,操作系統等。您可以定義實例大小等。下一步是Aurora。 他稱其為無服務器。 您提供數據,其余的由他們提供。
講習班:在Amazon RDS上運行SQL Server并遷移到MySQL
跳過。
亞馬遜關系數據庫服務(RDS)
我錯過了Amazon RDS演講。 無論如何,我還是更專注于Aurora,因為它是更高級,更易于管理的選項。
https://github.com/wrbaldwin/db-week
午餐和研討會:Amazon RDS入門
跳過。
亞馬遜極光
他說,數據是當今副本中最具戰略意義的資產。
他們一直說“將現有應用“提升并轉移”到云中。”
如果您遷移到云,Oracle開始收取雙倍的價格。 因此,人們正從“守舊的商業數據庫”遷移到MySQL,PostgreSQL和MariaDB。
要從商業數據庫獲得規模和性能,需要進行大量調整。
Aurora的成本是商業數據庫的1/10。
他說,它具有商業數據庫的速度和可用性,但具有開源數據庫的簡單性和成本效益。
它具有與MySQL和PostgreSQL的直接兼容性。
它有按需付費的價格。
這是一項完全托管的服務。
三個租戶:
他們使計算和存儲脫鉤。
它使用“共享存儲池”。
它與Lambda(從存儲過程和觸發器調用Lambda事件),S3(快照和備份),IAM和CloudWatch集成在一起。
AWS提供了自動故障轉移,備份和恢復,隔離和安全性,行業合規性,一鍵式擴展,修補,監控和維護。 您必須注意架構設計,查詢等。
與開源平臺相比,它的性能提高了5倍。 它提供了更好的可用性和耐用性。
它比MySQL(與RDS相比)快5倍,比PostgreSQL(基于SysBench)快3倍。 我問它與在具有本地磁盤的大型硬件上運行MySQL相比如何。 他說那不是蘋果對蘋果。 (我認為5x是BS。)
計算和存儲是完全分開的。
他們對其進行了優化,以減少I / O并最大程度地減少網絡數據包。
他們負責連接池。 您最多可以建立5000個連接。
您可以在3個可用區中擁有6個副本。
對于寫入仲裁,他們需要6分之4的數據,對于讀取仲裁需要6分之3的數據。
他們使用對等復制進行修復。
該卷跨數百個存儲節點進行條帶化。
您最多可以有15個只讀副本。 他們從同一共享的分布式存儲卷中讀取。
持久存儲將按需重放重做記錄,作為磁盤讀取的一部分。 這是并行,分布式和異步的。 沒有用于啟動的重放。 因此,從故障轉移中獲得的恢復速度要快得多。 僅需10到20秒。
他說它“比MySQL更便宜”(這很奇怪,因為MySQL是免費的)。 他的解釋是,與其他托管服務(即RDS)相比,它更便宜。 由于共享存儲池,它更便宜。 也不需要空閑的備用實例。
您不必使用HA代理即可故障轉移到副本。 他們為您更改了DNS。
他展示了一個成本細分示例:
- 他提到了r5.4XL機器。
- 每個副本每小時$ 2.32。
- 實例成本為每小時$ 6.96。
- 存儲成本為每小時$ 4.43。
- 總費用為每小時11.39美元。 與RDS相比,節省了28.7%。
在RDS中,備用數據庫與副本數據庫是分開的。 在Aurora中,副本充當備用數據庫。 您不需要空閑的備用實例。
它由SSD支持。
Amazon.com從Oracle遷移到許多不同的數據庫。 任何需要ACID的東西都交給了Aurora。 他們的某些服務使用的是MySQL版本。 有些使用了PostgreSQL版本。
(他在Mac上使用Microsoft Outlook。)
他設置了自動縮放以自動添加新的只讀副本。 自動縮放時,必須決定要自動縮放的內容。 他進行了設置,以便如果副本上的CPU使用率超過20%,他將添加另一個副本。 他還可以根據連接數來執行此操作。
有一個“增強監控”功能。 增強的監視發生在管理程序層。 這是一個額外的費用,但可以為您提供更好的粒度。
它可以顯示正在運行的線程,活動的事務,innodb_rows_read.avg。
它向您顯示哪個查詢導致CPU峰值。
我們將通過S3使用二進制快照攝取,并通過binlog復制進行追趕。
或者,如果您有更復雜的需求,則可以使用通過SCT進行模式轉換以及通過DMS進行數據遷移。
這不是NoSQL。 它符合ACID標準。
如果最大限度地提高了寫容量,則需要增強實例。 (我猜想將某些事情從Aurora移到DynamoDB是有意義的。)
再次,它是完全管理的。
重要:他說所有讀操作都應歸讀讀副本。 這真的很有趣。 您不必擔心復制延遲,因為它們是從同一共享存儲中讀取的。 從只讀副本而不是從主副本讀取時,只有幾微秒的延遲。
他們可以在大多數時間以零停機時間應用數據庫補丁。 他們唯一無法做的事情就是永遠沒有長時間沒有交易發生的時間。
他們具有快速的數據庫克隆功能。 克隆的創建幾乎是瞬時的。 它是寫時復制的。 這對于故障排除很有用。 您可以克隆生產數據庫以運行測試。 每個副本最多可以有15個克隆。 但是,您無法跨AWS區域進行克隆。
它們最多僅支持64 TB。
Backtrack是一項功能,可將數據庫返回到某個時間點,而無需從備份中還原。 這不是破壞性的。 您可以多次回溯以找到正確的時間點。 這是一個滾動的72小時窗口。 創建集群時必須啟用它。 它必須在數據庫級別而不是表級別完成。
每小時花費$ 0.012 /百萬的更改記錄。
重要說明:它們支持全局數據庫的邏輯或物理復制跨區域 。 復制時間不到1秒,故障轉移時間不到1分鐘。 它是在存儲層而不是計算層完成的。
Aurora Serverless適用于不經常使用的應用程序。 您可以在晚上或周末關閉數據庫。 關閉時,您只需支付存儲成本,而不是計算成本。
1個ACU = 2 GB的內存。
它們可以從1個ACU擴展到256個ACU。
很多人從SQL Server遷移到Aurora。 (這一次,我認為他說的是PostgreSQL版本,但之前,我認為他們說的是MySQL版本。)
您可以將Lambda與Aurora無服務器一起使用。 您將使用他們的API網關。
有一個在線查詢編輯器。
他展示了一個架構圖,其中每個方框都是一個AWS服務。
Aurora Serverless并非適合所有人。 如果您需要關閉數據庫一段時間,這很有用。
他們試圖使您擺脫認為您需要對其進行管理的想法。
講習班:使用Amazon Aurora加速數據庫開發和測試
跳過。
使數據庫與工作負載匹配
我錯過了前15分鐘。 當我進來時,他在談論RDS。 他從未談論過Aurora,所以我想知道是否在最初的15分鐘內就解決了。
其中很多與第一次談話相吻合。
DynamoDB是任何規模的快速,靈活的NoSQL DB服務。 您不必擔心服務器。 amazon.com的大部分內容都基于DynamoDB構建。 它支持事件驅動的編程(我想知道這是否意味著您可以使用它來構建實時應用程序)。 您可以具有執行lambda函數的觸發器。 這是“快速而一致的”。 它既是文檔又是鍵值存儲。
創建表時必須創建“本地二級索引”(LSI),并且無法更改。
他們具有DynamoDB自動縮放功能,可以根據您的實際流量采用吞吐量。
使用一個區域內的3個DC對分區進行三向復制。
(DocumentDB與MongoDB 兼容 ,但它是自產的。)
Amazon Elasticsearch Service:它是開源的,易于使用,可擴展,安全,高度可用且集成。 文件代表實體。 數據在字段中。
DynamoDB和Elasticsearch可以很好地協同工作。 您可以為所有字段設置一個倒排索引。
Amazon Neptune是一個完全托管的圖形數據庫。 它用于跨多個表的極其相關的數據。 非常適合建模社交網絡。
Amazon Redshift用于數據倉庫。 它提供了快速,強大且簡單的數據倉庫,成本僅為原來的1/10。 它是大規模并行的,并提供PB級。 它是列式數據存儲。 這是后端的PostgreSQL分支。 用于分析查詢。 您不會將其用于網站的在線數據庫。 它不是為一堆小插入而構建的。 您可以為每列使用不同的壓縮算法。 它適用于傳統數據倉庫,SaaS分析和大數據分析。
Amazon Athena用于交互式分析。 所有數據都在S3中。 它基于Hive和Presto構建。 您甚至可以查詢CSV,并用虛擬SQL表包裝它。 它與SQL兼容。 它是無服務器的。 零基礎設施。 零管理。 用于分析用途或報告需求。
量子分類帳數據庫(QLDB):這是一個分類帳數據庫。 這是很新的。 一旦寫入分類帳,就永遠無法對其進行更改。 一成不變且透明。 可加密驗證。 高度可擴展。 易于使用。
這與Amazon Managed Blockchain不同。 Amazon QLDB由一個受信任的機構擁有。 借助Amazon Managed Blockchain,分類賬沒有單一所有者。 相反,您擁有多方的共同所有權。
他制定了“ PIE定理”:模式靈活性,無限規模,效率:選擇兩項。 他有幾個很好的信息圖形。
他用Kahoot競爭性地向我們提問。 我排第二。 我試圖招募第一個進來的人;)
Amazon Crypto不再存在。
講習班:使用Amazon Elasticsearch Service搜索DynamoDB數據
跳過。
圖和亞馬遜海王星
跳過。
研討會:使用Amazon Neptune構建您的第一個圖形應用程序
跳過。
翻譯自: https://www.javacodegeeks.com/2019/11/database-week-at-the-aws-loft.html
總結
以上是生活随笔為你收集整理的AWS Loft的数据库周的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: javafx swing_JavaFX技
- 下一篇: jaxb_JAXB –新手的观点,第1部
