LoginSignup
0
0

More than 1 year has passed since last update.

Salesforce SOQL・SOSLのDB背景

Posted at
1 / 14
  • 数据库

    • データベース・Database・DB
  • 关系型与非关系型

    • リレーショナルと非リレーショナル
    • relational/Non-relational DBMS(DB Management System)
  • 大数据

    • ビッグデータ・Big Data

参考:ビッグデータアーキテクチャの戦略 > データベースの基本について


  • 历史上的5个里程碑・歴史の 5 つのマイルストーン・Five milestones in history
  1. 20世紀60年代、「Datebase」という用語が登場、非リレーショナル、自由形式のレコードがリンクされていただけでした
  2. 20世紀70年代、リレーショナルデータベースが登場、
    • 標準になり、正規化され、関連付けられ、検索可能なテーブルで構成されていました
  3. 20世紀80年代、デスクトップコンピューティングが普及すると、基盤となるデータベース「Oracle(1983年)、IBM DB2(1983年)等」、ユーザフレンドリー(用户操作界面)

  • 20世紀90年代、オブジェクト指向プログラミング (OOP) が開発され、クラスやプロパティで整理
    • オブジェクト指向データベース管理システム (OODBMS; Object Oriented DBMS) 、
    • オブジェクト定義言語 (ODL; Object Definition Language)、
    • Illustra (Illustra Information Systems、後にInformixにより買収され、さらにそのInformixはIBMに買収された)、
    • Omniscience (Omniscience Corporation、後に Oracle Corporation により買収されオリジナルの Oracle Lite となった)
  • 21世紀 非リレーショナルデータベースが NoSQL (Not only SQL) データベースという形で復活
    • シンプルながら拡張性に優れていた
    • ビッグデータ
    • リアルタイム
    • Web アプリケーションの要求を満たす

  • リレーショナルデータベース
    • 主キー、外部キー  主键,外键 image.png
    • 原子性 アトミック (Atomic) : 全てのタスクを成功させる必要、不成功タスクが有れば、トランザクションがロールバックされ
    • 一貫性 (Consistent): トランザクションを通してデータベースの状態が一貫している必要
    • 孤立 (Isolated): 各トランザクションが独立し、他のトランザクションに依存
    • デュラブル (Durable): 失敗したトランザクションのデータを復元できる
    • 厳格な構造

  • 非リレーショナルデータベース
    • 1990 年代にインターネットが急速に広まり、カテゴリに収まらないデータが Web アプリケーションで生成されるようになると、構造に適合しない状況が生じるようになりました。
    • ここで非リレーショナルデータベースが盛り返します。
    • 「SQL に限定されない」を意味する「Not only SQL」あるいは「NoSQL」データベースと言われることもあります。 image.png
  • キー - 値ペアは連想配列モデル
  • 列指向ストアはテーブル構造
  • ドキュメント指向システム (XML)
  • グラフは、要素、要素間のリレーション、要素とリレーションの両方に割り当てられた属性を整理

  • 非リレーショナルデータベースの特徴
  • 基本的に使用可能 (Basically available): 障害が発生した場合でもシステムを使用できます。
  • 状態の柔軟性 (Soft state): データの状態が変わる可能性があります。
  • 最終的な一貫性 (Eventual consistency): トランザクションレベルでは一貫性が保証されませんが、最終的には全ノードのデータが同期されます。 image.png

  • ビッグデータ
    • ビッグデータとは、データセットが大きすぎるまたは複雑すぎるため、従来のデータ処理アプリケーションソフトウェアでは処理できないデータを言う
    • 「大きい」とは、何億 (場合によっては何十億) もの行のことです。
    • ストレージが安価になり、処理が高速になった現在ではビッグデータが巷に溢れています。
    • 人工知能 (AI) は機械学習を使用して、人間の限界を上回る速度でレコードを処理します。

  • 標準オブジェクトとカスタムオブジェクト
    • プロセスビルダー、フロー、入力規則、Apex トリガなどのツールを使用
    • 1 つのオブジェクトに保存するレコードが 2,000 万件以下
    • 最新データにリアルタイムでアクセスする必要
    • 複数のレコード間のトランザクションをサポート

  • Salesforce Connect
    • Salesforce 組織に大量のデータをコピーしたくない。
    • 一度に少量のデータにアクセスする。
    • 最新データをリアルタイムで取得する。

  • Heroku Connect Heroku Connect は、Salesforce と、管理 SQL DaaS (サービスとしてのデータベース) である Heroku Postgres データベースを結び付けます。 image.png
  • Salesforce に格納されているデータを変更する可能性がある B2C アプリケーションを使用する。
  • Salesforce と Heroku Postgres データベース間でデータを同期する必要がある。
  • 1 つのオブジェクトに保存するレコードが 2,000 万件以下である。
  • プロセスビルダー、フロー、入力規則、Apex トリガなどのツールを使用して、ビジネスロジックを自動化する必要がある。

  • Big Object
    • データが 2,000 万行から数十億行に至る場合は Big Object を推奨
    • Big Object は非リレーショナルデータベースを使用してデータを格納
    • 主キーアクセスを使用するリアルタイムの SOQL クエリがサポートされ
    • インデックス付けによって、数十億行の全データに対してクエリが実行され
    • 【非同期 SOQL】 は、通常の SOQL で対処できない Big Object からの大量データを移動、変換、集計するよう最適化され
    • image.png 1.数百万行から数十億行のデータを処理する必要がある。 2.フルデータセットのデータと集計の多数のセットを (非同期 SOQL を使用して) バッチ処理する必要がある。 3.業務レポートまたは Tableau CRM を使用してビッグデータを分析する必要がある

image.png


セキュリティ要件
image.png


適切なビッグデータソリューションの選択
image.png
- 場所
- 数量
- データの使用法
- データ分析オプションの検討
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0