Salesforce 認定 Data Architecture and Management デザイナー 試験の勉強メモ
※Spring '19 で受験予定 → 合格しました!
めちゃムズと評判の試験。受験ガイド を見る限りだとそんな難しくなさそうですが・・・。データモデリングとか、データスチュワードシップ (聞きなれない単語出てきました・・・) が試験範囲みたいです。他、カスタムインデックスとかスキニーテーブル、データスキューとかもキーワードっぽいです。今の業務でかなりの大量データを扱う組織を担当しているので、ここら辺については大丈夫かな、と勝手に思ってます。とはいえ、公式のポイントスタディもない資格なので、しっかり勉強して挑みます。
https://gyazo.com/e292c414787c8ea1fefc86b727cf3aea
参考になる記事
Salesforce Certified Data Architecture & Management Designer Exam Tips
How to Prepare For and PASS Data Architecture and Management Designer Exam
公式 Trailmix
Traimix
データモデリング (20%)
Force.com データモデル設計の各種手法と考慮事項を比較対照する
(オブジェクト、項目とリレーション、オブジェクト機能など)
引用元:受験者ガイド
SOAP API の開発者ガイドをみると、Salesforce の標準オブジェクトのリレーションが ER 図で全部載ってます。 データモデル
すごい量・・・。商談と取引先は参照関係、とか有名どころをチェックするくらいで大丈夫かと・・・
大量データのパフォーマンスを考慮しながら、拡張可能なデータモデルを設計し、適切なカスタマイズレベル (クリックまたはコード) により、すべてのビジネスプロセスをサポートする
引用元:受験者ガイド
大量データのデータモデルといえば、おそらくはデータスキューに注意する、とかディビジョンとかスキニーテーブルを適切に設定する、とかのことだと思います。下記記事にまとめています。
試験対策:パフォーマンスについて
概念設計 (15%)
与えられた顧客シナリオに従って〜(略
引用元:受験者ガイド
受験ガイドを見る限りですと、データ品質とかがキーワードみたいです。
データ品質
公式 Trailmix にもありますが、データ品質のモジュール がありますのでやっていきます
ここで言うデータ品質ってのは、例えば、ユーザがデータを入力してくれなかったり、データを入力してくれても入力内容に統一性がなかったりとか、重複してたりとか、最新化されてなかったりとか、そういう状況です。
上記に対する解決策として紹介されているのが、データ品質分析ダッシュボードアプリケーションを利用すること、入力規則を設ける、重複ルールを定義する、など。
Data.com クリーンアップ という見慣れない単語があったので 調べてみました。日本でいうところの帝国データバンクの米国版・・・?のことでしょうか。そういうサービスがあるんだなぁくらいの理解で大丈夫だと思います。
マスタデータ管理 (10%)
受験ガイドにはシステムオブレコードという記載がありますが、なんでカタカナなんだ?
SoR のことですね。といっても我々(?) が普段使っているような意味ではなく、受験ガイド上での文脈だと、複数システムとインテグレーションしているときにどこのデータを正として管理するか をシステムオブレコードと言っているみたいです。そのための解決策として提示されているのが、マスタデータ管理 (MDM: Master Data Management) ソリューションみたいですね。
メタデータ管理 (7%)
データアーカイブ(10%)
Salesforce でシステム提案をするときにかかせないのが、アーカイブ計画であったり、バックアップ計画なんですよね。次項のデータガバナンスとも内容としてはちょっとかぶるのですが、今までの経験も踏まえてまとめてみます。
アーカイブ計画
Salesforce はマルチテナントのシステムでありデータ容量にも制限があることから、大量データを扱うときにはデータのアーカイブ計画が必須となってきます。たとえば、オブジェクト毎にデータの保存期間をお客様と合意して何年後には削除する、とかを決めておかないとデータ容量が逼迫してしまう、等の自体に陥ってしまいます。Apex バッチを作って月次でデータを削除する、としても良いですし、集計後のデータのみが必要なのであれば古いデータは集計だけしてあとは削除、とか色々な方針が考えられます。
バックアップ計画
Salesforce 自身にもバックアップ機能はあるのですが、サポートに連絡しなければならないとか、タイムリーなバックアップができないとか、単純なオペミスを理由とするリカバリ (リストア) はダメだったりと諸々の制約があります。なので、Salesforce の管理者側でもちゃんとバックアップ計画を立てないといけないです。
項目レベルのバックアップ、というか履歴管理であれば、項目履歴管理の機能とかが使えそうです。
また、定期的なバックアップであれば、Dataloader を使うとか、サードパーティの ETL を使うとか。ウィークリーエクスポートの機能も良いかもですね。
ほかにも、AppExchange を探すと、バックアップ用のサービスが色々と出てきます、が、日本版の AppExchange (appexchangejp) だとなぜか出てきません。なぜ・・??
データガバナンス (7%)
受験ガイドには「データスチュワードシップ」って単語がここで出てくるんですよね。聞きなれない単語なので調べました。eBook に Salesforce 社が定義するデータガバナンスとスチュワードシップが載ってました。
Governance
Establishes rules and policies to ensure reliable and effective customer data. These rules define processes and protocol to ensure usability, quality, and policy compliance of the data asset.
Stewardship
Puts tactical roles and activities into effect to ensure adherence and support of the data governance plan. It includes assigning people to uphold the plan, and developing strategy for monitoring and maintenance of customer data.
引用元:https://a.sfdcstatic.com/content/dam/www/ocms-backup/assets/pdf/misc/data_Governance_Stewardship_ebook.pdf
以下、日本語訳。
ガバナンス
信頼性があり有効的な顧客データを保証するためのルールとポリシーを確立すること。これらのルールでは、データ資産のユーザビリティ、品質、ポリシーへの遵守を保証するためのプロセスとプロトコルを定義する。
スチュワードシップ
データガバナンス計画の順守とサポートを保証するため、戦略的な役割と活動を実施すること。これには、計画を支える担当者の割り当て、顧客データの監視と保守のための戦略策定が含まれる。
つまりは、私のイメージを一言で書くと、
ガバナンス → ルール決め
スチュワートシップ → 決めたルールの運用管理
って感じです。
ビジネスインテリジェンス、レポート & 分析 (10%)
分析レポートおよびダッシュボードを作成するアプローチおよび手法を比較対照し、データ品質基準、普及評価基準などを公開できる Wave などの Salesforce 機能、AppExchange で入手可能なオプションを検討する
引用元:受験者ガイド
上にも書いた データ品質分析ダッシュボードアプリケーション のことじゃないですかねぇ(適当)
しかし、Wave Analytics って・・・。今は Einstein Analytics に名前が変わったはずですが、試験問題がおいついてないように思われます。。。
Salesforce (およびパートナー) の分析機能を利用して、顧客のエンタープライズ分析機能を強化/最適化するアプローチと、顧客データが大量な場合に必要となるパフォーマンスレベルを維持する手法 (SOQL、クエリ、レポート) を推奨する
引用元:受験者ガイド
キーワード
カスタムインデックス
インデックスが使われる条件とつけられる条件
外部 ID にすると、内部的にはインデックスが付与される
SOQL を早くするには
Where 句の条件は厳しめにする
IS NULL は使わない
後方一致検索しない
SOSL の制限
https://developer.salesforce.com/docs/atlas.ja-jp.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_limits.htm
※ここらへんは、私は Oracle のエンジニアだったこともあり、自信ありです。
データ移行 (10%)
データを Salesforce にインポート、またはエクスポートするさまざまな手法と考慮事項を比較対照する
引用元:受験者ガイド
以前に下記記事でまとめました。
Dataloader を使って高速に大量データを更新/エクスポートしたい
あとは、Weekly Export の機能とか。
他、以前に遭遇したのですが、移行した際に CreatedDate が書き換えられてしまう問題への解決策
https://help.salesforce.com/articleView?id=000339266&type=1
与えられた顧客シナリオに従って、並列、ロックの管理、共有ルールの処理を考慮に入れた最適なデータ移行計画を推奨する
引用元:受験者ガイド
3つのツールが利用できます。
試験対策:パフォーマンスについて :大規模な再配置用のツール の項を参照
パフォーマンス調整 (11%)
大量データを Salesforce に移行するときのパフォーマンスの向上
引用元:受験者ガイド
と記載があるので、下記ドキュメントをメインにみていくのが勉強法だと思います。
大量のデータを使用するリリースのベストプラクティス
他に注意したいのは、親子データスキュー などでしょうか。
あと、英語の記事ですが、これも参考になると思います。
How Much Data Can the Salesforce Platform Handle? You Might Be Surprised!
Heroku にデータを置いて ETL で連携する事例が載ってますね。ちょっと古い記事なので書かれてませんが、今だったら Heroku Connect とかで連携するのも良いんじゃないかなぁと思います。
下記記事にまとめています。
試験対策:パフォーマンスについて
#資格試験
Salesforce 認定 Data Architecture and Management デザイナー