Multi-wire protocol and multi-dialect database engine for database compatability
AssigneeAmazon Technologies, Inc.
InventorsMurali Brahmadesam, Suprio Pal, Korry Allen Douglas, Jan Wieck, Stefano Stefani, Richard Shawn Bice
Life of this patent
Estimating the term…
Abstract
Techniques for implementing a multi-wire protocol and multi-dialect database engine are described. A database engine exposes multiple interfaces in the form of ports that support different database wire protocols. The database engine supports multiple query dialects that can be passed over any one of the supported wire protocols. The database engine can support multiple different query dialects within a single database session.
Claims20
A computer-implemented method comprising:
- hosting, by a service within a service provider network, a database instance including a first listener for a first port and a second listener for a second port, the first listener supporting a first application-layer database message exchange protocol associated with a first type of database that supports a first query language dialect, the second listener supporting a second application-layer database message exchange protocol associated with a second type of database that supports a second query language dialect;
- establishing, via the first port, a first database session with a client using the first application-layer database message exchange protocol;
- receiving, via the first port, a first database statement originated by the client, wherein at least a portion of the first database statement is of the first query language dialect supported by the first type of database;
- executing, by a multi-dialect executor of the database instance, the first database statement;
- receiving, via the first port, a command originated by the client indicating a request to switch a current query language dialect, for the first database session, from the first query language dialect to the second query language dialect;
- receiving, via the first port, a second database statement originated by the client, wherein at least a portion of the second database statement is of the second query language dialect;
- and
- executing, by the multi-dialect executor of the database instance, the second database statement.
A computer-implemented method comprising:
- provisioning, by a database service of a service provider network, a database instance for a user;
- establishing, via a first port of the database instance, a first database session with a client using a first application-layer database message exchange protocol associated with a first type of database that supports a first query language dialect;
- receiving, via the first port, a first database statement originated by the client, wherein at least a portion of the first database statement is of the first query language dialect supported by the first type of database;
- executing, by a multi-dialect executor of the database instance, the first database statement;
- receiving, via the first port, a command originated by the client indicating a request to switch a current query language dialect, for the first database session, from the first query language dialect to a second query language dialect;
- receiving, via the first port, a second database statement originated by the client, wherein at least a portion of the second database statement is of a second query language dialect not supported by the first type of database;
- and
- executing, by the multi-dialect executor of the database instance, the second database statement.
A system comprising:
- a first one or more electronic devices to implement a first service in a multi-tenant service provider network, the first service to implement at least a portion of an application that includes a client driver;
- and
- a second one or more electronic devices to implement a database service in the multi-tenant service provider network, the database service including instructions that upon execution cause the database service to:
- provision, for a user of the service provider network, a database instance;
- establish, via a first port of the database instance, a first database session with the client driver using a first application-layer database message exchange protocol associated with a first type of database that supports a first query language dialect;
- receive, via the first port, a first database statement originated by the client driver, wherein at least a portion of the first database statement is of the first query language dialect supported by the first type of database;
- execute, by a multi-dialect executor of the database instance, the first database statement;
- receiving, via the first port, a command originated by the client indicating a request to switch a current query language dialect, for the first database session, from the first query language dialect to a second query language dialect;
- receiving, via the first port, a second database statement originated by the client, wherein at least a portion of the second database statement is of a second query language dialect not supported by the first type of database;
- and
- executing, by the multi-dialect executor of the database instance, the second database statement.
Dependencies are inferred from the claim text.