Slashdot Mirror


Ask Slashdot: Pure Object Databases in Linux?

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."

46 comments

  1. Re:Gemstone www.gemstone.com is good object DB by Anonymous Coward · · Score: 0

    In conjunction with ObjectShare's VisualWorks for Linux, GemStone gives you an unbeatable pure object solution for an unbeatable price. The icing on the cake is that one can take the resulting solution and deploy it in a variety of heterogeneous environments and platforms with no code changes whatsoever. Download this stuff now - you'll never want to do C++ again!

  2. Computer Associates by Anonymous Coward · · Score: 0

    Apparently CA's jasmine is being ported to Linux. We do some heavy development on it in NT, and I've been bitching alot about it. =)

  3. Minnestore by Anonymous Coward · · Score: 0

    MinneStore [http://www.objectcomposition.com] has been ported to Squeak Smalltalk. The port to Squeak 2.4b is available from ftp://ftp.create.ucsb.edu/pub/stp/OODB/MStore-2.4b .



    1. Re:Minnestore by Anonymous Coward · · Score: 0

      Ever heard of DB2 its free for linux from IBM. This is really a full featured top of the line Data Base. Some of the largest Data Bases in the world are DB2.

  4. nope, no linux ObjectStore by Anonymous Coward · · Score: 0

    the issue of a linux port of ODI's ObjectStore has been brought up a couple of times on their mailing lists, and the ODI people have either stated they have no plans to port to Linux, or else they have ignored the posts completely. their low-end OODB, PSE/PSEPro, is 100% Java (so works on Linux) and pretty decent, though. but i doubt it would scale to higher commercial needs.

  5. Re:That's what OODBMS vendoes want you to beleive? by Anonymous Coward · · Score: 0

    Object to relational mapping is a difficult time consuming task. The OODBMS vendors don't need to spend anytime convinving me!
    Estimate; worlds data - 70% in file systems, 20% in relational databases.
    From the perspective of a system implementor I would much prefer to deal with persistant object stores for everything from what is currently in /etc/issue to a what is currently in my customer database. i.e. everything (and let the OODBMS implementors deal with the problems). In the mean time I'll just put CORBA interfaces on everything.

    files, RDB tables, yech - I dont want to deal with these abstractions, give me objects to deal with!

  6. Re:postgres isn't that great... by Anonymous Coward · · Score: 0

    ... But it is being fixed. Check the pgsql-hackers
    mailing list at www.postgresql.org if you
    don't believe me.

    If you can find a better, free, open-source
    SQL database (real database, with transactions),
    let us know.

    -- cary

  7. cold c by Anonymous Coward · · Score: 0

    try coldC.

  8. speed, baby, speed!!! by Anonymous Coward · · Score: 0

    yeah, baby, yeah!!

    Watch those pointers defererence!!!


    (much faster than JOINs over a massive file)

  9. O2 Object Database for Linux by Anonymous Coward · · Score: 0

    At my workplace we're using the O2 Object Database System for a project. See www.ardentsoftware.com. We choose O2 because it offers the best adherence to the ODMG standards including a very complete OQL implementation. I believe it was also the first commercial OODBMS for Linux.

    If you're interested in using an object database on Linux, don't waste your time with ObjectStore. In my opinion this company is either trying to kiss up to Microsoft and/or its cheerleaders/believers. A few months back their pages for ObjectStore were cluttered with Designed for Microsoft Back Office and Microsoft Enterprise Development Partner logos everywhere. And their continued denial of the demand for Linux is quite telling when you consider that nearly all their competitors are now offering Linux support. Furthermore, last I checked, ObjectStore still didn't support OQL. To add further injury, their graphical admin tools are only available for Windows!

    I can't believe the number of posters proposing things like Oracle and PostgreSQL as object databases. At their core these products are still relational databases. One of the most important aspects of an OODBMS is the bluring of code and data storage into one. In an object oriented database, programming takes on a much greater importance. These object-relational systems do not really do this. They're just relational databases with support for data structures that are slightly more complex than simple tables. I would argue they break the relational model theory without really offering the advantages of a true OO database.

    Anyway check out O2, as it is one of the technically stronger OODBMSes out there. The biggest negative I can think of about it is the high license cost (and of course the fact that its not open source).

  10. OODB for Linux? - YES - HyperWork by Anonymous Coward · · Score: 0

    Hello!

    You may want to look at http://Www.bmsg.de/ for details about a product named "HyperWork".

    This thing is a client/server-based object-orientated database. The linux-version is
    free, you get 3 users with it. (Current version has problems with german umlauts in object-names)

    The base-version with programs plus empty db will probably use about 10 or 15 megs.

    It has an "own" language which probably has some similarities with C, can fabolously handle lists ... (add list1 to list2, whatever)

    An Anomymous Coward,
    (who dont work for that firm ... but uses the commercial version (and the free one @home of course ~8] ) )

  11. MySQL - ugly code? by Anonymous Coward · · Score: 0

    what's bad about MySQL code? Just curious.
    I haven't looked at it myself.

  12. Re:Jasmine coming to Linux? by Anonymous Coward · · Score: 0

    Since then, CA have realised that OORDBMS is impossible. They decided to keep the classical RDMS strain (ingres, Open Ingres, Ingres II), and create a *pure* Object DBMS (Jasmin) .

    The other vendors (Oracle, Informix) are still trying to get a decent OORDBMS going. It will disappear, just like the plug-in/datablade stuff. Call it buzzware. Maybe fuzzware.

  13. Re:That's what OODBMS vendoes want you to beleive? by Anonymous Coward · · Score: 0

    Yes I am totally fed up with the pseudoobject paradigm as well. If it's not going to be truly OO, then why even bother pretending? Fake objects can definitely inflate small problems into critical problems in any large project.

    Some of the ugliest code I've had the misfortune to deal with could best be described as "glue". Perhaps 20% of the code in a certain large ERP system written in CA-OpenROAD exists solely to manage the mapping between the application's business objects and the hundreds of highly normalized RDB tables. It's an ugly kludge of a foundation upon which to base a serious package.

    The remaining 80% of the code can then of course, only be partially object oriented. The entire package suffers, just so that salespeople can boast as a part of their pitch that, "The back end is open - it will run on any database." Which of course means you're also stuck with the good old MS-SQL limitation of 15 tables per join while you're writing this glue... Can you say, "SQL stored procedures?" Those become the true face of your software.

    Then when customers try to modify the package and find out what an uncontrolled, sparsely organized kludge of a mess they bought, they very often complain & refuse to pay in entirety.

  14. GOODS by Anonymous Coward · · Score: 1

    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

  15. postgres by Anonymous Coward · · Score: 1

    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

  16. Gemstone www.gemstone.com is good object DB by Anonymous Coward · · Score: 3

    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

    1. Re:Gemstone www.gemstone.com is good object DB by jmaline · · Score: 2

      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/

  17. Re:Definition of "object database" by Anonymous Coward · · Score: 4

    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

  18. Jasmine coming to Linux? by smcd · · Score: 1
    I think I read somewhere that the Computer Associates & Fujitsu object database Jasmine is coming to Linux. No idea of current availability or schedule though - sorry.

    Also CocoBase Enterprise Jasmine may be of interest.

    1. Re:Jasmine coming to Linux? by robin · · Score: 1

      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.

      --
      W.A.S.T.E.
  19. challenged? by smcd · · Score: 1
    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.

  20. Ask Slashdot whacked? by gavinhall · · Score: 1

    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).

  21. Re:Oracle 8i for Linux by jd · · Score: 1
    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.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  22. ObjectStore not available yet... by Juju · · Score: 1

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

    Although there is no schedule nor official commitment to it.

    --
    Black holes occur when God divides by zero.
  23. The Link by ggoebel · · Score: 1

    AceDB is the OO Database used by the Human Genome Project.

    --
    Life is like an egg better scrambled than fried. -- Ken Sawatari
  24. what's the missing 10% ? by theDon · · Score: 1

    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

  25. Ganymede includes object database in Java by jonabbey · · Score: 1

    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

  26. Re:What's wrong with Object-Relational DBs? by kraut · · Score: 1

    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

    --
    no taxation without representation!
  27. Objectivity for Linux by tjansen · · Score: 3

    Objectivity has released a linux version of Objectivity/DB 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.

    1. Re:Objectivity for Linux by Geo · · Score: 1

      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 . I'm sure the people who work with the database would be more than happy to discuss their experiences.

  28. ITASCA by matomira · · Score: 1

    Itasca 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.

  29. JACOB by dcancel · · Score: 1

    Checkout JACOB http://www.jdbms.org/
    it's a object-oriented database written in pure java...

    ;dc

  30. Re:Definition of "object database" by os10000 · · Score: 4

    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.

  31. Texas Persistent Store by kzinti · · Score: 1

    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/"

    --JT

  32. O2 Object Database System by J�r�me+Zago · · Score: 1

    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...

  33. Re:Open Source ODB by Rewd · · Score: 1
    Hear, hear.

    Zope is excellent.


    --
    Moodle http://moodle.com/

  34. What's wrong with Object-Relational DBs? by memra · · Score: 1
    What's wrong with Object-Relational DBs like Oracle or PostgreSQL?

    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

    --
    Michael Dillon - E-mail: michael@memra.com
    Check the website for my Internet
  35. Definition of "object database" by RyanGWU82 · · Score: 1

    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

  36. Oracle 8i for Linux by pgroebner · · Score: 1

    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....

  37. acedb by churchr · · Score: 3

    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.

  38. Postgresql needs updating. by chris.bitmead · · Score: 1

    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.

  39. Open Source ODB by webmaven · · Score: 3

    If you're looking for a free, cross-platform, open-source Object DB, take a look at Zope. 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.

    --
    The real Webmaven is user ID 27463. I don't rate an imposter, because my ID is such a lame-ass high number.
    1. Re:Open Source ODB by rocon · · Score: 1

      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.

  40. Perhaps MetaKit? by ibbey · · Score: 1

    I'm not certain if it's what you're looking for or not, but I've been playing with Metakit 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).

  41. Re:postgres isn't that great... by MemRaven · · Score: 2

    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?