Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Linux Software

Ask Slashdot: Pure Object Databases in Linux? 46

ramkal asks: "I would like to know if there are any good "pure" object databases (free or commerical) for Linux. No I don't have Oracle 8 (or Informix IDS) in mind. I would hear from those who have succesfully implemented ODs in a decent project (100k + lines of c++ code). True, ODs are no longer as hot as they used to be a couple of years ago but they have their own advantages as I have seen in a financial industry setting."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Pure Object Databases in Linux?

Comments Filter:
  • by Anonymous Coward
    You might want to check out GOODS for C++:
    http://www.ispras.ru/~knizhnik

    At least take a look at the table on his pages which compare a bunch of OODBMS's.

    A Dylan hacker
  • by Anonymous Coward
    try www.postgresql.org for linux its free
    and not as fat as DB2 and oracle-db2 still has bugs for linux....

    but i never did any thing with distributed databases...so i dont know how postgres will perform

    the license is more liberal than gpl.

    postgres improved alot from previous years

    postgres is OO and sql, id use mysql but mysql doesnt have rollback...

    it also has real good c++, c , and python
    interface libs

  • by Anonymous Coward on Thursday May 06, 1999 @03:47PM (#1901592)
    We are using Gemstone at work. It is very nice.
    It works with Smalltalk, C++ and Java. Gemstone
    has two flavors of this object DB.
    Gemstone/S - Works with Smalltalk, C, C++
    Gemstone/J - Works with Java (May also work with others, but I am not sure.)

    We use Gemstone/S and VisualWorks Smalltalk.
    Both Gemstone and VisualWorks are available for
    non-commercial use. They both work on Linux.
    VisualWorks Smalltalk also has a pretty neat
    GUI builder tool and is portable 100 % between
    Linux, Solaris, Mac, NT, Win98, Win95.

    Please checkout these sites:
    ObjectShare(Makers of VisualWorks): www.objectshare.com
    Gemstone: www.gemstone.com
  • by Anonymous Coward on Thursday May 06, 1999 @05:13PM (#1901593)
    An RDBMS defines tables, ie field definitions, and stores data instances as rows in a table.
    When you write an application if you want to manipulate that data you have to read a relational row into datastructures available in your programming language.

    In an OODBMS you build up the object model for your system, the OODBMS stores your objects for you, and they appear to you as native objects in your programming language. i.e you don't have to map from your programming languages data structures to relational structures.

    When you have complicated object heirarchies, the time spent mapping between the object structures and the realtion structures, can take up allot of programmer time, (at least that's what the OODBMS vendors want you to believe)
    --dan the person
  • I think I read somewhere that the Computer Associates & Fujitsu object database Jasmine [cai.com] is coming to Linux. No idea of current availability or schedule though - sorry.

    Also CocoBase Enterprise Jasmine [thoughtinc.com] may be of interest.

  • I was a developer on the ODB-II project with ICL and while I totally agree that the application had its bad points, it also had a lot of potential. I do agree though that it possibliy was ready for commercial use.

    What Computer Associates & Fujitsu have done with Jasmine is rewritten core parts of the database, added a sophisticated GUI front-end, a web page generator (like a simple combination of ASP & ADO) and done extreme testing on performance and reliability and have come out with a product that is FAR FAR superior to ODB-II. There are also some excellent Java bindings available.

    I no longer work for any related company but I do think Jasmine is an excellent choice for data that is suited for an OODBMS. Whether this suits your data or not is your decision.

  • Posted by FascDot Killed My Previous Use:

    What's the deal with AS lately? The frontpage box hasn't updated in well over a month despite frequent story additions. And now a new question shows up on the front page but out of order from the rest (i.e. second from the top, instead of at the top).
  • I've used ODB2, the predecessor of Jasmine, and I wouldn't touch anything related to that product line with a 10-foot stick. ODB2 had very small market penetration in the UK, and everyone has dropped it (some quicker, some slower, but everyone's dropped it). This is not coincidence. Data corruption was a regular event, support involved posting DAT tapes to Japan, the ICL programmers working on the application layer were, shall we say, challenged. This is not to say that other people's experiences might not be different, and Jasmine might be juuuust great, but I'd run screaming from the room if someone tried to make me use anything derived from ODB2 again. It'd be a resigning issue, it was that poor. Send me email if you want more details.
    --
    W.A.S.T.E.
  • I got an e-mail, saying the Linux version was delayed, but would be out soon.

    However, neither Oracle or any of the other database systems mentioned would be what I, personally, would call an OO database. In fact, hunting through still other OO dbms systems over on src.doc.ic.ac.uk, I'm beginning to think that the OO DBMS movement hasn't a clue as to what an object or a database is.

    Half of them are programmer kits only, so they're more libraries than applications, the other half are object-BASED, -NOT- Object Oriented, and none that I've seen would be capable of generating a direct 1-1 mapping to an OO n-dimensional spreadsheet.

  • but Object Design is considering a Linux port and are currently investigating this.

    Although there is no schedule nor official commitment to it.
  • AceDB [sanger.ac.uk] is the OO Database used by the Human Genome Project.
  • as a postgresql user, and someone interested in storing java objects without the usual jumping through hoops associated with storing them in a relational system, i'd be really interested to see that list of changes. (hint)

    BTW do you write in PCW magazine? i couldn't get your mail address from your /. user info.

    -vinny
  • We have developed a server designed for maintaining and managing NIS and DNS information. It's not designed as a full-fledged object database, but the server does include logic for transactions, namespaces, and journalling, as well as a customizable schema.

    The URL is http://www.arlut.utexas.edu/gash2 [utexas.edu]

  • The newer offerings of the commercial vendors also offer query facilities using the OQL (Object Query Language) - approximately a superset of SQL, I believe. There are relevant standards for OQL and various language bindings

    http://www.odmg.org/ would be the place to look
  • by tjansen ( 2845 ) on Thursday May 06, 1999 @04:14PM (#1901604) Homepage
    Objectivity has released a linux version of Objectivity/DB [objectivity.com] for Linux last year. Objectivity is an very scalable, page-based OODBMS (and normal commercial software).
    So far I have only used the Solaris and NT versions and the Java binding. The Java bindungs on Linux are not finished yet. Objectivity works pretty well with JDK 1.2, but with JDK 1.1 we had a lot of crashes that suddely disappeared when we switched to 1.2. Probably not Objectivitys fault, but made it almost unusable.
  • Itasca [www.ibex.ch] is the best at dynamic schema modification and so on, as it's written in Common Lisp. They have interfaces for C, C++, CL and Java. It is now owned by IBEX Object Systems, which is in turn owned by HPI (Hermes Precisa International, a holding). I don't know if they have a Linux version. But if it's something you'd like to buy, you should tell them.
  • by dcancel ( 7254 )
    Checkout JACOB http://www.jdbms.org/
    it's a object-oriented database written in pure java...

    ;dc
  • by os10000 ( 8303 ) on Friday May 07, 1999 @02:46AM (#1901607) Homepage
    To my mind there were 4 groups of people doing fairly dissimilar things. They all called their research "oodbms" work.
    1) relational people wanting to support structured fields (break 1st normal form)
    2) persistent programming people wanting transaction / query facilities
    3) AI expert systems people wanting a persistent rulebase
    4) functional data modelling people experimenting with polymorphism
    The outcome are two major strands: persistent object stores and object relational systems. In principle they can do the same, but in practice they excel in different areas: if you let the DBMS know about your data types (ADTs - abstract data types) then the query optimiser can make use of that information. That's the great strength of ObRel systems. On the other hand, if you look at how rel systems are used, you find that many introduce lots of surrogate keys (simplistically: serial numbers with no meaning in reality). An OODB would be able to replresent those by object references, which cuts down on the pointer indirections by a factor 2 or three. If all you ever do is chasing pointers that may be a great help. Look at CAD software.
    There are two papers that I can highly recommend: the oo database manifesto and the (empire strikes back) 3rd generation database manifesto. Look over at dblp.uni-trier.de and type in manifesto.
  • The "Texas Persistent Store", developed at the University of Texas, is an object persistence database similar to ODI's ObjectStore. I've never used Texas myself, and it may not have been kept up to date, but I've done considerable programming with ObjectStore, and it's a great way to store and retrieve C++ objects.

    Objectstore has a couple of very appealing features: first, it requires no modifications at all to the class definitions of stored objects, and requires no special inheritance. Second, it's fast -- objects are paged into memory, there's no overhead to access them.

    ObjectStore probably isn't available for linux, but if Texas has been kept up to date with g++, then it's worth at least a look.

    See texas* at ftp://ftp.cs.utexas.edu/pub/garbage/" [utexas.edu]

    --JT
  • A friend of mine is working on the BABAR physics project at the SLAC facility at Stanford. He's been quite happy with Objectivity/DB. They deal with literally hundreds of terabytes of data, and have managed to store a terabyte of data into the database in a single day.

    Try looking at the BABAR Computing System Home Page [stanford.edu]. I'm sure the people who work with the database would be more than happy to discuss their experiences.

  • http://www.datastage.com/database/object/product/

    We had a lecture on it, as an example of ODs, and we had some practical work using it, on Linux.

    Of course I didn't use it enough to tell you what it's really worth...
  • Hear, hear.

    Zope is excellent.


    --
    Moodle http://moodle.com/

  • What's wrong with Object-Relational DBs like Oracle or PostgreSQL [postgresql.org]?

    They offer object-oriented features like inheritance but still give access to the searching power of SQL. Take your pick, buy Oracle or download the Open Source PostgreSQL.
    --
    Michael Dillon - E-mail: michael@memra.com

  • Forgive me for being young, but what exactly *is* an "object database"? How does it differ from a traditional relational database? How does it differ from fields dimensioned as an "object" data type using programs like MS Access (and certainly other databases as well)?

    Thanks in advance,
    Ryan
  • Has anyone received the Linux version of Oracle 8i yet? A few weeks ago I received the Sparc version and yesterday the NT version tumbled through my mail slot. But what I really waiting for is the Linux version....
  • by churchr ( 24226 ) <chrchr@gmail.com> on Thursday May 06, 1999 @04:14PM (#1901615)
    AceDB, which is the OO database used by the Human Genome Project is Open Source _and_ supported on Linux. There's an article in the latest Perl journal about it, and this is the faq [nalusda.gov].
  • Postgres has 90% of what's needed to make a true object database. Unfortunately that missing 10% is pretty critical as far as making postgresql be able to do what Versant or ObjectStore or Objectivity does. One day I'll have to put together a list of changes that would need to be made. I doubt it would be much work, but it would be needed.
  • Ditto on prior poster about GemStone.

    The original response didn't really stress one point that may be significant. GemStone/S has a C++ client interface (as well as Smalltalk, Java and C), but "its centered" on Smalltalk. C++ isn't its primary strength.

    Great product, but if you're looking for a C++-centric solution (which your post sounded like), GemStone isn't ideal.

    They do have a free non-commercial download of GemStone/S at http://smalltalk.gemstone.com/Linux/
  • by webmaven ( 27463 ) <webmaven@nOSpAM.cox.net> on Thursday May 06, 1999 @04:19PM (#1901618) Homepage
    If you're looking for a free, cross-platform, open-source Object DB, take a look at Zope [zope.org]. It's actually a complete object-oriented web application server, but as it is open source, you could pull out the ODB part for your own use. It's written in Python, with a little C++ for performance critical code.
  • I'm not certain if it's what you're looking for or not, but I've been playing with Metakit [equi4.com] a bit lately. According to it's author, "MetaKit is a class library for storage and transport of highly structured containers. Using a truly simple API, you can create very small and efficient stand-alone database applications for Windows, Mac, Unix, and VMS. The datafiles are platform independent, self-repairing, very compact, and can be instantly reorganized. This product has been used in a number of financial applications, CDROM-based catalogs, internet utilities, statistical tools, etc. CatFish and OSAX are both based on this general-purpose database library."

    It's also available in versions for Tcl & Python. I've been using the Tcl version & have been quite impressed with it's simplicity & speed. It's distributed as shareware, so it's even inexpensive: $165 for all platforms (includes C++ source code).
  • In addition to what zope.org offers, the developers of zope, at digicool.com have a full object oriented database formerly named Tabula and now named "ZTables". It's currently "commercial" but sometime "soon" it is expected to become "open source" like Zope.
  • I've worked on a distributed database project based on Postgres (Mariposa at UC Berkeley) and the postgresql source code is in a bit of a, how shall we say this, bad state. I wouldn't trust my data with it unless I could afford to lose it.

    And MySQL....sheesh....have you read the source code for it?

After Goliath's defeat, giants ceased to command respect. - Freeman Dyson

Working...