資料量的成長是用資料湖取代傳統分析資料庫的催化劑。雖然數據湖能夠處理大量數據,但它們並沒有為我們提供分析資料庫的所有功能……但我們並沒有屈服於這種權衡,出現了一組技術來縮小這一差距,同時保留所有最好的功能資料湖的一部分。
資料湖使用物件儲存來儲存資料
與分析資料庫相反,我們需要一個模式來寫入數據,而資料湖允許我們將檔案放入物件儲存中,然後使用技術來讀取和分析資料。但是資料庫在其目錄中維護的模式(本質上是資料庫管理層)現在在我們的資料湖中缺失了。
換句話說,我們從資料庫遷
移到可擴展性更高但管理性較差的資料湖環境。
對於我們數據從業人員來說意味著什麼?
資料湖:收益和損失
什麼是資料湖
資料湖的優點包括:
出色的寫入效能-這無疑是
資料湖的最大優勢。
不需要模式——我們可以將東西放入存儲中,並且由於它是高度並行的,所以我們可以並行寫入大量數據,而無需考慮讀取 沙特阿拉伯 WhatsApp 號碼數據 數據時會發生什麼。
適合所有資料類型——我們可以使用任何我們認為合適的資料格式,甚至不必與其保持一致,因為這個問
題轉移到了讀取階段
這讓我們在編寫結構化或非結構化資料時擁有很大的自由度和高效能。
高度可擴展-資料湖的可擴展性與團隊需要處理的不斷增長的資料量相符。
高度耐用性-可用性問題很少見,即使對於雲端管理的物件儲存也是如此。 S3的耐用性是11個9,這真是太神奇了。
也就是說,如果我們以前
使用分析資料庫(提供 OLAP 的資料庫),資料湖也會讓我們損失很多。
我們丟失了很多對於管 並在人們透過您的連結購買時賺 理資料(尤其是結構化資料)非常有用的東西:
模式執行和演化——當我們使用資料庫時,模式被強制執行並且它可以安全地演化。
讀取效能(二級索引) ——物件儲存允許主索引,如果資料在物件儲存中正確組織,它們會非常有效率。
但它們沒有任何可以使用
的二級索引,而這正是 OLAP 資料庫的強大之處。
ACID 保證和事務性-資料庫 提供 ACID 保證(原子性、一致性、隔離性、持久性),這些保障措施可確保事務在其他事務開始解決並發問題之前結束。
可變性:追加、插入、刪除、更新——如果我們在資料庫中有一個表格並且想要刪除一行,我們可以使用
所有這些功能物件儲存是
不可變的,因此如果我們想要更改文件中的一行,我們需要重寫整個文件並替換它。
標準介面(SQL) ——結構化資料 人工智慧數據 的資料庫有一個標準介面;這就是 SQL。使用 SQL 存取物件儲存中的資料需要採用其他技術。
細粒度存取控制-物件儲存也提供存取控制,但在檔案或分區層級。資料庫可以提供更精細的存取控制。
那麼,我們如何才能挽回因資料湖的出現而失去的東西,同時又保持其獨特的優勢呢?
我們擁有的資料基礎設施元件
使我們能夠做比資料庫提供的更多的事情。讓我們仔細看看開放表格式、元儲存和資料版本控制系統,看看它們如何提供幫助。
物件儲存儲存文件,其格式可以是 Parquet、CSV 或您選擇使用的任何格式。但是當您直接存取儲存中的資料時,您看到的是檔案清單。我們希望能夠獲得表格的抽象,並將資料視為儲存在表中,以獲得我們在資料管理中遺失的東西。