dbTalk Databases Forums  

[ANN] Object database db4o 4.0 open sourced

comp.databases.object comp.databases.object


Discuss [ANN] Object database db4o 4.0 open sourced in the comp.databases.object forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Carl Rosenberger
 
Posts: n/a

Default [ANN] Object database db4o 4.0 open sourced - 12-17-2004 , 08:18 AM






The object database system db4o is now available open source as free
software under the GPL.

You are invited to download the product and check it out:
http://www.db4o.com

To get you started very quickly, the download comes with an interactive
tutorial that allows live execution of all samples from within your
browser.

db4o is available for Java and for .NET (also Mono and
CompactFramework). Functionality and database files are fully
compatible between the Java and .NET versions.

Enjoy!


Here is the full press release:

SAN MATEO, Calif., December 2004 - db4objects, providers of the
leading open source object database for Java and .NET, today announced
the company was making its flagship database software product, db4o,
available immediately under an open source license. The software
license allows open source projects free use of the code. Companies
developing and shipping proprietary products can pay for a commercial
license and receive support and indemnification.

The company, co-founded by a software entrepreneur and a database
technologist who previously started and sold a proprietary software
company in Europe, is financially backed by some of the biggest names
in Silicon Valley. Investors include Mark Leslie, founding CEO of
Veritas, Diane Greene, president of VMware, noted law firm Fenwick and
West LLP, and Audrey MacLean, named by BusinessWeek as one of the 50
most influential business women in America. Details of the investment
were not disclosed.

"The db4objects software is a mature and stable product. Successful
implementations at customers such as BMW Car IT and Europe's INDRA
Sistemas demonstrates the value of our object database in real time
embedded systems," said Mark Leslie, chairman and director of
db4objects. "Our company's new open source dual license initiative,
which is especially well suited to these embedded applications, will
rapidly expand our presence in these markets."

"Our company is built around an innovative open source model," said
Christof Wittig, CEO of db4objects. "Our software is designed to be
simple and fast and can extend the reach of .NET and Java into new
markets. Customers can easily and quickly download our software.
Developers can have our code up and running in under five minutes."

db4o, the world's first native Java and .NET object database, drives
complexity out of software systems by giving developers the simplest
and easiest way to directly store objects. Developers can store objects
in native format without the hassle and overhead of translation to
other formats such as SQL. Lightweight design and high performance make
db4o ideal for embedded use in real-time control systems, software
products, and devices such as mobile electronics, game consoles,
medical equipment and automotive systems.

"db4o was the most efficient database we looked at and requires zero
administration," said Eric Falsken, lead application developer of
Massie Labs, a medical device company developing advanced retinal
imaging products. "Our medical customers rely on db4o to store and
compare retinal images for health diagnosis."

db4objects has already seen more than 100,000 downloads of its flagship
db4o database. Global 1000 firms are using the software in
mission-critical production environments. Spain's AVE high-speed
train system is expanding to include 4,000 miles of new rail supporting
bullet trains traveling more than 210mph. At the heart of this railroad
are sophisticated control systems running db4o software to process
information flows in real time. BMW Car IT relies on db4o for its
next-generation control systems to power their high performance
automobiles. And Eastern Data Group, one of the United Kingdom's
leading suppliers of mobile computing systems, helps English dairy
farmers deliver milk to market using mobile computers powered by
Windows CE and a native .NET db4o database.

About db4objects, Inc
db4objects, Inc (www.db4o.com) provides db4o, the only native object
database for both Java and .NET and is available under open source and
commercial licenses. With more than 100,000 deployments, db4o is used
by some of the world's largest companies, including BMW, Hertz, and
INDRA Sistemas, one of Europe's biggest traffic and defense
contractors. db4objects is a privately held company based in San Mateo,
California and backed by noted Silicon Valley investors including Mark
Leslie, founding CEO of Veritas, Diane Greene, president of VMware,
Fenwick and West LLP, and Audrey MacLean, named by BusinessWeek as one
of the 50 most influential business women in America.

Press and analyst contacts: press (AT) db4o (DOT) com
--
Carl Rosenberger
db4objects Inc.
http://www.db4objects.com


Reply With Quote
  #2  
Old   
Neo
 
Posts: n/a

Default Re: [ANN] Object database db4o 4.0 open sourced - 01-05-2005 , 10:18 AM






Where can I find simple example that demos db40. For example, how would
one create 2 persons, each with properites name, age and gender; and
how to query for a person by age and gender? Also, suppose gender is
used for other things such as animals, how does one normalize gender
values? TIA

Persons
Name Age Gender
---- --- ------
John 20 male
Mary 25 female

Animals
Name Type Gender
--------- ---- ------
Snowball cat female
Tiger dog male


Reply With Quote
  #3  
Old   
Carl Rosenberger
 
Posts: n/a

Default Re: Object database db4o 4.0 open sourced - 01-08-2005 , 07:12 PM




Neo wrote:
Quote:
Where can I find simple example that demos db40.
In our interactive tutorial that comes with the
download. It allows you to run all demo samples
from within the browser, while you read along
the source code.


Quote:
For example, how would
one create 2 persons, each with properites name,
age and gender;
You would create the respective classes in your
preferred programming language. We support Java
and all .NET languages like C# and VB .NET.

// Let's go for Java

public class Person{
String name;
int age;
Gender gender;

public Person(String name, int age, Gender gender){
this.name = name;
this.age = age;
this.gender = gender;
}

}

public class Gender{
static final Gender MALE = new Gender();
static final Gender FEMALE = new Gender();
}


// To store two person objects

// import the classes from db4o.jar.
import com.db4o.*;

// open a database file
ObjectContainer oc = Db4o.openFile("myDB.yap");

// store two Person objects
oc.set(new Person("Jeff", 32, Gender.MALE));
oc.set(new Person("Sue", 29, Gender.FEMALE));

// closing the database performs an automatic commit
oc.close();


The above is all you need to do. db4o analyses the
classes during runtime.

However there is one specific configuration step that
is necessary to tell db4o to use the Gender class to
supply static constants:

Db4o.configure().objectClass(new Gender())
..persistStaticFieldValues();


Quote:
and how to query for a person by age and gender?

// simple query by example on an ObjectContainer:

Person example = new Person(null, 32, Gender.MALE);
ObjectSet objectSet = oc.get(emample);


// an alternative using S.O.D.A. notation:

Query q = oc.query();
q.constrain(Person.class);
q.descend("age").constrain(new Integer(32));
q.descend("gender").constrain(Gender.MALE).identit y();
ObjectSet objectSet = q.execute();


Quote:
Also, suppose gender is
used for other things such as animals, how does one
normalize gender values?
As above.


Best,
Carl
--
Carl Rosenberger
Chief Software Architect
db4objects Inc.
http://www.db4o.com



Reply With Quote
  #4  
Old   
Neo
 
Posts: n/a

Default Re: Object database db4o 4.0 open sourced - 01-14-2005 , 01:05 PM



The integration between code and data in your example (abridged below)
is suprisingly seamless. Now suppose gender can have additional
instances and each gender has properties (ie male.color=blue and
female.color=pink). How does one query for persons whose gender color
is pink? I guess I am wanting to see how to handle the equivalent of
joins in relational dbs.

public class Person{
String name;
int age;
Gender gender;

public Person(String name, int age, Gender gender){
this.name = name;
this.age = age;
this.gender = gender;}
}

public class Gender{
static final Gender MALE = new Gender();
static final Gender FEMALE = new Gender();}

// store two Person objects
oc.set(new Person("Jeff", 32, Gender.MALE));
oc.set(new Person("Sue", 29, Gender.FEMALE));

// simple query by example on an ObjectContainer:
Person example = new Person(null, 32, Gender.MALE);
ObjectSet objectSet = oc.get(emample);


Reply With Quote
  #5  
Old   
Carl Rosenberger
 
Posts: n/a

Default Re: Object database db4o 4.0 open sourced - 01-15-2005 , 01:02 PM



Neo wrote:
Quote:
The integration between code and data in your example (abridged
below)
is suprisingly seamless.
Thanks!


Quote:
Now suppose gender can have additional
instances and each gender has properties (ie male.color=blue and
female.color=pink). How does one query for persons whose gender color
is pink? I guess I am wanting to see how to handle the equivalent of
joins in relational dbs.
Query q = oc.query();
q.constrain(Person.class);
q.descend("gender").descend("color").constrain(Col or.PINK);

Best,
Carl
--
Carl Rosenberger
Chief Software Architect
db4objects Inc.
http://www.db4o.com



Reply With Quote
  #6  
Old   
Neo
 
Posts: n/a

Default Re: Object database db4o 4.0 open sourced - 01-29-2005 , 01:31 PM



Quote:
_ q. descend ("gender"). descend ("color"). constrain (Color. PINK);
So the DESCEND method is similar to joins in SQL queries and the
CONSTRAIN method is similar to the WHERE clause?

How does one model the following:
John is a person and engineer. John is male.
Mary is a person, doctor and dentist. Mary is female.
Franny is an actor. Franny's gender is unknown.
John likes Mary. Franny likes John and Mary.

How would one code the following query:
Find engineers who like doctors.

How would one code the following complex query:
Find actors who like dentists who are liked by enginners.

How would one code the following query:
What is the relationship between John and Mary?
(I am not sure if even SQL can do some of the above)



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.