コラム詳細

Salesforceのデータベースとは?概要やその仕組を徹底解説!

2023年09月20日

  • Salesforce

はじめに
セラクCCCのSalesforce推進部のNです。CRM・SFA(顧客管理および営業支援システム)ツールとしては、世界トップシェアを誇るSalesforce。現在、15万社以上が活用しているSalesforceですが、あらゆるユーザが日々入力・更新する極めて膨大な量のデータを、どのような仕組みで管理・運用しているのか、不思議に感じる・関心をもつ方も多いのではないでしょうか。そこで今回は、Salesforceの情報管理機能を支える「データベース」の、概要や仕組みを解説します。Salesforceのデータベースについて、さらに詳しく知りたいとお考えの担当者様は必読です。

 

また、データ分析のポイントについて解説しているこちらの資料「営業データ分析Salesforceで分析するための基本データ項目の考え方 ~基礎編~」と併せてご活用ください。

 

Salesforceの「データベース」とは?

近年、ビジネスのさまざまな場面で使われるようになった「データベース」という言葉。業務関連の資料集や総合マニュアルなどを、比喩的にデータベースと呼ぶ場合もあります。しかし、コンピューティングにおけるデータベースとは、さまざまなデータを1か所に整理・集約し、保管しながらアクセス可能な状態にする、箱のようなシステムのことです。
簡単に「箱のような」と書きましたが、その箱の善し悪しにより、集積したデータの抽出しやすさ、編集・共有の自由度などが異なるため、使い勝手のよい高性能なツールは、高性能なデータベースを用いているシステムと考えて間違いありません。
世界的に定評があり、さまざまなシステムに用いられているデータベースとしてMySQL、Oracle Database、Microsoft Access、Amazon Auroraなどがありますが、世界トップシェアを誇るCRM・SFAツールであるSalesforceは、OracleのRDBMS(リレーショナル・データベース)をデータベースとして用いています。
Oracleと言えば、あらゆる業種向けのクラウド型ソリューションを提供する企業であり、Salesforceとは直接の競合関係にあたります。それなのに、なぜ…と思われるかもしれません。ですが、たとえば、スマートフォンやタブレットなど完成品分野では完全なライバル関係にあるものの、部品供給の面では良好な協力関係を築いているAppleとSamsungのような半共生関係は、ICT系に限らず開発・生産業界内では珍しくありません。
Salesforceは、Oracleがもつ自律型データベース技術による「自己保護機能」および「自己修復機能」を活用し、製品の改善を続けているのです。オープンソース型のリレーショナル・データベースである、PostgreSQLなども活用しているSalesforceですが、プラットフォームの大部分はOracleのデータベース上で動作しています。

 

Salesforceの「テーブル」について

Salesforceが活用するOracle DatabaseもPostgreSQLも、データを「表」の形で管理するリレーショナル・データベース(関係データベース)です。「データを表の形で管理」と聞いてExcelを連想した方もいるでしょう。まさにその通りで、Salesforceが使っているOracle Databaseも、データを行、列で整理し、表をテーブルとして管理しています。
ただしSalesforceの場合、行を「レコード」、列を「フィールド」、テーブルを「オブジェクト」と呼びます。フィールドをもつオブジェクトと多数のレコードとが関連付けられながら、Salesforceのデータ群を管理しているわけです。テーブルについての理解を深めるために、オブジェクト、フィールド、レコードという3つのコア機能について解説します。

 

Salesforceオブジェクト

Salesforceには、「標準オブジェクト」「カスタムオブジェクト」「外部オブジェクト」という3種類のオブジェクト設定があります。
標準オブジェクトは、Salesforceの初起動時から設定されている、「アカウントオブジェクト」「リードオブジェクト」「コンタクトオブジェクト」などのオブジェクトです。カスタムオブジェクトは、ユーザの独自のニーズにより作成されるオブジェクトで、たとえば自社製品のPRイベントなどを行う場合、イベントオブジェクトを作成するなどの使い方をします。3番目の外部オブジェクトは、Salesforceの外部にあるデータをマッピングして読み込むカスタムオブジェクトの1つです。
これらのオブジェクトは、フィールドやレコードを使用した構造化が可能で、リレーショナルな機能を提供します。

 

