US 11,734,092 B2
Systems and methods for extending the data model of a monolithic database through a microservice for a multi-tenant platform
Alexander Vasilevskiy, Palo Alto, CA (US); Henning Schmiedehausen, Los Altos, CA (US); Suryatej Mukkamalla, San Mateo, CA (US); and Rui Zhang, Sunnyvale, CA (US)
Assigned to Zuora, Inc., Redwood City, CA (US)
Filed by Zuora, Inc., Redwood City, CA (US)
Filed on Aug. 9, 2022, as Appl. No. 17/884,407.
Application 17/884,407 is a continuation of application No. 16/892,142, filed on Jun. 3, 2020, granted, now 11,409,586.
Claims priority of provisional application 62/856,670, filed on Jun. 3, 2019.
Prior Publication US 2022/0382607 A1, Dec. 1, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/00 (2019.01); G06F 9/54 (2006.01); G06F 16/2455 (2019.01); G06F 16/28 (2019.01); G06F 16/27 (2019.01)
CPC G06F 9/547 (2013.01) [G06F 16/24554 (2019.01); G06F 16/27 (2019.01); G06F 16/288 (2019.01)] 21 Claims
OG exemplary drawing
 
1. A multi-tenant system, comprising:
one or more hardware processors;
a monolithic database configured to store global records, each global record of the global records including global fields common for all tenants of the multi-tenant system, the monolithic database configured to store a particular global record in response to a particular global record storage request and to retrieve the particular global record in response to a particular global record fetch request;
a custom field database configured to store custom records, each custom record of the custom records including one or more custom fields for a tenant of the tenants of the multi-tenant system, the custom database configured to store a particular custom record including one or more particular custom fields in association with the particular global record in response to a particular custom record storage request and to retrieve the particular custom record in response to a particular custom record fetch request;
a custom field record service configured to process the particular custom record storage request by instructing the custom field database to store one or more particular custom field values of the particular custom record for the particular tenant, and to process the particular custom record fetch request by instructing the custom field database to retrieve the one or more particular custom field values of the particular custom record for the particular tenant; and
a monolithic application configured to receive a record storage request or a record fetch request, the monolithic application configured to partition the record storage request into the particular global record storage request and the particular custom record storage request, the monolithic application configured to send the particular custom record storage request to the custom field record service, the monolithic application configured to partition the record fetch request into the particular global record fetch request and the particular custom record fetch request, the monolithic application configured to send the particular custom record fetch request to the custom field record service.