Hi folks,

I'm developing an AI system in C# that will pull out information from the internet in various forms and learn from it. The system will consist of a multitude of agents that interact with a very large central database of knowledge.

At the moment I'm at the prototyping phase. So far I've developed a special form of object that I intend to store my knowledge within. These objects can be serialised and deserialised into BLOBs for storing in the database.

Now I'm coming to the stage where I'm writing the class(es) that will be responsible for accessing the database and the said knowledge objects. I'm concerned that records within my database are going to potentially be accessed by multiple agents at the same time (both reading and writing), so I'm wondering if anybody can please be so kind to point me to a tutorial on how to cope with this and/or answer the following questions...

  1. I've noticed that within C# VS2008 Express, there are 2 different database types; "Local Database" and "Service-based Database". Which should I go for in this case?
  2. What sort of locking mechanisms are available within SQL Server? My intended action for an agent that stumbles across a record being accessed by another is for it to scurry off and find another record that isn't being accessed (and possibly come back to it later).

Thanks in advance! :cool:

>Which should I go for in this case?

Use Service Based database.

>What sort of locking mechanisms are available within SQL Server?

See this.

Thanks! I'll take a look! :)

This article has been dead for over six months. Start a new discussion instead.