Exploit the Power: Autonomous DatabaseでのSalesforce CRMゼロ・データ・コピー共有 (2024/09/03)

Exploit the Power: Autonomous DatabaseでのSalesforce CRMゼロ・データ・コピー共有 (2024/09/03)

https://blogs.oracle.com/datawarehousing/post/exploit-the-power-salesforce-crm-zero-data-copy-sharing-in-autonomous-database

投稿者:John McHugh | Senior Principal Product Manager


誰もが、データへのセキュアで迅速なアクセスの価値を理解しています。ビジネスクリティカルな分析データがクラウド・ベンダーに分散しているため、迅速性が課題になります。


クラウド間ベンダーのゼロ・コピー・データ共有は複雑である必要はありません。Autonomous Databaseでは、Salesforce CRM Data Streamとの安全なデータ共有を数秒で簡単に設定できます。Salesforce CRMデータ・コネクタ・タイプを使用すると、必要な資格証明を定義し、セキュアなデータベース・リンク・アクセスを作成するだけで、Autonomous DatabaseからSalesforce CRMデータにアクセスできます。このブログではその手順を順を追って説明し、Salesforce CRM Sales Cloudデータセットへのオンザフライ・アクセスを示します。



Salesforceの要件:


ユーザー・ログイン資格証明

ユーザーセキュリティトークン

organization hostname: 完全修飾ドメイン名

Salesforce CRMデータ・コネクタ・タイプで構成されたSalesforceデータ・ストリーム

Salesforceデータ・ストリーム・ステータスがACTIVEです

データにアクセスして読み取るための標準ユーザー・アクセスおよびプロファイル権限


Figure1: データ・ストリーム・ダッシュボードで、データ・ストリーム名、データ・コネクタ・タイプおよびデータ・ストリーム・ステータスを確認します。


Autonomous databaseで:

資格証明を作成


BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => ‘<your credential name>',
    username => ‘<your salesforce log-in id>’
    password => ‘<your salesforce password');
END;
/


データベースリンクを作成


BEGIN
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
            db_link_name => '<your database link name>',
            hostname => ‘<your host>.my.salesforce.com',
            port => '19937',
            service_name => 'salesforce',
            ssl_server_cert_dn => NULL,
            credential_name => ‘<your credential name>’,
            gateway_params => JSON_OBJECT(
               'db_type' value 'salesforce',
               'security_token' value '<your security token>'));
END;
/


HETEROGENEOUS_CONNECTIVITY_INFOビューでは、クラウド・ベンダー、外部データベース・タイプの資格証明およびデータベース・リンク定義の要件を使用できます。たとえば、


select database_type, required_port, sample_usage 
 from heterogeneous_connectivity_info
where database_type = 'salesforce';



Figure2: heterogeneous_connectivity_viewからの出力の選択


Oracle管理の異機種間接続を使用したOracle Databases以外のデータベース・リンクの作成を参照してください


では、デモを体験してみましょう。次に、Salesforce CRMコネクタを使用して、Salesforce CRM組織への接続を確立します。このデモンストレーションでは、Account_Homeデータ・ストリームのSalesforce Data Cloud Sales合成データを使用します。まず、データ・ストリームがSalesforce CRMデータ・コネクタ・タイプを使用しており、データ・ストリームがACTIVEステータスであることを確認します。Data Cloudデータ・エクスプローラを使用して、データを検証します。


その後、Oracle Cloud Infrastructure(OCI)のAutonomous Databaseに接続し、SQLPLUSを起動します。SQLPLUSを使用して、Salesforceデータベース・タイプのHETEROGENEOUS_CONNECTIVITY_INFOビューを確認します。Salesforce CRM Account_Homeデータ・レイク・オブジェクトに対してSELECT文を発行します。この文は、資格証明および必要なデータベース・リンクが構成されていないため接続に失敗します。


接続を設定しました。オンザフライでは、DBMS_CLOUD.CREATE_CREDENTIALプロシージャを使用して、Salesforceログイン資格証明を使用して営業担当組織に接続するために必要な資格証明を作成します。次に、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKプロシージャを使用して、Salesforce CRMデータベースへのデータベース・リンクを作成します。資格証明とデータベース・リンクを構成したら、ACCOUNTデータに対してselect文を発行し、結果を確認します。


Figure3: データ共有のゼロコピーのデモ


Salesforce CRM Data Lake ACCOUNTオブジェクトへのデータ共有アクセス権がゼロになったので、このデータで何ができるかを見てみましょう。


Pyramid Construction Inc.のローカル・アカウント担当者を特定します。ローカル・アカウント担当者を見つけるには、Salesforce CRM ACCOUNT共有オブジェクトおよびローカルのACCOUNT_REPS表に参加する必要があります。


select
 a.emp_last_name,
 a.emp_first_name,
 a.emp_region,
 b.id,
 b.name,
 b.accountnumber,
 b.ownership,
 b.industry
