by Lonnie Lee Best
From what I understand, ObjectSpaces is more of an Object/Relational Mapping tool. You'll still have to design your database relationally and then use ObjectSpaces as a means of automating the mapping between your code and the relational database.
Source: http://www.dotnetspider.com/Technology/Tutorials/ObjectSpaces.aspx
However, with Matisse, you never directly design a relational database. Instead, you design your object model (You can do this directly in Matisse, or you can import it from a standards based object modeling tool). Matisse is designed to efficiently store instances of the objects (of the model you create) in a manner that will allow you to later query those instances (or objects) the same way you would query relational data out of a relational database (using SQL).
Then, Matisse generates a schema that gets placed (as a project) in your .Net solution. After this, you can manipulate persistent objects using C# code (as though you just got through creating the object in code) (Matisse also does this for Java, C++, and other programming frameworks and languages).
Back in February (2004), I signed up (free) as a user of the Matisse website (http://www.matisse.com). I then downloaded Matisse version 7 and started playing with it. Plus, I downloaded and read all the Matisse documentation (in pdf format). The documentation was provided on the same page from which I downloaded the 30 day trial version of Matisse.
Since then, I have purchased a developer version of Matisse, and I'm very excited about the product. At first I was worried that the next version of SQL Server would have all that Matisse has, and that I shouldn't bother with Matisse. However, after reading all the documentation and using Matisse for myself, I don't believe Microsoft will catch up to Matisse for years, or (at least) longer than I'm willing to wait.
Lonnie Lee Best (4/23/2004).