This article explains the Master Data services. A service is a kind of program that performs automated tasks and responds to hardware events or requests from other software. Master Data is composed by the following services: API, Worker, Storage and Search Engine.
The API is the service responsible to perform HTTP requests through endpoints that enable access to other services. The other services are the ones that actually store and execute tasks over the data.
The Worker is the service responsible for:
- Sending Documents to the Search Engine - This allows the Documents to be searchable and that their latest version are shown in the search results.
- Executing Triggers - This allows the execution of tasks that are triggered from operations in the Documents (i.e.: send an email after any field of a Client Document is changed).
- Import/Export process - Export to a csv file or import from a csv file Documents of a specific Data Entity.
The Storage service is where your data is kept. Master Data uses a powerful database to keep billions of documents stored safely.
The Documents API retrieves documents directly from the Storage service and it is used to retrieve one Document per request.
The data of a store account can only be accessed by this account. One account cannot access the data stored in other accounts and vice versa.
The Search Engine is a service that handles filters and aggregations. This service allows Documents to be searchable and is responsible to make the searches. The Search and Scroll APIs go to the Search Engine service and can retrieve many Documents at once.
When any data in the Storage is updated, a message is sent to Master Data Worker to execute triggers and to send the latest version of the Documents to the Search Engine, so the updated Documents become searchable. More details about this process can be found in the Consistency Level article.