書籍メモ「Persistence Best Practices for Java Applications」Chapter 11

https://learning.oreilly.com/library/view/persistence-best-practices/9781837631278/

Part 3: Architectural Perspective over Persistence

Chapter 11 Modernization Strategies and Data Integration

・Application modernization strategies
・Avoiding data storage-related anti-patterns and bad practices
・Introduction to CDC pattern
・Adopting cloud technologies and cloud services

クラウド・コンピューティングはITの展望に革命をもたらし、組織にかつてないスケーラビリティ、柔軟性、コスト効率を提供している。
最新のクラウドサービスを活用することで、近代化戦略にも大きなメリットがあります。

モノリシックが レガシーと同義であるという考えは間違いである。
ソフトウェア・エンジニアとして、私たちはビジネスが何を必要としているのか、そしてその背景を理解する必要がある。
モノリシックやマイクロサービスのアーキテクチャー・スタイルを含むソリューションには、銀の弾丸はないことを忘れないでほしい。

アプリケーションの近代化にはいくつかのアプローチ
・リホスト(リフト・アンド・シフト)
・リファクタリング
・リビルド
・リプレース戦略

アプリケーションの永続化レイヤでは、いくつかの一般的なアンチパターンとバッドプラクティスが、パフォーマンス、スケーラビリティ、保守性を阻害する可能性がある。
・オブジェクトとリレーショナルのインピーダンスの不一致
・プレゼンテーション層でのデータアクセス
・ループ内でのデータベースへの問い合わせ
・コネクション・プーリングの欠如
・プリペアド・ステートメントやパラメータ化されたクエリを使用しない
永続化レイヤにおけるアンチパターンやバッドプラクティスを避けるために、以下のアプローチ
・開発者を教育・訓練する
・設計原則と設計パターンに従う
・ORMやクエリビルダーを使う
・接続プーリングを実装する
・ユーザー入力をサニタイズし、プリペアド・ステートメントを使用する
・コードレビューとリファクタリングを行う
・パフォーマンスをテストし、ベンチマークする
・常に最新情報を入手し、コミュニティに参加する

CDCパターン
Change Data Capture (CDC) は、データベース内のデータに加えられた変更を追跡し、キャプチャするために使用される技術である。

クラウド・サービスは、アプリケーションの永続化レイヤーに数多くの利点を提供し、データベース・エクスペリエンスを向上させ、組織をさまざまな管理作業や 保守作業から解放する。
この文脈における特定のサービスの1つがDatabase-as-a-Service(DBaaS)であり、これによってユーザは大規模な専門知識やインフラ管理を必要とせずにデータベースのパワーを活用することができる。

memoO'REILLY Learning

Posted by shi-n