Salesforce 데이터를 위한 타임머신 구축, 쉬운 방법
즉시 사용 가능한 도구와 약간의 코딩을 사용하여 타임머신을 구축한 방법과 몇 달 동안 테스트 데이터에서 실행한 후의 모습을 살펴보겠습니다.
먼저 테스트 데이터 환경에 대해: 임의로 생성된 계정 및 해당 계정과 연결된 기회가 있는 테스트 조직을 사용하고 있습니다. 또한 계정의 소규모 무작위 하위 집합을 변경하기 위해 몇 분마다 실행되는 서비스도 있습니다.
첫 번째 단계는 수집기 앱을 설정하는 것이었습니다. 이 앱은 모든 변경 사항을 메시지로 Kafka에 내보냅니다.
그런 다음 어딘가에 변경 사항을 스트리밍해야 했습니다.
그런 다음 Salesforce 데이터를 Heroku Postgres로 미러링하고 데이터에서 CDC를 수행하고 변경 사항을 Kafka로 스트리밍했습니다.
Node를 사용하여 Kakfa에서 이벤트 스트림을 수신하고 업데이트를 받아 Postgres의 테이블에 삽입하기로 결정했습니다.
External_id__c
및 sfid
필드와 같은 항목에서 중복 값을 허용하도록 합니다. 단일 Salesforce 조직의 많은 개체로 확장할 수 있을 뿐만 아니라 Work.com, Service Cloud 및 SalesCloud를 비롯한 많은 Salesforce 조직으로 확장할 수도 있습니다. 조직 전체에 대한 가시성을 쉽게 제공할 수 있을 뿐만 아니라 모든 변경 사항을 캡처하고 시간이 지남에 따라 레코드가 어떻게 진화했는지, 다른 조직에서 레코드가 서로 어떻게 관련되어 있는지 보고할 수 있습니다.
이 모든 데이터 흐름이 있는 결과는 무엇입니까?
컬렉터 앱을 보고 있습니다. 우리는 총 50,000개 이상의 계정을 보유하고 있으며 350MB의 데이터만 사용하고 있습니다. 임의로 계정을 선택하면 Postgres에서 해당 계정에 대한 최신 정보가 있음을 알 수 있습니다.
~ ☯ heroku pg:psql --app ggn-pg2k-test
--> Connecting to postgresql-rigid-10449
psql (12.4)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
ggn-pg2k-test::DATABASE=> SELECT pg_size_pretty(pg_total_relation_size('"salesforce"."account"'));
pg_size_pretty
----------------
349 MB
(1 row)
ggn-pg2k-test::DATABASE=> select count(*) from salesforce.account;
count
--------
501646
(1 row)
ggn-pg2k-test::DATABASE=> select name, sfid, score__c from salesforce.account
where External_id __c = '7f4acaad-6c77-4342-a533-83bb580aaf681586878813' ORDER BY score__ c;
name | sfid | score__c
--------------------------+--------------------+----------
Borer, Braun and Gutmann | 001f400001MDeYzAAL | 2
(1 row)
타임머신 앱으로 전환하면 동일한 데이터 소스에 총 88,577,70개의 레코드가 있으므로 저장된 레코드당 평균 160개 이상의 변경 사항이 있습니다. 단일 계정을 자세히 살펴보면 총 21개의 변경 사항을 볼 수 있습니다.
모든 레코드 및 변경 사항에 대한 총 데이터 저장 공간은 4GB가 조금 넘었습니다.
~ ☯ heroku pg:psql --app pg2k-gregs-drain
--> Connecting to postgresql-rugged-63570
psql (12.4, server 12.3 (Ubuntu 12.3-1.pgdg16.04+1))
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
pg2k-gregs-drain::DATABASE=> SELECT pg_size_pretty(pg_total_relation_size('"account"'));
pg_size_pretty
----------------
4274 MB
(1 row)
pg2k-gregs-drain::DATABASE=> select count(*) from account;
count
---------
8857770
(1 row)
pg2k-gregs-drain::DATABASE=> select name, sfid, score__c, id from account
where External_id__c = '7f4acaad-6c77-4342-a533-83bb580aaf681586878813' ORDER BY id;
name | phone | score__c | sfid | id
--------------------------+---------------------+----------+--------------------+---------
Borer, Braun and Gutmann | 5555551212 | 1 | 001f400001MDeYzAAL | 33351
Borer, Braun and Gutmann | 967-160-7974 x6487 | 15 | 001f400001MDeYzAAL | 34165
Borer, Braun and Gutmann | 967-160-7974 x6487 | 15 | 001f400001MDeYzAAL | 34699
Borer, Braun and Gutmann | 967-160-7974 x6487 | 15 | 001f400001MDeYzAAL | 35523
Borer, Braun and Gutmann | 967-160-7974 x6487 | 15 | 001f400001MDeYzAAL | 376946
Borer, Braun and Gutmann | 967-160-7974 x6487 | 15 | 001f400001MDeYzAAL | 971802
Borer, Braun and Gutmann | 967-160-7974 x6487 | 15 | 001f400001MDeYzAAL | 1041819
Borer, Braun and Gutmann | 5555551212 | 15 | 001f400001MDeYzAAL | 3006621
Borer, Braun and Gutmann | 1-151-183-4668 x379 | 5 | 001f400001MDeYzAAL | 3006628
Borer, Braun and Gutmann | 1-151-183-4668 x379 | 5 | 001f400001MDeYzAAL | 3006634
Borer, Braun and Gutmann | 1-151-183-4668 x379 | 5 | 001f400001MDeYzAAL | 3006648
Borer, Braun and Gutmann | 5555551212 | 5 | 001f400001MDeYzAAL | 5140095
Borer, Braun and Gutmann | 504.976.9652 x047 | 2 | 001f400001MDeYzAAL | 5140108
Borer, Braun and Gutmann | 504.976.9652 x047 | 2 | 001f400001MDeYzAAL | 5140114
Borer, Braun and Gutmann | 504.976.9652 x047 | 2 | 001f400001MDeYzAAL | 5140120
Borer, Braun and Gutmann | 504.976.9652 x047 | 2 | 001f400001MDeYzAAL | 5390250
Borer, Braun and Gutmann | 504.976.9652 x047 | 2 | 001f400001MDeYzAAL | 5620956
Borer, Braun and Gutmann | 504.976.9652 x047 | 2 | 001f400001MDeYzAAL | 7002900
Borer, Braun and Gutmann | 504.976.9652 x047 | 2 | 001f400001MDeYzAAL | 7031300
Borer, Braun and Gutmann | 504.976.9652 x047 | 2 | 001f400001MDeYzAAL | 7788503
Borer, Braun and Gutmann | 504.976.9652 x047 | 2 | 001f400001MDeYzAAL | 7906202
(21 rows)
이 패턴은 Heroku Connect 또는 Heroku Postgres에 있는 테이블을 통해 Salesforce 개체에 사용할 수 있습니다. 보시다시피 설정하기가 매우 쉽습니다. 코딩만 하면 모든 업데이트를 가져와 대상 데이터베이스에 저장할 리스너를 만드는 것뿐입니다.
이것이 바로 Heroku 플랫폼의 힘입니다. Heroku 플랫폼의 도구를 사용하여 데이터 및 기존 앱에서 강력한 작업을 수행하는 데 필요한 작업량을 줄입니다.
Reference
이 문제에 관하여(Salesforce 데이터를 위한 타임머신 구축, 쉬운 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/heroku/building-a-time-machine-for-salesforce-data-the-easy-way-34dh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)