Fundamentals of Data Engineering 輪読会資料 第14回分

## この記事について

2022年に発売された書籍 [Fundamentals of Data Engineering](https://www.amazon.co.jp/dp/1098108302) の輪読会が定期開催されています。  
この記事は次回 [英語で技術書を読もう：Fundamentals of Data Engineering 第14回](https://gaisaba.connpass.com/event/290023/) で議論する部分の要約です。

## 輪読会の流れ

以下の流れで進行しています。  
- まず要約を要約担当が共有
- 本を読む過程で新しく覚えた英語表現や分からなかった英語表現を各人が共有
- 技術的に興味のある個所や分からなかった箇所を各人が共有、ディスカッション

英語とデータエンジニアリングの両方が勉強できてお得ですね。  

## 第14回の範囲

```Chapter2 The Data Engineering Lifecycle Serving Data```の一部分です。
自分は途中参加なのですが、参加者の要望の多いところを順不同で選んでいるということです。(第1回は```Chapter3 Good Data Architecture```の一部分だったとのこと)

## 要約

### データエンジニアリングライフサイクルの根底に流れるもの(Undercurrents)

データエンジニアリングは現在では技術レイヤーに留まらないものになっている。様々な取り組みによりバリューチェーンの上位に位置付けられている。  
それらの取り組みの根底に流れるもの(Undercurrents)には以下がある。  
- セキュリティ
- データマネジメント
- DataOps
- データアーキテクチャ
- オーケストレーション
- ソフトウェアエンジニアリング

この章ではこれらの概要を述べる。それぞれの詳細はこの本で後述する。  

### セキュリティ

データエンジニアにとってセキュリティは最優先するべきものである。データエンジニアは「最小権限の原則」を理解して実践する必要がある。  
最小権限の原則は、ユーザあるいはシステムに、目的を実現するために必要最小限のアクセス許可を与えることである。最小権限の原則を自らに課すことは偶発的な事故を防ぐことにもなる。  
アンチパターンは、全員に管理者権限を与える、無駄にルートシェルを使う、データベースの上位権限を使う、など。  

最大の脆弱性は人間と組織構造。そのため、組織の文化としてセキュリティ意識を浸透させて、データを扱う一人ひとりが機密情報と顧客を守るという責任を理解することが重要。  

また、必要なときに必要な期間だけアクセスすることも大事である。意図せずデータが見えてしまうことを防ぐため、暗号化、トークン化、マスキング、難読化、アクセスコントロールなどを活用するべき。

データエンジニアは同時にセキュリティアドミニストレータでないといけない。クラウドとオンプレミスのセキュリティのベストプラクティスを知っておくことが大事。例えばIAMロール、ネットワークセキュリティ、暗号化などの知識はいい出発点である。

### データマネジメント

データマネジメントは昔ながらの取り組みが続けられていて、これまであまり注目されてこなかった。一方でツールのシンプル化によってデータエンジニアによる管理の煩雑さは減っている。データガバナンスやメタデータ管理のようなベストプラクティスはかつては大企業だけのものだったが、管理の煩雑さが減ったことであらゆる企業に知れ渡たるようになった。  

DMBOK(Data Management Body of Knowledge)によるデータの定義は以下の通りである：
データマネジメントはデータをそのライフサイクル全体を通じて提供、管理、保護、そして価値を強化するものである。  

データエンジニアはデータのライフサイクルを管理する。データマネジメントはそのためのベストプラクティスを網羅したものである。  

また、データエンジニアには、データが組織内のあらゆる場所においてどう有用なのかを見渡せる広い視野を持つことが必要である。  
データは企業にとって資産の一つであり、データマネジメントに関する取り組みはデータから価値を引き出して適切に扱うための一環したフレームワークを提供する。  

データマネジメントは多数の側面があるが、以下のようなものが含まれている。  
- データディスカバリーや説明責任を含む、データガバナンス
- モデリング、デザイン
- リネージュ
- 保管と運用
- インテグレーションと相互運用性
- ライフサイクルの管理
- 高度なデータ分析やMLのためのシステム
- 倫理性、プライバシー

本書ではこれらの網羅的な説明は行わず、いくつかの顕著なポイントのみを取り扱う。  

## よく分からなかった英語表現

| 原文 | 直訳 | 備考 |
| --- | --- | --- |
| Undercurrents | 底流 | いきなり知らない日本語が… |
| Prior cycles focused on the technology layer, ... have shifted this focus. | --- | this focusが何を指すのか読み直すまで分からなかった |
| encompass | 網羅する | --- |
| do so at one's peril | 危険を覚悟でそうする | do soとperilの因果関係が初見ではよく分からなかった |
| waiting to happen | 起こるべくして、起きるであろう | こういう英語表現があるんだ。意味は読み取れるけど！ |
| impose | 課す | --- |
| security breach | セキュリティ侵害 | breachとbleachの違いを認識していなかった |
| irresponsibly | 無責任に | responsiblyの逆ってことかな？ |
| The first line | 最重要なこと | --- |
| permeate | 浸透する | --- |
| in flight and at rest | 送信中と保存済み | --- |
| competent | 有能な | --- |
| on prem | オンプレミス | 本当にこういう書き方するの…？と思っていたら普通みたい |
| traction | 引き付けること | attractionのtractionかな？ |
| rung | 段 | --- |
| filter down | 知れ渡る | --- |
| in a vacuum | 孤立した | --- |
| C-Suite | 役員。CTO、COO、…など | なるほどね |
| vital | 重要な、必須な | 「生命」的な意味しか知らなかった |
| salient | 際立った、顕著な | --- |

## 技術的に気になったポイント

トークン化(Tokenization)って具体的に何をするのかパッと分からなかった。  
参考：[Tokenization](https://docs.mulesoft.com/jp/anypoint-security/tokenization)  
なるほどね。  

データガバナンスとデータディスカバリーの関係性がよく理解できなかった。  
参考：[データガバナンス](https://www.nri.com/jp/knowledge/glossary/lst/ta/data_governance)  
自分は上記で説明されている「守り」しか意識してなかったんだなあ。勉強になった。  

## 他の回のまとめ

輪読会の参加者の皆様が作成した他の回の資料のまとめはこちら。  

https://qiita.com/Shumpei_Kubo/items/e24c830ecde50515905a