Salesforceフィールド

前述のように、Salesforceのフィールドとは表の縦列(カラム)のことで、標準オブジェクトにはあらかじめ構築された標準フィールドが付属しています。また、カスタムオブジェクトには、「ID」「ネーム」「システム」の標準フィールドが自動的に付属します。
IDフィールドには、各レコードに対する一意のデータ識別子(15文字)が含まれ、各データセットに固有のものです。ネームフィールド、その名の通り単なるレコードの名前で、数字でも文字でも入力できます。システムフィールドは読み取り専用で、通常、そのレコードが最後に更新された日付と時間を含む文字列(Last-Modified)となります。

 

Salesforceレコード

オブジェクトと、そこに含まれるフィールドを定義すると、そのオブジェクトに対するレコードが作成できます。たとえば、「取引先」というオブジェクトがあり、取引先名、住所、担当者名などの項目をフィールドとして定義しておけば、そこに「株式会社ABC」「123製作所」などの新しいレコードが作成できるわけです。
フィールドの項目で述べたように、各レコードには一意の識別子が割り当てられ、レコードに入力するすべての情報が、その特定レコードに関連付けられます。

 

データベースの「リレーションシップ」について

前述したようにSalesforceのデータベースは、同じタイプのデータを共有するテーブル同士が連携し、それぞれのデータを相互利用できる「リレーショナル・データベース」です。各行(レコード)には一意の識別子があり、レコードが作成された各テーブル(オブジェクト)にも一意キーがあります。その一意キーを使用することによるオブジェクト同士のリレーションシップによって、情報を関連付けて共有し、動的で有用なデータネットワークを作成できるわけです。
Salesforceに標準設定されている標準オブジェクトには、最初からリレーションが定義されているので、たとえば標準オブジェクトである「アカウント」のタブの上隅には、「コンタクト」が自動で表示されています。もちろんカスタムオブジェクトにも、オブジェクトリレーションを設定できるのです。
なお、Salesforceには「参照関係(ルックアップリレーションシップ)」と、強固な連携を持たせる「主従関係(マスター詳細リレーションシップ)」という2種類のリレーションシップがあります。前者は、オブジェクト全体から関連するオブジェクトを「検索」できるリレーションシップであるのに対し、後者は、一方をマスターオブジェクトにし、関連するその他のオブジェクトをディテールオブジェクトとして制御するリレーションシップです。そのため、マスターオブジェクトにアカウント、ディテールオブジェクトに連絡先がある場合、アカウントを削除すると連絡先もすべて削除されます。
また、2種類のリレーションシップの下層には自己参照、外部参照、間接参照など複数タイプのリレーションシップがあり、複雑に入り組んだ構造になっています。この「参照関係」、「主従関係」については、こちら(Salesforce主従関係・参照関係とは? 作成・設定方法や注意点を解説 )をご覧ください。

 

「CData Sync」を使用したOracle Databaseとの連携方法

Salesforceを活用する組織内の誰もが、いつでもデータの参照・確認や更新ができるように、クラウド上のSalesforceは常時起動状態です。さらに、多くのユーザが情報資産の塊ともいえるSalesforceのデータを、他のクラウドサーバなどに常時バックアップしているはずですから、なんらかの事情で、Salesforce側のシステムに問題が生じた場合の待機システムへの自動切り替え(フェイルオーバー)機能や、リアルタイムな同期(レプリケーション)機能が求められます。
「CData Sync」の活用で、オンプレミスだけではなくクラウドにホスティングされているOracleにも、Salesforceのデータの反復同期が可能です。ここでは、CData Syncを使ってOracle Databaseと連携させる方法を紹介します。まず、Oracleをレプリケーション同期先に設定してから、データソース側にSalesforceを設定する手順です。

 

Oracleをレプリケーション同期先に設定

(1)「接続」タブを開いて「同期先」タブをクリックし、Oracleを同期先として選択

 

(2)必要な接続プロパティを入力。接続にはOracle Database Clientが必要なので、ダウンロードしてインストールする
※ダウンロード時には、アプリケーションのbitと一致するものをダウンロードし、インストール時にはRuntimeまたはAdministratorインストールタイプを選択

 

