-
Avro
鎖定
Avro,是指數據序列化的系統,有豐富的數據結構類型、快速可壓縮的二進制數據形式。
- 中文名
- Avro
- 外文名
- Avro
- 類 別
- 數據序列化的系統
- 功 能
- 豐富的數據結構類型
Avro系統概況
它可以提供:
1 豐富的數據結構類型
2 快速可壓縮的二進制數據形式
3 存儲持久數據的文件容器
4 遠程過程調用RPC
Avro使用模式
Avro依賴於模式(Schema)。Avro數據的讀寫操作是很頻繁的,而這些操作都需要使用模式,這樣就減少寫入每個數據資料的開銷,使得序列化快速而又輕巧。這種數據及其模式的自我描述方便於動態腳本語言的使用。
當Avro數據存儲到文件中時,它的模式也隨之存儲,這樣任何程序都可以對文件進行處理。如果需要以不同的模式讀取數據,這也很容易解決,因為兩個模式都是已知的。
當在RPC中使用Avro時,服務器和客户端可以在握手連接時交換模式。服務器和客户端有着彼此全部的模式,因此相同命名字段、缺失字段和多餘字段等信息之間通信中需要解決的一致性問題就可以容易解決
還有,Avro模式是用JSON(一種輕量級的數據交換模式)定義的,這樣對於已經擁有JSON庫的語言可以容易實現。
Avro功能區別
Avro提供着如Thrift和Protocol Buffers等系統相似的功能,但是在一些基礎方面還是有區別的,主要是:
1 動態類型:Avro並不需要生成代碼,模式和數據存放在一起,而模式使得整個數據的處理過程並不生成代碼、靜態數據類型等等。這方便了數據處理系統和語言的構造。
2 未標記的數據:由於讀取數據的時候模式是已知的,那麼需要和數據一起編碼的類型信息就很少了,這樣序列化的規模也就小了。
- 參考資料
-
- 1. Avro .Avro簡介.2017-02-08[引用日期2017-02-08]