Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SalesforceArchitectGroupOsaka#14_platform-multi...
Search
atomica7sei
May 29, 2023
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SalesforceArchitectGroupOsaka#14_platform-multitenant-architecture
atomica7sei
May 29, 2023
More Decks by atomica7sei
See All by atomica7sei
TDX '26 Global Gathering for Dev_Arch_Agentforce_Labs
atomica7sei
0
120
SalesforceArchitectGroupOsaka_23_Agentforce_Implementation_Five_Agent_Patterns
atomica7sei
0
140
SalesforceArchitectGroupOsaka#22_Agentforce Vibes
atomica7sei
0
190
SalesforceArchitectGroupOsaka#20_CNX'25_Report
atomica7sei
0
440
SalesforceArchitectGroupOsaka#17_Well-Architected_Reliable
atomica7sei
0
460
SalesforceArchitectGroupOsaka#16_Well-Architected_ALM
atomica7sei
0
420
Salesforce World Tour Tokyo 2023秋 振り返り会 for Arch
atomica7sei
0
200
SalesforceArchitectGroup#15_Integration
atomica7sei
0
620
SalesforceArchitectGroupOsaka#13_Sharing_and_Visibility
atomica7sei
0
760
Other Decks in Technology
See All in Technology
Getting Started with Google Antigravity
glaforge
0
320
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
110
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
200
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
160
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
180
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
340
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
800
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.1k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
1
110
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
530
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Practical Orchestrator
shlominoach
192
12k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
460
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
30 Presentation Tips
portentint
PRO
1
430
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Building Applications with DynamoDB
mza
96
7.2k
Transcript
内部プラットフォーム処理
要約 2 • Salesforceプラットフォームの独自の処理アーキテクチャについて述べられている • クエリ ◦ コストベースのクエリオプティマイザーで、マルチテナント仕様および独自テーブル 仕様(MT_DATA等)により、様々な統計情報を駆使 ◦
内部セキュリティ関連テーブル(グループやメンバー、カスタム共有)等も考慮して いる • 検索 ◦ 最適なキャッシュ機構やインデックスでパフォーマンスを上げている • 一括操作 ◦ 一括処理エンジンが効率的なアプローチを取っている [出典]
要約 3 • スキーマの変更 ◦ メタデータ設計が活きている ◦ 全体的なパフォーマンスへの影響を軽減する仕組みがある(積み上げ集計項目を 設定→バックグラウンド処理で反映される) •
マルチテナントの分離と保護 ◦ ガバナ制限による保護 ◦ テストカバレッジを設けることで潜在的なシステム問題を回避する ◦ デプロイのプロセスもメタデータ設計による恩恵を受けている(エラー時のロール バックが容易) ◦ パフォーマンスの分析を行ってフィードバック • 削除、削除取消、ごみ箱 ◦ 15日間は復元可能 ◦ 子レコードも復元、参照関係も復元 [出典]
クエリ 4 [出典] APIやストアドプロシー ジャなどから呼び出され る。 事前クエリを実行。 統計情報を活用。 最適なクエリを構築。 結果を返す。
事前クエリを実行し、その結果に基づき、クエリオプティマイザ-でマルチテナント環境を 想定した最適なデータベースクエリを作成して実行する
クエリ 5 [出典] 事前クエリにおける実行基準 作成されるデータベースアクセスクエリの内容 ユーザのアクセス 権限レベル 絞り込み条件水準 低 低
ネストされたループ結合 ユーザが参照権限を持つ行のビューを使用 低 高 フィルタに関連付けられたインデックスを使用 高 低 順序を指定したハッシュ結合 MT_DATAテーブルを使用 高 高 フィルタに関連付けられたインデックスを使用 事前クエリで現在のユーザのアクセス権限とクエリの絞り込み条件の水準を評価し、その 結果に基づき、データアクセスを要求するデータベースクエリを作成
感想 6 • マーティン・ファウラー氏(アジャイルソフトウェア開発宣言やUML等で知られるソフト ウェア開発者)曰く、アーキテクチャとは「変更するのが難しいもの」 • 初期の段階で行った微妙な選択が今も影響している • Salesforceを利用する顧客はそのアーキテクチャを実際に知る必要はない(車を運 転する人が、車がどうして動いているのか知る必要がないのと同じ)
• ただ、背後にはこうしたアーキテクチャが歴然として存在し、24時間365日、問題の 解決に日々を費やしている素晴らしいSaleforceのエンジニアのチームがいるという こと • あらためてアーキテクチャの重要性に気づく内容だった [出典] https://engineering.salesforce.com/the-architecture-files-f1dfa7a97e77/