Database processes
The scdata
process
scdata
processThis is the main database process.
A database can be accessed by only one scdata
process at a time. Attempt to start two or more scdata
processes for the same database will fail with an exception.
Starcounter tooling or management components control scdata
processes and their lifetimes. Under normal circumstances no manual interaction with the scdata
process shall be required from Starcounter end users.
Deciding if a database process is started
When receiving a request to to start a database, Starcounter starts the corresponding database process if it's not already running. A client, such as an application asking to connect to Starcounter, specifies the path to the database directory, and Starcounter combines this with an internal, opaque database engine version number to determine if the process is running.
Let's look at two examples:
An application connects to Starcounter:
During startup, the application requests a connection to the database
mydb
, located in the root folder. This is indicated by theDatabase=./mydb
segment in the connection string.Starcounter checks the internal version of Starcounter binaries referenced by the application, e.g. "3.2.1".
Starcounter combines the two above values to form a unique database identity, and uses that to check if the database process is running.
Starcounter tool starts a database:
The Starcounter command line interface (CLI) is used to start the database
mydb
. This can be done with the commanddotnet star start ./mydb
.Starcounter checks the internal version of Starcounter binaries referenced by the tool, e.g. "3.2.1".
Starcounter combines the two above values to form a unique database identity, and uses that to check if the database process is running.
If two requests come to start the same database (same path), but versions mismatch, the second request will fail, saying that the database is already started (but with another, incompatible version of the Starcounter binaries).
The easiest way to assure compatibility is to use the same version of the tool as the version you use for your application.
When a database fails to start, and you suspect that a versioning mismatch may be the problem, you can check the version used. The procedure is similar for both Starcounter tooling and any application referencing Starcounter.Database
.
Find the folder from where the tool or application execute, e.g.
bin\Release
.There should be a
runtimes\%OS%\native
subfolder in there, where%OS
would be the platform you are on.Check the content of the
version.inc
file in that folder.
The scdblog
process
scdblog
processThis process is responsible for writing, compressing, and archiving database transaction log files. No manual interaction is required with this process.
Last updated