Efficiently deleting data from objects in a multi-tenant database system
US-2019325039-A1 · Oct 24, 2019 · US
US11789925B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11789925-B2 |
| Application number | US-201916543116-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 16, 2019 |
| Priority date | Jun 27, 2011 |
| Publication date | Oct 17, 2023 |
| Grant date | Oct 17, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system that implements a scaleable data storage service may maintain tables in a non-relational data store on behalf of clients. Each table may include multiple items. Each item may include one or more attributes, each containing a name-value pair. Attribute values may be scalars or sets of numbers or strings. The system may provide an API usable to request that values of one or more of an item's attributes be updated. An update request may be conditional on expected values of one or more item attributes (e.g., the same or different item attributes). In response to a request to update the values of one or more item attributes, the previous values and/or updated values may be optionally returned for the updated item attributes or for all attributes of an item targeted by an update request. Items stored in tables may be indexed using a simple or composite primary key.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: performing, by one or more computing devices implementing a non-relational data store, comprising: receiving an Application Programming Interface (API) call to replace an item that is stored in the non-relational data store, wherein each item comprises an unordered set of name and value pairs; and in response to said receiving, replacing the set of name and value pairs of the item with name and value pairs specified in the API call; wherein the replacing comprises evaluating a composite primary key that uniquely identifies the item, wherein the composite primary key includes different elements, and wherein at least one of the different elements is hashed to determine a partition that stores the item; wherein the API call specifies an expected value of an attribute of the item, wherein the attribute of the item is different than the composite primary key that uniquely identifies the item; wherein the replacing is performed in response to determining that the expected value matches a stored value of the attribute; and wherein determining that the expected value does not match the stored value of the attribute causes the non-relational data store to respond to the API call with a failure indication for the expected value of the attribute of the item. 2. The method of claim 1 , wherein the item comprises a plurality of attributes; wherein the API call specifies an expected value of each of two or more attributes of the item; and wherein said replacing is performed in response to determining that the expected values matches stored value of the two or more attributes. 3. The method of claim 1 , wherein the expected value for the item specifies a current value of a numeric attribute of the item; and wherein said replacing comprises incrementing or decrementing the current value of the numeric attribute by an amount indicated in the API call. 4. The method of claim 1 , wherein the expected value for the item specifies a current value of an attribute of the item; and wherein said replacing comprises replacing the current value of the attribute with a different value specified in the API call. 5. The method of claim 1 , wherein the expected value for the item specifies that the attribute of the item exists; and wherein said replacing comprises deleting the attribute from the item. 6. The method of claim 1 , wherein the expected value for the item specifies that the attribute of the item does not exist; and wherein said replacing comprises adding the attribute to the item. 7. The method of claim 1 , wherein the expected value for the item specifies that the item exists; and wherein said replacing comprises inserting the item into the table of the non-relational data store. 8. A system, comprising: a plurality of computing nodes, each comprising at least one processor and memory comprising program instructions executable to: receive an Application Programming Interface (API) call to replace an item that is stored in the non-relational data store, wherein each item comprises an unordered set of name and value pairs; and in response to said receive, replace the set of name and value pairs of the item with name and value pairs specified in the API call; wherein the replace comprises an evaluation of a composite primary key that uniquely identifies the item, wherein the composite primary key includes different elements, and wherein at least one of the different elements is hashed to determine a partition that stores the item; wherein the API call specifies an expected value of an attribute of the item, wherein the attribute of the item is different than the composite primary key that uniquely identifies the item; wherein the replace is performed responsive to a determination that the expected value matches a stored value of the attribute; and wherein a determination that the expected value does not match the stored value of the attribute causes the non-relational data store to respond to the API call with a failure indication for the expected value of the attribute of the item. 9. The system of claim 8 , wherein the item comprises a plurality of attributes; wherein the API call specifies an expected value of each of two or more attributes of the item; and wherein said replace is performed responsive to a determination that the expected values matches stored value of the two or more attributes. 10. The system of claim 8 , wherein the expected value for the item specifies a current value of a numeric attribute of the item; and wherein said replace comprises to increment or decrement the current value of the numeric attribute by an amount indicated in the API call. 11. The system of claim 8 , wherein the expected value for the item specifies a current value of an attribute of the item; and wherein said replace comprises replacement of the current value of the attribute with a different value specified in the API call. 12. The system of claim 8 , wherein the expected value for the item specifies that the attribute of the item exists; and wherein said replace comprises deletion of the attribute from the item. 13. The system of claim 8 , wherein the expected value for the item specifies that the attribute of the item does not exist; and wherein said replace comprises to add the attribute to the item. 14. The system of claim 8 , wherein the expected value for the item specifies that the item exists; and wherein said replace comprises insertion of the item into the table of the non-relational data store. 15. One or more non-transitory, computer-readable storage media storing program instructions that if executed on or across one or more computers cause the one or more computers to: receive an Application Programming Interface (API) call to replace an item that is stored in the non-relational data store, wherein each item comprises an unordered set of name and value pairs; and in response to said receive, replace the set of name and value pairs of the item with name and value pairs specified in the API call; wherein the replace comprises an evaluation of a composite primary key that uniquely identifies the item, wherein the composite primary key includes different elements, and wherein at least one of the different elements is hashed to determine a partition that stores the item; wherein the API call specifies an expected value of an attribute of the item, wherein the attribute of the item is different than the composite primary key that uniquely identifies the item; wherein the replace is performed responsive to a determination that the expected value matches a stored value of the attribute; and wherein a determination that the expected value does not match the stored value of the attribute causes the non-relational data store to respond to the API call with a failure indication for the expected value of the attribute of the item. 16. The one or more non-transitory, computer-readable storage media of claim 15 , wherein the item comprises a plurality of attributes; wherein the API call specifies an expected value of each of two or more attributes of the item; and wherein said replace is performed responsive to a determination that the expected values matches stored value of the two or more attributes. 17. The one or more non-transitory, computer-readable storage media of claim 5 , wherein the expected value for the item specifies a current value of a numeric attribute of the item; and wherein said replace comprises to increment or decrement the current value of the numer
Update request formulation · CPC title
Updating · CPC title
Ensuring data consistency and integrity · CPC title
Data partitioning, e.g. horizontal or vertical partitioning · CPC title
Integrating or interfacing systems involving database management systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.