ArcSDE Direct Connection

2155
4
12-03-2012 04:42 AM
DaleRoutledge
New Contributor II
Hi,

We are currently using ArcSDE 9.3.1 and ArcGIS Server 9.3.1. We use Application Server connection to SQL Server 2003 as we wanted to create geodatabases for seperate services and port numbers to avoid bottlenecking which was a problem when we just used port 5151. For example, our setup is:

Elevation - 5152
Mapping - 5153
Vector 5154 etc.

We are now moving to ArcGIS Server 10.1 and considering using the Direct Connection method but I am confused as to what port (if any) this method uses to connect to the DBMS. I have found a snippet of information saying that Direct Connection uses 'internal storage memory' to connect but if this is true, what does it mean?

Any help would be appreciated. Thanks,

Dale
0 Kudos
4 Replies
VinceAngelo
Esri Esteemed Contributor
The ArcSDE connection protocol has always allowed you to specify the database
in which you should be connected.  Once the single-database model took hold,
the port number dictated which database, so you may be out of practice on
specifying the database, but the option still exists.

Direct Connect doesn't connect on any port (except that of the underlying database)
and internal storage is always used for all connections.

- V
0 Kudos
DaleRoutledge
New Contributor II
Thanks for the speedy reply!

From further investigation I believe the client connects using a DLL and then goes into the SQL database through the DBMS OLE. Is bottlenecking still going to occur when hundreds, possibly thousands of clients are accessing the databases through this OLE?

Apologies if the question seems ill-informed, I am not a DB administrator so just trying to get my head around all the jargon!

Many thanks again,

Dale
0 Kudos
VinceAngelo
Esri Esteemed Contributor
In an application server connect, the ArcGIS user establishes a network connection to the
application server (giomgr) process, which bequeathes the connection to the application
server (gsrvr) process, which uses the native RDBMS networking protocol to connect to
the database.  With Direct Connect, the client starts a new thread running the same DLL
invoked by the gsrvr, communicates with the thread through the same basic I/O protocol,
and the DLL-bound thread communicates with the database server.  Either way, the session
puts a burden on the DBMS server, though I wouldn't classify it as a bottleneck (the server
performance requirements are actually less than if the application server process were
running on the DBMS server).

OLE is different protocol for different purposes.  It doesn't have anything to do with ArcSDE.

- V
0 Kudos
MarcoBoeringa
MVP Regular Contributor
From further investigation I believe the client connects using a DLL and then goes into the SQL database through the DBMS OLE. Is bottlenecking still going to occur when hundreds, possibly thousands of clients are accessing the databases through this OLE?

Apologies if the question seems ill-informed, I am not a DB administrator so just trying to get my head around all the jargon!


Dale, you may find these Help articles a useful read. It is in the 9.3 Help system, but nothing much has changed in terms of the application server / direct connect difference, so mostly still a valid read:

"Properties of a direct connection to an ArcSDE geodatabase"

and you may find this 10.1 Help topic useful:

"Database connections in ArcGIS for Desktop"
0 Kudos