(3)Oracleデータベースへの接続に以下を設定する

  • ・Server/Oracleデータベースのホスト名またはサーバのIPアドレス
  • ・Port/Oracleデータベースをホストしているサーバに接続するポート名
  • ・User/Oracleデータベースに認証されたユーザID
  • ・Password/Oracleデータベースに認証されたパスワード
  • ・SID/Oracleデータベースのサービス名

 

(4)「接続のテスト」をクリックして正しく接続できているかをテストし、「変更を保存」をクリック

 

Salesforce 接続の設定

(1)「接続」タブをクリックし、「接続の追加」セクションで「データソース」タブを選択

 

(2)Salesforceアイコンをデータソースとして選択

 

(3)接続プロパティに入力

※Salesforceへの接続にはLogin、OAuth、SSOの3種類があり、Login方式ではUsername、Password、Security Tokenを使用して接続。Username、Passwordが使用できない、使用しない場合はOAuth認証も使用可能。SSOでは、SSOProperties、SSOLoginUrl、TokenUrlプロパティを設定することでID プロバイダー経由で利用可能。

 

(4)「接続のテスト」をクリックし、正しく接続できているかをテストして「変更を保存」をクリック

 

レプリケーションを実行するクエリの設定

CData SyncはレプリケーションをコントロールするSQLクエリを、簡単なGUI操作で設定できます。レプリケーションジョブ設定には、[ジョブ]タブに進み、[ジョブを追加]ボタンをクリックします。次にデータソースおよび同期先をそれぞれドロップダウンから選択しましょう。

 

テーブル全体をレプリケーションする
テーブル全体をレプリケーションするには、「テーブル」セクションで「テーブルを追加」をクリック。テーブルリストからレプリケーションするテーブルをチェック

 

テーブルをカスタマイズしてレプリケーションする
テーブル全体ではなくカスタマイズする場合、「変更」機能を使用してレプリケーションするカラムの指定、同期先でのカラム名を変更しての保存、ソースデータの各種加工が可能。レプリケーションのカスタマイズには、ジョブの「変更」ボタンをクリックしてカスタマイズウィンドウを開いて操作を行う

 

レプリケーションのスケジュール起動設定
「スケジュール」セクションでレプリケーションジョブの自動起動スケジュール設定が可能。反復同期間隔は15分おきから毎月1回までの間で設定が可能。

 

レプリケーションジョブを設定したら「変更を保存」ボタンを押して保存します。Salesforce dataのOracleへのレプリケーションジョブは、1つだけではなく複数作成することも可能です。

 

DataSpider Cloudを使用したデータベースの連携について

社内に構築している基幹システムで、データベースを管理している企業も多いのではないでしょうか。その場合、「DataSpider Cloud」を利用して、社内データベースとSalesforceとを連携・同期させる方法があります。
基幹システムで管理している取引先や商品のマスターデータを、Salesforce側にも同期させる、Salesforceで情報更新した成約データを社内データベースの販売管理システムに読み込ませるなど、非常に便利になるはずです。社内データベースに対し、DataSpider Cloudが直接データを読み書きするので、社内データベースにある在庫情報の参照や、Salesforceで作成する見積書に基幹システム側で採番された見積番号を付与するなど、リアルタイム性が求められる連携処理に適した手法だと言えるでしょう。
ただし、インターネット上にあるDataSpider Cloudから社内ネットワーク内のデータベースに直接接続するため、ネットワークセキュリティの考慮が必要です。DataSpider Cloudがオプションとして提供しているVPN接続を用いるなどで、セキュリティ性を確保しておくことをオススメします。

 

まとめ

今回は、Salesforceのデータベースの概要や仕組みについて紹介しました。データベースの仕組みを理解してSalesforceをさらに便利に使いたいが、難しい・わからないといった困りごとがありましたら、セラクCCCにご相談ください。
セラクCCCには300名(23年5月時点)を超える専門コンサルタントが在籍し、お客様側の視点からSalesforceのサポートサービスを行っています。効率的なSalesforceの活用を、セラクCCCのカスタマーサクセスチームがサポートいたします。お困りごとがありましたらお気軽に無料相談からお問い合わせください

Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください

  • TOP
  • コラム一覧
  • Salesforceのデータベースとは?概要やその仕組を徹底解説!

Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください