ODB's and C#

  • Thread starter Thread starter Logician
  • Start date Start date
L

Logician

Are there any ODBMS's that work well with C#?

eg storing Uri as a database type (CustUri Type(Uri)) and then queries
such as select CustUri.AbsolutePath should be used).

I would find this useful. I know Oracle software has some object
functions, but it would be nice if something exists to handle C#
objects naturally.
 
Logician said:
Are there any ODBMS's that work well with C#?

eg storing Uri as a database type (CustUri Type(Uri)) and then queries
such as select CustUri.AbsolutePath should be used).

I would find this useful. I know Oracle software has some object
functions, but it would be nice if something exists to handle C#
objects naturally.

You would need a OODBMS for that. db4o is apparently good (I've not used
it though).

Otherwise, you're going to hit the object relational impedance mismatch.

An ORM (such as NHibernate) is the other option...

Alun Harford
 
You would need a OODBMS for that. db4o is apparently good (I've not used
it though).

Otherwise, you're going to hit the object relational impedance mismatch.

An ORM (such as NHibernate) is the other option...

Alun Harford

I am thinking of using Java for the OO work since there is a lot of
support for Java OO and OODBMS, eg with ORACLE. It is just a let down
that the IDE's for Java are so bad. I think the online interaction for
C# is good and also the IDE which are all pros for c#.

I really want a fully OO type of database so that I store a type of
data by meaning, eg a type Price which has attributes bargain, low,
high, budget etc. This will lead into semantics which I want as one
aspect but also easier processing of complex objects. Relational
models are really old now, and I think the web of data (Web 3) will
really strain relational models. I know LINQ is touted by MSFT as the
next best thing, but I am not convinced so far.
 
I really want a fully OO type of database so that I store a type of
data by meaning, eg a type Price which has attributes bargain, low,
high, budget etc. This will lead into semantics which I want as one
aspect but also easier processing of complex objects. Relational
models are really old now, and I think the web of data (Web 3) will
really strain relational models. I know LINQ is touted by MSFT as the
next best thing, but I am not convinced so far.

LINQ is absolutely orthogonal to the whole relational / object
dichotomy - if anything, the fact that you can do LINQ queries against
in-memory collections of plain .NET objects should be proof enough.
db4o supports LINQ queries, by the way; see
http://www.codeproject.com/KB/database/LINQ_for_db4o.aspx for an
example.

If you rather mean ADO.NET Entity Framework (aka LINQ to Entities),
then it is, indeed, just another ORM, and not particularly powerful
one at that.
 
LINQ is absolutely orthogonal to the whole relational / object
dichotomy - if anything, the fact that you can do LINQ queries against
in-memory collections of plain .NET objects should be proof enough.
db4o supports LINQ queries, by the way; seehttp://www.codeproject.com/KB/database/LINQ_for_db4o.aspxfor an
example.

If you rather mean ADO.NET Entity Framework (aka LINQ to Entities),
then it is, indeed, just another ORM, and not particularly powerful
one at that.

I am using db4o (or trying to) and it apparently stores whole objects
without any further defintion, eg

IObjectContainer db = Db4oFactory.OpenFile( ...)

db.Store(myObject)

Which is what I want.

I am still wondering why 90% of all dbms access is relational, when
that technology is very old (at least 30 years old). Is this just the
commercial influence of Oracle, Microsoft and others who have
financial interests in keeping systems working in rdbms technologies?
 
Logician said:
I am using db4o (or trying to) and it apparently stores whole objects
without any further defintion, eg

IObjectContainer db = Db4oFactory.OpenFile( ...)

db.Store(myObject)

Which is what I want.

It's all well and good, but db4o is positioned as a solution for embedded
and other low-footprint projects. What are its scalability properties? What
about concurrent access - how many active connections to the database can it
sustain? What happens if I start hitting it with 100 queries/second? 1000?
I am still wondering why 90% of all dbms access is relational, when
that technology is very old (at least 30 years old). Is this just the
commercial influence of Oracle, Microsoft and others who have
financial interests in keeping systems working in rdbms technologies?

To my knowledge, there are still no fully OODBMS solutions that match the
raw performance and scalability of RDBMS solutions. The reason is simple -
relational model is very well understood, and existing products have built
upon the old, mature, proven solutions (if you ask the vendors, you'll find
out that the core of their query analyzers is often still based around the
code of a few original RDBMS pioneers of 1970s).
 
It's all well and good, but db4o is positioned as a solution for embedded
and other low-footprint projects. What are its scalability properties? What
about concurrent access - how many active connections to the database can it
sustain? What happens if I start hitting it with 100 queries/second? 1000?

