坦白說也是機緣巧合,在碩士生階段進入分布式系統領域學習。無論是大規模存儲或計算,其核心也是運用分布式技術利用並行性來解決數據密集型應用的需求。最近開始在啃這本《Designing Data-Intensive Applications》大部頭,作者Martin Kleppmann在分布式數據 ...
在上一篇的筆記之中,我們討論了數據模型和查詢語言。在第三章之中我們來聊一聊不同的數據引擎內部是如何實現存儲和檢索的,以及不同設計之間的折中與妥協。 .鍵值對數據庫 鍵值對數據庫是數據庫形式之中最簡單的一種模式,我們可以把它簡化的實現為下面兩個函數: 底層存儲格式也十分簡單:一個文本文件,其中每行包含一個鍵值對,用逗號分隔 類似於CSV文件,忽略轉義問題 。每一次調用 db set 會追加鍵值對到 ...
2017-12-26 15:34 0 2262 推薦指數:
坦白說也是機緣巧合,在碩士生階段進入分布式系統領域學習。無論是大規模存儲或計算,其核心也是運用分布式技術利用並行性來解決數據密集型應用的需求。最近開始在啃這本《Designing Data-Intensive Applications》大部頭,作者Martin Kleppmann在分布式數據 ...
數據模型是開發軟件的最重要的部分,因為它們對應用程序有着深遠的影響:不僅是軟件的編寫方式,而且也影響我們如何解決的問題的方式。第二篇讀書筆記,我們聊一聊數據模型的設計。 1.數據模型的分層 作為一個開發者來說,在一個復雜的應用程序中,是存在很多分層模型的,但基本思想還是一樣的:每一層 ...
上一篇聊了聊批處理的缺點,對於無界數據來說,流處理會是更好的選擇,“流”指的是隨着時間的推移逐步增加的數據。消息隊列可以將這些流組織起來,快速的在應用程序中給予反饋。但是消息隊列與傳統的數據庫之 ...
之前的文章大量的內容在和大家探討分布式存儲,接下來的章節進入了分布式計算領域。坦白說,個人之前專業的重心側重於存儲,對許多計算的內容理解可能不是和確切,如果文章中的理解有所不妥,願虛心賜教。本篇將和大家聊一聊分布式計算的一個子集:批處理。 批處理系統通常也叫脫機系統,需要大量的輸入數據 ...
下面是這本書序言中的大部分內容,本人的英文水平有限,有理解不到位的地方還請大家指教,這算是自己對這本書的讀書筆記和總結。 數據是當今系統設計中許多挑戰的中心,一些難以解決的問題如系統的可擴展性,一致性,可靠性,有效性和可維護性等需要弄清楚。 另外,面對這些琳琅滿目的工具包括關系型數據庫 ...
上一篇聊了聊構建分布式系統所面臨的困難,這篇將着重討論構建容錯分布式系統的算法與協議。構建容錯系統的最佳方法是使用通用抽象,允許應用程序忽略分布式系統中的一些問題。本篇我們先聊一聊線性一致性,以 ...
相對於讀書筆記,本文更像是一篇閱讀大綱,在初步閱讀本書后,尚有許多疑難,借用此大綱,以后溫故而知新 DDIA講了什么 什么是data-intensive 原文這樣定義 Data-intensive applications are pushing the boundaries ...
重新索引 pandas對象的一個重要方法是 reindex ,其作用是創建一個適應新索引的新對象。 重新索引時,可能需要做一些插值處理。method選項可以達到此目的 ...