Abstract:
A server system provided according to an aspect of the present disclosure provides a shared connection pool to parallel execution entities accessing database instances of a distributed database when processing requests. A shared connection pool implies that each pool connection of the connection pool may be used for serving different execution entities requiring access to different database instances. In an embodiment, the database instances correspond to shards together implementing a distributed database, and the parallel execution entities correspond to threads.
Abstract:
Disclosed is an improved approach to implement cursor sharing in database systems, where a server-side mapping of cursor identifiers to SQL is maintained to allow for continued use of client-side statement caches even after connections and database sessions are returned to shared pools and then subsequently re-assigned. This avoids the need to clear the statement cache across session releases to the database session pools. Instead, applications can retain their statement cache while still leveraging the benefits of server based pooling solutions.
Abstract:
Disclosed is an improved approach to implement cursor sharing in database systems, where a server-side mapping of cursor identifiers to SQL is maintained to allow for continued use of client-side statement caches even after connections and database sessions are returned to shared pools and then subsequently re-assigned. This avoids the need to clear the statement cache across session releases to the database session pools. Instead, applications can retain their statement cache while still leveraging the benefits of server based pooling solutions.
Abstract:
A server system provided according to an aspect of the present disclosure provides a shared connection pool to parallel execution entities accessing database instances of a distributed database when processing requests. A shared connection pool implies that each pool connection of the connection pool may be used for serving different execution entities requiring access to different database instances. In an embodiment, the database instances correspond to shards together implementing a distributed database, and the parallel execution entities correspond to threads.
Abstract:
Some embodiments are directed to a method and apparatus for implementing an automatic failover mechanism for a resource. A client accesses a source through a first server using a first session. During the session, the client stores checksum information corresponding to data received via the session with the first server. When it is detected that the session between the first server and the client has failed, the client is automatically connected with second server that has access to the resource. The checksum information is transmitted from the client to the second server, where it is compared with checksum information calculated at the second server, so that a determination can be made as to whether the client can continue processing where it left off when connected to the second server.
Abstract:
Techniques described herein improve database security by reducing network attack surface area in conjunction with deep input validation. In an embodiment, a database session receives one or more network packets sent via a network, the database session including a database session state that specifies one or more database privileges. The database session reads said one or more network packets into one or more request-packet-buffers, wherein said one or more request-packet-buffers include an RPC op code for a database operation. Based on the one or more database privileges associated with the user associated with the database session, the database session determines whether the RPC op code may be executed. In response to determining that the RPC op code may be executed by said database session, the RPC op code is executed. In response to determining that the op code may not be executed by said database session, the execution of the RPC op code is prevented.
Abstract:
Techniques described herein improve database security by reducing network attack surface area in conjunction with deep input validation. In an embodiment, a database session receives one or more network packets sent via a network, the database session including a database session state that specifies one or more database privileges. The database session reads said one or more network packets into one or more request-packet-buffers, wherein said one or more request-packet-buffers include an RPC op code for a database operation. Based on the one or more database privileges associated with the user associated with the database session, the database session determines whether the RPC op code may be executed. In response to determining that the RPC op code may be executed by said database session, the RPC op code is executed. In response to determining that the op code may not be executed by said database session, the execution of the RPC op code is prevented.