I do not know. I am still trying to get it work with one query.
To my knowledge, there are still no fully OODBMS solutions that match the
raw performance and scalability of RDBMS solutions. The reason is simple -
relational model is very well understood, and existing products have built
upon the old, mature, proven solutions (if you ask the vendors, you'll find
out that the core of their query analyzers is often still based around the
code of a few original RDBMS pioneers of 1970s).

You make a good point.

However with RDF about to be mainstream, we need Object databases.
 
You can try siaqodb ( http://siaqodb.com ). It has LINQ default and only query engine, it is very fast and is also working on Silverlight platform



Pavel Minaev wrote:

Re: ODB's and C#
28-Aug-08


LINQ is absolutely orthogonal to the whole relational / objec
dichotomy - if anything, the fact that you can do LINQ queries agains
in-memory collections of plain .NET objects should be proof enough
db4o supports LINQ queries, by the way; se
http://www.codeproject.com/KB/database/LINQ_for_db4o.aspx for a
example

If you rather mean ADO.NET Entity Framework (aka LINQ to Entities)
then it is, indeed, just another ORM, and not particularly powerfu
one at that.

Previous Posts In This Thread:

www.db4o.
www.db4o.com - I ruled it out due to the runtime license costs and went fo
an object->rdbms mapper (and more) at www.capableobjects.com instead


Pete

Re: ODB's and C#
Logician wrote

You would need a OODBMS for that. db4o is apparently good (I've not used
it though)

Otherwise, you're going to hit the object relational impedance mismatch

An ORM (such as NHibernate) is the other option..

Alun Harford

ODB's and C#
Are there any ODBMS's that work well with C#

eg storing Uri as a database type (CustUri Type(Uri)) and then querie
such as select CustUri.AbsolutePath should be used)

I would find this useful. I know Oracle software has some objec
functions, but it would be nice if something exists to handle C
objects naturally.

Re: ODB's and C#
I will try this.

Re: ODB's and C#

I am thinking of using Java for the OO work since there is a lot o
support for Java OO and OODBMS, eg with ORACLE. It is just a let dow
that the IDE's for Java are so bad. I think the online interaction fo
C# is good and also the IDE which are all pros for c#

I really want a fully OO type of database so that I store a type o
data by meaning, eg a type Price which has attributes bargain, low
high, budget etc. This will lead into semantics which I want as on
aspect but also easier processing of complex objects. Relationa
models are really old now, and I think the web of data (Web 3) wil
really strain relational models. I know LINQ is touted by MSFT as th
next best thing, but I am not convinced so far.

Re: ODB's and C#

LINQ is absolutely orthogonal to the whole relational / objec
dichotomy - if anything, the fact that you can do LINQ queries agains
in-memory collections of plain .NET objects should be proof enough
db4o supports LINQ queries, by the way; se
http://www.codeproject.com/KB/database/LINQ_for_db4o.aspx for a
example

If you rather mean ADO.NET Entity Framework (aka LINQ to Entities)
then it is, indeed, just another ORM, and not particularly powerfu
one at that.

Re: ODB's and C#

It's all well and good, but db4o is positioned as a solution for embedded
and other low-footprint projects. What are its scalability properties? What
about concurrent access - how many active connections to the database can it
sustain? What happens if I start hitting it with 100 queries/second? 1000

To my knowledge, there are still no fully OODBMS solutions that match the
raw performance and scalability of RDBMS solutions. The reason is simple -
relational model is very well understood, and existing products have built
upon the old, mature, proven solutions (if you ask the vendors, you'll find
out that the core of their query analyzers is often still based around the
code of a few original RDBMS pioneers of 1970s).

Re: ODB's and C#
database/LINQ_for_db4o.aspxfor an

I am using db4o (or trying to) and it apparently stores whole objects
without any further defintion, eg

IObjectContainer db =3D Db4oFactory.OpenFile( ...)

db.Store(myObject)

Which is what I want.

I am still wondering why 90% of all dbms access is relational, when
that technology is very old (at least 30 years old). Is this just the
commercial influence of Oracle, Microsoft and others who have
financial interests in keeping systems working in rdbms technologies?

Re: ODB's and C#
I do not know. I am still trying to get it work with one query.


You make a good point.

However with RDF about to be mainstream, we need Object databases.


Submitted via EggHeadCafe - Software Developer Portal of Choice
More Fun with Fluent NHibernate Automapping
http://www.eggheadcafe.com/tutorial...9-81ee42171b00/more-fun-with-fluent-nhib.aspx
 
Back
Top