Techniques for data retention
First Claim
1. A method of managing data in a multitenant computing environment having a relational database and a non-relational database, the multitenant computing environment having multiple tenants where data for multiple tenants is stored in a single physical database object and tenant data is arranged so that data of one tenant is kept logically separate from that of other tenants so that one tenant does not have access to another tenant'"'"'s data unless such data is expressly shared, the method comprising:
- identifying static data for a plurality of tenants in the multitenant computing environment to be maintained beyond a preselected threshold length of time with one or more server computing devices, wherein parameters to define the static data and the preselected threshold length of time are different for each of the plurality of tenants of the multitenant computing environment, wherein each tenant is a different organization comprising a plurality of users;
copying the static data corresponding to the plurality of tenants from the relational database to the non-relational database;
storing the static data in the non-relational database, wherein the static data in the non-relational database have the same logical separation for each tenant as the tenant data in the relational database;
providing access to the static data from the non-relational database via a user interface that accesses both the relational database and the non-relational database;
transforming a query received via the user interface in a relational database language to a scan for each row key range of multiple row key ranges thereby performing multiple parallel scans of the non-relational database to retrieve result data from the non-relational database corresponding to the query in the relational database language to perform a search of the static data stored in the non-relational database; and
merging results of the multiple parallel scans of data in the non-relational database to present a combined result corresponding to the query received in the relational database language via the user interface.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and techniques for managing data in a relational database environment and a non-relational database environment. Data in the relational database environment that is static and to be maintained beyond a preselected threshold length of time is identified. The data is copied from the relational database and stored in the data the non-relational database. Access to the data is provided from the non-relational database via a user interface that accesses both the relational database and the non-relational database.
141 Citations
20 Claims
-
1. A method of managing data in a multitenant computing environment having a relational database and a non-relational database, the multitenant computing environment having multiple tenants where data for multiple tenants is stored in a single physical database object and tenant data is arranged so that data of one tenant is kept logically separate from that of other tenants so that one tenant does not have access to another tenant'"'"'s data unless such data is expressly shared, the method comprising:
-
identifying static data for a plurality of tenants in the multitenant computing environment to be maintained beyond a preselected threshold length of time with one or more server computing devices, wherein parameters to define the static data and the preselected threshold length of time are different for each of the plurality of tenants of the multitenant computing environment, wherein each tenant is a different organization comprising a plurality of users; copying the static data corresponding to the plurality of tenants from the relational database to the non-relational database; storing the static data in the non-relational database, wherein the static data in the non-relational database have the same logical separation for each tenant as the tenant data in the relational database; providing access to the static data from the non-relational database via a user interface that accesses both the relational database and the non-relational database; transforming a query received via the user interface in a relational database language to a scan for each row key range of multiple row key ranges thereby performing multiple parallel scans of the non-relational database to retrieve result data from the non-relational database corresponding to the query in the relational database language to perform a search of the static data stored in the non-relational database; and merging results of the multiple parallel scans of data in the non-relational database to present a combined result corresponding to the query received in the relational database language via the user interface. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for managing data in a multitenant computing environment having a relational database and a non-relational database, the multitenant computing environment having multiple tenants where data for multiple tenants is stored in a single physical database object and tenant data is arranged so that data of one tenant is kept logically separate from that of other tenants so that one tenant does not have access to another tenant'"'"'s data unless such data is expressly shared, the system comprising:
-
at least one server computing device configured to provide services to one or more remote client computing devices; a database management environment configured to support services provided by the server computing device, the database management environment further configured to; identify static data for a plurality of tenants in the multitenant computing environment to be maintained beyond a preselected threshold length of time with one or more server computing devices, wherein parameters to define the static data and the preselected threshold length of time are different for each of the plurality of tenants of the multitenant computing environment, herein each tenant is a different organization comprising a plurality of users, copy the static data corresponding to the plurality of tenants from the relational database to the non-relational database, store the static data in the non-relational database, wherein the static data in the non-relational database have the same logical separation for each tenant as the tenant data in the relational database, provide access to the static data from the non-relational database via a user interface that accesses both the relational database and the non-relational database, transform a query received via the user interface in a relational database language to a scan for each row key range of multiple row key ranges thereby performing multiple parallel scans of the non-relational database to retrieve result data from the non-relational database corresponding to the query in the relational database language to perform a search of the static data stored in the non-relational database, and merge results of the multiple parallel scans of data in the non-relational database to present a combined result corresponding to the query received in the relational database language via the user interface. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium having instructions stored thereon to manage data in a multitenant computing environment having a relational database and a non-relational database, the multitenant computing environment having multiple tenants where data for multiple tenants is stored in a single physical database object and tenant data is arranged so that data of one tenant is kept logically separate from that of other tenants so that one tenant does not have access to another tenant'"'"'s data unless such data is expressly shared, the instructions, when executed by one or more processors, to:
-
identify static data for a plurality of tenants in the multitenant computing environment to be maintained beyond a preselected threshold length of time with one or more server computing devices, wherein parameters to define the static data and the preselected threshold length of time are different for each of the plurality of tenants of the multitenant computing environment, wherein each tenant is a different organization comprising a plurality of users; copy the static data corresponding to the plurality of tenants from the relational database to the non-relational database; store the static data in the non-relational database, wherein the static data in the non-relational database have the same logical separation for each tenant as the tenant data in the relational database; provide access to the static data from the non-relational database via a user interface that accesses both the relational database and the non-relational database; transform a query received via the user interface in a relational database language to a scan for each row key range of multiple row key ranges thereby performing multiple parallel scans of the non-relational database to retrieve result data from the non-relational database corresponding to the query in the relational database language to perform a search of the static data stored in the non-relational database; and merge results of the multiple parallel scans of data in the non-relational database to present a combined result corresponding to the query received in the relational database language via the user interface. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An apparatus for managing data in a multitenant computing environment having a relational database and a non-relational database, the multitenant computing environment having multiple tenants where data for multiple tenants is stored in a single physical database object and tenant data is arranged so that data of one tenant is kept logically separate from that of other tenants so that one tenant does not have access to another tenant'"'"'s data unless such data is expressly shared, the apparatus comprising:
-
means for identifying static data for a plurality of tenants in the multitenant computing environment to be maintained beyond a preselected threshold length of time with one or more server computing devices, wherein parameters to define the static data and the preselected threshold length of time are different for each of the plurality of tenants of the multitenant computing environment; means for copying the static data corresponding to the plurality of tenants from the relational database to the non-relational database; means for storing the static data in the non-relational database, wherein the static data in the non-relational database have the same logical separation for each tenant as the tenant data in the relational database; means for providing access to the static data from the non-relational database via a user interface that accesses both the relational database and the non-relational database; means for transforming a query received via the user interface in a relational database language to a scan for each row key range of multiple row key ranges thereby performing multiple parallel scans of the non-relational database to retrieve result data from the non-relational database corresponding to the query in the relational database language to perform a search of the static data stored in the non-relational database; and means for merging results of the multiple parallel scans of data in the non-relational database to present a combined result corresponding to the query received in the relational database language via the user interface. - View Dependent Claims (17, 18, 19, 20)
-
Specification