from account_reps a, Account@mysalesforcelinkjpm b
 where a.emp_region = b.billingcountry
 and b.name like '%Pyramid Construction%';


どのように見えるかを見てみましょう:


Figure4: ゼロ・コピー・データ共有ローカルおよびリモート結合


Salesforce CRM ACCOUNTデータ・レイク・オブジェクトのローカル・コピーが必要だとします。単純なCreate Table As Select (CTAS)文を発行して、オブジェクトをローカルに作成できます。


create table sfcrm_account_local
as select
  ID,
  NAME,
  TYPE,
  BILLINGSTREET,
  BILLINGCITY,
  BILLINGSTATE,
  BILLINGPOSTALCODE,
  BILLINGCOUNTRY,
  SHIPPINGSTREET,
  SHIPPINGCITY,
  SHIPPINGSTATE,
  SHIPPINGPOSTALCODE,
  SHIPPINGCOUNTRY,
  PHONE,
  FAX,
  ACCOUNTNUMBER,
  INDUSTRY,
  NUMBEROFEMPLOYEES,
  OWNERSHIP,
  RATING
from account@mysalesforcelinkjpm;


そして、それがどのように見えるかを見てみましょう:


Figure5: リモート・データ・ソースの選択として表を作成


最後に、Salesforce CRM ACCOUNTデータ・レイク・オブジェクトのローカル・バージョンをマスターと同期させて、オブジェクトを定義し、ローカルに表を作成しないことをお薦めします。これを行うには、マスターにMATERIALIZED VIEWを作成し、オブジェクト(Salesforce CRM ACCOUNTオブジェクト)を定義します。次のデモでは、BUILD IMMEDIATE、REFRESH FORCE、ON DEMAND同期リフレッシュ可能MATERIALIZED VIEWをローカルに作成し、営業リード・フォローアップの可能性があるため、WARMと評価されたアカウントを追跡できるようにします。


create materialized view sfcrm_account_local_mv
build immediate
refresh force
on demand
as select
  ID,
  ISDELETED,
  MASTERRECORDID,
  NAME,
  TYPE,
  PARENTID,
  BILLINGSTREET,
  BILLINGCITY,
  BILLINGSTATE,
  BILLINGPOSTALCODE,
  BILLINGCOUNTRY,
  BILLINGLATITUDE,
  BILLINGLONGITUDE,
  BILLINGGEOCODEACCURACY,
  SHIPPINGSTREET,
  SHIPPINGCITY,
  SHIPPINGSTATE,
  SHIPPINGPOSTALCODE,
  SHIPPINGCOUNTRY,
  SHIPPINGLATITUDE,
  SHIPPINGLONGITUDE,
  SHIPPINGGEOCODEACCURACY,
  PHONE,
  FAX,
  ACCOUNTNUMBER,
  WEBSITE,
  PHOTOURL,
  SIC,
  INDUSTRY,
  ANNUALREVENUE,
  NUMBEROFEMPLOYEES,
  OWNERSHIP,
  TICKERSYMBOL,
  RATING,
  SITE,
  OWNERID,
  CREATEDDATE,
  CREATEDBYID,
  LASTMODIFIEDDATE,
  LASTMODIFIEDBYID,
  SYSTEMMODSTAMP,
  LASTACTIVITYDATE,
  LASTVIEWEDDATE,
  LASTREFERENCEDDATE,
  JIGSAW,
  JIGSAWCOMPANYID,
  CLEANSTATUS,
  ACCOUNTSOURCE,
  DUNSNUMBER,
  TRADESTYLE,
  NAICSCODE,
  NAICSDESC,
  YEARSTARTED,
  SICDESC,
  DANDBCOMPANYID,
  OPERATINGHOURSID,
  CUSTOMERPRIORITY__C,
  SLA__C,
  ACTIVE__C,
  NUMBEROFLOCATIONS__C,
  UPSELLOPPORTUNITY__C,
  SLASERIALNUMBER__C,
  SLAEXPIRATIONDATE__C
from account@mysalesforcelinkjpm;



Figure6: リモート・ゼロ・コピー・データ共有Salesforce CRMデータ・セットにマテリアライズド・ビューを作成します。



まとめ


実証済みのとおり、安全なマルチクラウド・ゼロ・データ・コピー・アクセスは複雑である必要はありません。2つの高速かつ簡単なステップを実行して、Salesforce CRMデータへの安全なゼロ・コピー・データ共有アクセスを迅速化することで、オンザフライ、ローカルまたはクロスリージョン・アクセスが可能になります。これにより、煩雑なETL操作やパイプライン構築のコストとオーバーヘッドが解消され、ビジネスクリティカルなデータにすぐにアクセスできます。


コメント

このブログの人気の投稿

Oracle RACによるメンテナンスのためのドレインとアプリケーション・コンティニュイティの仕組み (2023/11/01)

Oracle APEXのInteractive Gridで、Oracle Formsと比較して、重複行の検証を制御/通過させる方法 (2022/07/21)

Oracle APEX 24.1の一般提供の発表 (2024/06/17)