IP Library Granted Patent US 11,157,466
Granted Patent B2
US 11,157,466 · App. 16/121,598 · Granted Oct 26, 2021

Data templates associated with non-relational database systems

Inventors: Benjamin Busjaeger (San Carlos, CA); Michael Sgroi (San Francisco, CA); Scott D. Hansma (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F16/211G06F16/2448G06F16/25G06F16/258H04L67/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,157,466
App. No.
16/121,598
Granted
Oct 26, 2021
Kind
B2
Abstract

In various embodiments, a computer system implements a service that stores a plurality of database templates that define data types supported for a non-relational database accessible to a plurality of applications. The service receives, from a developer of an application, a selection of one of the plurality of database templates to be used by the application. In response to the selection, the service issues a set of data definition language (DDL) instructions to provision the non-relational database with a schema that implements a particular data type defined by the selected template. Requests from the application to manipulate a value of the particular data type stored in the non-relational database system are serviced. In some embodiments, the servicing includes identifying a set of data manipulation language (DML) instructions to be executed and issuing the set of DML, instructions to the non-relational database.

Claims (50)

1. A non-transitory computer readable medium having program instructions stored therein that are capable of causing a computing system to implement a service performing operations comprising:

maintaining a software development platform that hosts applications provided by a plurality of developers, wherein the maintaining includes storing a plurality of database templates that define data types supported for a non-relational database accessible to one or more of the applications;

receiving, from a developer of an application and via a graphical user interface of the development platform, a selection of one of the plurality of database templates to be used by the application;

in response to the selection, issuing a set of data definition language (DDL) instructions to provision the non-relational database with a schema that implements a particular data type defined by the selected database template; and

servicing a request from the application to manipulate a value of the particular data type stored in the non-relational database.

2. The computer readable medium of claim 1 , wherein the servicing includes:

receiving, from the application, data requesting manipulation of the value of the particular data type;

based on the selected database template, identifying a set of data manipulation language (DML) instructions to be executed with respect to the received data; and

issuing the set of DML instructions to the non-relational database.

3. The computer readable medium of claim 2 , wherein the data requesting manipulation specifies a data type of the application; and

wherein the servicing includes translating the data type of the application to the particular data type defined by the selected database template.

4. The computer readable medium of claim 3 , wherein the servicing includes:

identifying a key that corresponds to the value of the particular data type; and

specifying the identified key in the set of DML instructions issued to the non-relational database, wherein the non-relational database is a key-value storage.

5. The computer readable medium of claim 2 , wherein the servicing includes:

determining that the data requesting manipulation requests a write operation; and

accessing the selected database template to identify a set of DML instructions to cause the non-relational database to perform the write operation.

6. The computer readable medium of claim 2 , wherein storing the database template includes storing metadata defining one or more fields of the particular data type and storing DML instructions executable by the non-relational database to implement one or more operations identifiable in the requests from the application.

7. The computer readable medium of claim 1 , wherein the operations comprise:

storing the value of the particular data type in a cache of the computing system, wherein the cache is distinct from the non-relational database; and

servicing a request from the application to read the value of the particular data type by reading the stored value from the cache.

8. The computer readable medium of claim 1 , wherein the servicing includes:

communicating with an application server operable to serve the application to a plurality of client devices.

9. The computer readable medium of claim 8 , wherein the servicing includes:

receiving, from the application, a hypertext transfer protocol (HTTP) POST request to manipulate the value of the particular data type stored in the non-relational database.

10. A method, comprising:

a computing system receiving, from a developer of an application, a selection of one of a plurality of database templates to be used by the application, wherein the database templates define data types supported for a non-relational database accessible to the application;

in response to the selection, the computing system issuing a set of data definition language (DDL) instructions to provision the non-relational database with a schema that implements a particular data type defined by the selected database template;

the computing system servicing a request from the application to manipulate a value of the particular data type defined by the selected database template;

in response to the request, the computing system identifying a set of data manipulation language (DML) instructions based on the selected database template; and

the computing system issuing the identified set of DML instructions to the non-relational database.

11. The method of claim 10 , wherein the identifying includes:

translating a data type specified by the application in the request to the particular data type defined by the selected database template; and

identifying the set of DML, instructions based on the translating.

12. The method of claim 10 , further comprising:

the computing system storing an instance of the value of the particular data type in a cache of the computing system; and

the computing system servicing a request to read the value from the non-relational database by reading the value from the cache.

13. The method of claim 10 , wherein the application is hosted on an application server configured to serve the application to a plurality of client devices and to communicate with the computing system.

14. A non-transitory computer readable medium having program instructions stored thereon that are capable of causing a computing system to implement operations comprising:

presenting a user interface identifying a plurality of database templates that define data types supported for a non-relational database accessible to a plurality of applications;

receiving, via the user interface, a selection of one of the plurality of database templates to be used by an application;

in response to the selection, issuing a set of instructions to provision the non-relational database with a schema that implements a particular data type defined by the selected database template; and

causing the non-relational database to store a value of the particular data type for the application.

15. The computer readable medium of claim 14 , wherein the operations comprise:

receiving, from the application, a request to store the value, wherein the request is a hypertext transfer protocol (HTTP) POST request issued from a server hosting the application.

16. The computer readable medium of claim 14 , wherein the causing includes issuing a data manipulation language (DML) instruction to store the value of the particular data type in non-relational database, wherein the instruction identifies the value and a key associated with the value.

17. The computer readable medium of claim 14 , wherein the operations comprise:

storing a copy of the value of the particular data type in a cache; and

reading the copy of the value from the cache in response to a request from the application to read the value.

18. The computer readable medium of claim 14 , wherein the particular data type is one of a plurality of data types defined by the selected database template.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0378 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2018
From: BUSJAEGER, BENJAMIN; SGROI, MICHAEL; HANSMA, SCOTT D.
To: SALESFORCE.COM, INC.
Reel/Frame 046783/0654 →
Continuity (1)
Related Publication 20200073972A1 · Mar 5, 2020