zono
データ処理システムの設計に携わるエンジニアや、データ処理システムに関する知識を深めたい人にとって必読の書籍です。
「実践的データ基盤への処方箋」というデータ基盤に関わる人必読の本を紹介します。データエンジニア、データサイエンティスト、データアナリストにオススメの内容になっています。
「DMBOK」というデータマネジメントのバイブル(体系本)を紹介します。データエンジニアやPMの方にオススメの内容になっています。企業のデータを管理するためのノウハウが詰め込まれています。
世間ではデータエンジニアリングが流行しており、エンジニアからは人気が出て、企業からはその能力が求められています。 データエンジニアは、データの収集、蓄積、分析、…
誤ったデータが混入する主な原因データ入力プロセスで発生する問題 皆さんもご存知の通り、入力時点で誤ったデータが混入することは多々あります。リストエントリーやフィ…
分析基盤においては様々な連携手法があります。 これは、データ量が多いか少ないか、データソースが最新か履歴か、によって変わってきます。 今回は、連携手法を紹介しなが…
データ分析基盤を構築する上で、テーブルとカラムの設計は非常に重要です。分析に必要なデータを効率的に取得・加工するために、適切なテーブル構成とカラム設計を行う必要…
はじめにデータエンジニアリングが興隆してから数年が経ち、各企業がデータ基盤に注力し始めたり、知見が溜まり始めています。 そんな流れがある中、データマートの乱立や…
前の章 前の章である第11章 ストリーム処理はこちらです。 データインテグレーションこの本の目標は、信頼性、拡張性、保守性の高いアプリケーションとシステムを作成す…
前の章 前の章である第10章 バッチ処理はこちらです。 ストリームとはストリームとは、時間の経過とともに段階的に利用可能になるデータを指します。したがって、データ…
前の章 前の章である第9章 一貫性と合意の問題はこちらです。 3 つの異なるシステム結果整合性は、複数のノード間でデータをレプリケートする際に遅延が発生する可能性が…
前の章 前の章である第8章 分散システムの問題はこちらです。 一貫性の保証結果整合性は、複数のノード間でデータをレプリケートする際に遅延が発生する可能性があっても…
前の章 前の章である第7章 トランザクションはこちらです。 フォールトと部分障害分散システムは、システムが完全に動作しているか完全に壊れている単一ノード コンピュ…
要約 ACIDは、トランザクションの安全性を確保するための原則を指す頭字語で、原子性、一貫性、分離性、耐久性から構成されます。 原子性は、障害時にトランザクションを…
要約 この章では、大きなデータセットをより小さなサブセットに分割するパーティショニングを扱います。データが大量にあり、それを1台のマシンに保存して処理することが…
要約 レプリケーションは、ネットワークで接続された複数のマシンに同じデータを保持する方法で、障害への耐性や処理能力向上に活用されます。 シングルリーダー、マルチ…
要約 大規模システムのデプロイにおいて進化性を高める手法として、スムーズな動作を確認しながら全体をアップグレードするローリングアップグレードが挙げられます。ダウ…
要約 OLTPはトランザクション処理に、OLAPは分析処理に特化しています。 インデックスにはハッシュ、SSTable・LSMツリー、Bツリーなどがあり、読み取り速度と書き込み速度…
要約 データモデルには様々な種類があり、それぞれが異なる利用方法を提供します。 リレーショナルモデルはSQLデータモデルで知られ、30年以上の歴史があります。ドキュメ…
2024年1月8日 08:38
世間ではデータエンジニアリングが流行しており、エンジニアからは人気が出て、企業からはその能力が求められています。データエンジニアは、データの収集、蓄積、分析、活用に必要なデータ基盤を構築・運用する職種です。データエンジニアとして活躍するためには、非常に幅広い知識と能力が求められます。データベースプログラミングシステム開発クラウドサービスデータ分析etc…….私は多少デ
2024年5月31日 08:29
誤ったデータが混入する主な原因データ入力プロセスで発生する問題皆さんもご存知の通り、入力時点で誤ったデータが混入することは多々あります。リストエントリーやフィールドの影響や業務プロセスの変更、一貫していない業務プロセス等があります。データ処理機能の稼働中に発生する問題入力以外にもデータソースの仕様の誤認識だったり、送られてくるデータ構造の変更等もよくあるケースになります。ベンダーツール
2024年4月19日 18:58
分析基盤においては様々な連携手法があります。これは、データ量が多いか少ないか、データソースが最新か履歴か、によって変わってきます。今回は、連携手法を紹介しながら、その連携に必要なテーブルの特徴について話したいと思います。連携元と連携先のテーブル連携元のテーブルは、最新テーブルになっている場合も履歴テーブル(インサートオンリー)の場合もあります。これはアプリ側の仕様によって異なります。多くの
2024年4月12日 07:55
データ分析基盤を構築する上で、テーブルとカラムの設計は非常に重要です。分析に必要なデータを効率的に取得・加工するために、適切なテーブル構成とカラム設計を行う必要があります。マスタとトランザクションマスタテーブルとトランザクションテーブルは、データベース設計で重要かつ基本的な構成です。下記で紹介するテーブルは全て履歴テーブルです。マスタテーブル基本的に静的なマスターデータを格納するテー
2024年4月1日 19:46
はじめにデータエンジニアリングが興隆してから数年が経ち、各企業がデータ基盤に注力し始めたり、知見が溜まり始めています。そんな流れがある中、データマートの乱立やパフォーマンスで悩んでいる方が多いのではないでしょうか?そこで、本記事では重要な分析基盤の1つであるデータマートに焦点を当てつつ、データ基盤のデータモデリングから構築、運用に至るまでの手法と考え方を解説していきます。データマートの目
2024年3月22日 08:25
前の章前の章である第11章 ストリーム処理はこちらです。データインテグレーションこの本の目標は、信頼性、拡張性、保守性の高いアプリケーションとシステムを作成することでした。(1章からのテーマ)唯一の正しい解決策はありませんが、状況に応じて適切なさまざまなアプローチが存在します。ソフトウェア実装では通常、特定のアプローチを 1 つ選択する必要があります。したがって、最適なソフトウェア
2024年3月16日 22:13
前の章前の章である第10章 バッチ処理はこちらです。ストリームとはストリームとは、時間の経過とともに段階的に利用可能になるデータを指します。したがって、データセットは決して終わることがなく、これまでに受信したデータを処理する必要があります。一方、バッチ処理では、データベースがいつ終了するかがわかり、その後に計算を開始できます。ストリーミングでは、入力は、ある時点で起こった何かの詳細を含
2024年3月6日 08:08
前の章前の章である第9章 一貫性と合意の問題はこちらです。3 つの異なるシステム結果整合性は、複数のノード間でデータをレプリケートする際に遅延が発生する可能性があっても、データは最終的にはすべてのノードに到達します。ただし、これは弱い保証になります。レプリカがいつ収束されるかについては言及されておらず、単に収束します。オンラインシステムサービスは、クライアントからのリクエストま
2024年2月27日 20:47
前の章前の章である第8章 分散システムの問題はこちらです。一貫性の保証結果整合性は、複数のノード間でデータをレプリケートする際に遅延が発生する可能性があっても、データは最終的にはすべてのノードに到達します。ただし、これは弱い保証になります。レプリカがいつ収束されるかについては言及されておらず、単に収束します。線形化可能性線形化可能性とは Register (key/行) の読み
2024年2月17日 20:56
前の章前の章である第7章 トランザクションはこちらです。フォールトと部分障害分散システムは、システムが完全に動作しているか完全に壊れている単一ノード コンピューターとは異なり、分散システムでは部分的な障害が発生する可能性があるという点で単一ノード コンピューターとは異なります。ハードウェアが正しく動作していれば、同じ処理は常に同じ結果をもたらします。これを決定的と呼びます。部分的な
2024年2月6日 07:39
要約ACIDは、トランザクションの安全性を確保するための原則を指す頭字語で、原子性、一貫性、分離性、耐久性から構成されます。原子性は、障害時にトランザクションを中止し、一貫性はデータベースが「良好な状態」を維持することを指します。分離性は、トランザクションの相互干渉を防ぎ、耐久性はデータの不滅性を保障します。BASEはACIDを満たさないシステムを指し、基本的に利用可能、厳密ではない状態遷
2024年2月3日 15:14
要約この章では、大きなデータセットをより小さなサブセットに分割するパーティショニングを扱います。データが大量にあり、それを1台のマシンに保存して処理することがもはや不可能な場合に必要です。パーティショニングの目的は、データとクエリの負荷を複数のマシンに均等に分散し、ホットスポット(負荷が不均衡に高いノード)を避けることです。そのためには、データに適したパーティショニング・スキームを選択し、
2024年1月25日 21:46
要約レプリケーションは、ネットワークで接続された複数のマシンに同じデータを保持する方法で、障害への耐性や処理能力向上に活用されます。シングルリーダー、マルチリーダー、リーダーレスの3つのアプローチがあります。また、同期と非同期のレプリケーションも存在し、同期は一貫性を保障しますが、非同期は処理速度向上をもたらします。問題としては、レプリケーションラグや書き込みの衝突が挙げられ、ケースバイケ
2024年1月20日 21:40
要約大規模システムのデプロイにおいて進化性を高める手法として、スムーズな動作を確認しながら全体をアップグレードするローリングアップグレードが挙げられます。ダウンタイムがなく、リリースが容易になり進化性が向上します。データ変更に伴う互換性管理には前方互換性と後方互換性が存在し、Apache Thrift、Protocol Buffers、Apache Avroなどもあり、それぞれフィールドのタ
2024年1月16日 08:26
要約OLTPはトランザクション処理に、OLAPは分析処理に特化しています。インデックスにはハッシュ、SSTable・LSMツリー、Bツリーなどがあり、読み取り速度と書き込み速度のトレードオフがあります。データウェアハウスではインデックスはあまり機能しません。ストレージでは行ではなく、列指向が使われており効率化を図っています。前の章前の章である第2章 データモデルとクエリ言語はこちら
2024年1月13日 21:04
要約データモデルには様々な種類があり、それぞれが異なる利用方法を提供します。リレーショナルモデルはSQLデータモデルで知られ、30年以上の歴史があります。ドキュメントモデルはJSON形式で階層構造を持ち、人間には理解しやすいが多対多の関係表現が難しいとされます。グラフモデルは多対多の関係が複雑な場合に有効で、ソーシャルネットワークや不正検出などに利用されます。NoSQLはリレーショナルデータ