Slashdot Mirror


Cloudscape Gains Momentum

A reader writes: "There's been a lot of bits written recently about the growth of Open Source databases; as well as IBM's patent gift, as their release of the Java database Cloudscape. There's a contest running on SourceForge.net around Cloudscape; download and run with it." SF.net is part of OSTG, like Slashdot.

139 comments

  1. Java database ? by Anonymous Coward · · Score: 5, Funny


    wouldn't it be quicker to print your data on paper and sort it by hand ?

    1. Re:Java database ? by Eric+Giguere · · Score: 5, Informative

      Hey, I like Java as much as anyone, but if you're looking for a fast, multi-platform, zero-administration database be sure to check out SQL Anywhere Studio. The Developer Edition is completely free and runs on Linux, Solaris, Mac OS X, Netware and most flavors of Windows, including CE/PocketPC. See the description of what's in SQL Anywhere Studio for details. (Note that some of you may remember SQL Anywhere as Watcom SQL.)

      Eric
      Listen, folks: JavaScript is NOT Java!
    2. Re:Java database ? by Anonymous Coward · · Score: 0

      I hate Java.

      Is it useful for anything else than mouse-over effects on websites yet?

    3. Re:Java database ? by Anonymous Coward · · Score: 0

      congratulations on not paying any attention for the last 5 or so years.

    4. Re:Java database ? by blacksway · · Score: 0, Troll

      Thats javascript you trolley n00b!

    5. Re:Java database ? by Anonymous Coward · · Score: 0

      Research has shown Java and Javscript to be compatible.

    6. Re:Java database ? by Anonymous Coward · · Score: 0

      research has also shown Anonymous Cowards to be morons.

    7. Re:Java database ? by Anonymous Coward · · Score: 0

      Research has also shown troll baiting is still alive and well.

    8. Re:Java database ? by Anonymous Coward · · Score: 0

      For jobs where you need a proper database certainly Cloudscape is not going to cut it.

      However for a lot of projects you might require data to be stored but not have the overheard required by installing the more serious applications (eg. Basic user data).

      IBM have also tried to make Cloudscape more friendly to step towards DB2 if in fact you do need a powerhorse at a later stage.

    9. Re:Java database ? by Anonymous Coward · · Score: 0

      nothing else to do after midnight.

      I guess I could go to bed, but that involves moving.

    10. Re:Java database ? by Anonymous Coward · · Score: 0

      > Research has shown Java and Javscript to be compatible.

      Has he? Well, then Research is an idiot. Who is he? Can you give me his address?

    11. Re:Java database ? by Anonymous Coward · · Score: 0

      But most of us don't care so much about free. We care about Free.

    12. Re:Java database ? by PartyBoy!911 · · Score: 1, Informative

      IBM uses the cloudscape database as backend to a lot of products like Worksphere Portal.
      They normally recomend DB2 for production but one of the latest products "Workplace Services Express" can only be used with the embedded Cloudscape.

      The product is intended for SMB and scales upto 1000 users. And this is for Groupware/Document storage etc. http://www.lotus.com/products/product5.nsf/wdocs/w orkplaceservicesexpresshome/

    13. Re:Java database ? by IpalindromeI · · Score: 1
      --

      --
      Promoting critical thinking since 1994.
    14. Re:Java database ? by Eric+Giguere · · Score: 1

      To be proper, it's not javascript or Javascript, it's JavaScript. Although really if everyone referred to it as ECMAScript there would be less confusion.

      Eric
    15. Re:Java database ? by freemacmini · · Score: 1

      If you want a fast, multi platform, zero administration database that's also open source check out firebird.

    16. Re:Java database ? by Anonymous Coward · · Score: 0

      Might be quicker considering the sluggishness that Cloudscape has always shown.

      We've had much better success with Mckoi (GPL including the driver, sadly) and even Hypersonic.

  2. Eh.. by oisteink · · Score: 2, Insightful

    And the story is about?

    marketing?

    1. Re:Eh.. by Jackdaw+Rookery · · Score: 2, Informative

      I think you may have missed the point of the post, the story is advertising Slashdot jumping the shark.

      Well OK maybe not, but this is a fluff piece at best, self advertising at worst. Plus the prize is US only so it cuts out a lot if interest right away.

      Nothing to see here, move along.

    2. Re:Eh.. by null+etc. · · Score: 1
      Yeah, haven't you noticed all of the CloudScape adds on Slashdot?

      "Test your skills with Java and Win an IPod - Take the Challenge for Java"

      "Download the Newest Open Source Database. Easy to Learn and Use. Fast Download. Do It Now!" I hope Slashdot continues to post articles about their paid sponsors.

  3. Wrong language, wrong thing. by InterruptDescriptorT · · Score: 3, Insightful

    A Java database?

    Isn't that a little bit like writing a Fast Fourier Transform in LISP?

    There are lots of things that Java is perfectly suited for. Databases are not one of those things.

    --
    Karma: Excellent Birds (mostly as a result of listening to Laurie Anderson)
    1. Re:Wrong language, wrong thing. by sporty · · Score: 4, Insightful

      Why not? If it's fast enough, and it works, it'd be good for java embeded applications and/or stuff that uses a database for scratch-work. It could also be used instead of complex data structures in memory that require massaging to get anything out of.

      --

      -
      ping -f 255.255.255.255 # if only

    2. Re:Wrong language, wrong thing. by sonofagunn · · Score: 4, Insightful

      Have fun embedding your C database inside a Java server app (I think you've missed the point of Cloudscape).

    3. Re:Wrong language, wrong thing. by Decaff · · Score: 1, Insightful

      There are lots of things that Java is perfectly suited for. Databases are not one of those things.

      Funny, I remember the 'it's too slow' argument being used against C++ 20 years ago.

    4. Re:Wrong language, wrong thing. by EkkiEkkiShiwaddle · · Score: 5, Informative
      There are lots of things that Java is perfectly suited for. Databases are not one of those things.

      I'm a Java developer, and have been almost from the very start of Java. While I tend to agree with you at first, I would like to point out some benefits of using Cloudscape.

      Over the years I've had a few (small, hobby) projects, where I really felt the need for a database which did not need to be fast nor did it need to be huge. So I tried Cloudscape. And while it isn't the fastest around, it gets the job done.

      The easiest part is that you can just bundle it with your application, without writing a single line of code!

      I've tried MySQL, but I still need to install it prior to being able to run my application - no need for that with Cloudscape.

      But, granted, it is not the fastest out there. If I need a *real* database, I just use Oracle.

    5. Re:Wrong language, wrong thing. by mborland · · Score: 1
      There are lots of things that Java is perfectly suited for. Databases are not one of those things.

      Slashdotters love broad, generalized statements. (oops) ;-)

      I disagree with you completely. For example, simple embedded databases (see HSQLDB) can be very useful. I know someone who's teaching an class with Java and wanted to touch on databases. A java-based database (in this case, HSQLDB can run in-process) is great for this. You don't have to install a huge server on your development system just to learn the ins and outs of SQL. You just drop the hsqldb.jar file in your lib directory or whatever, and you are ready to go.

      Another guy I know has a very successful company that uses HSQLDB embedded in their client app to provide very basic database functions internal to the application. This way persistent data can be managed by the app without having to resort to wonky homebrew data storage or super-large XML files (they would be VERY large in this app's case). Installation of their app doesn't require some humungous install of a data server. They just want something that will run in the app process that will be reliable and perform basic database functions.

      By the way, HSQLDB can be run as a server as well, I was just focusing on the advantages of using it in-process.

    6. Re:Wrong language, wrong thing. by MarkWatson · · Score: 2, Informative

      Common Lisp is fast and efficient for numeric calculations (*) - I have used it for large neural network training runs, FFTs (I found a library -did not write it myself), etc.

      While Java and Python are the languages that I most frequently use, CL is a powerful tool - try it!

      (*) with compiler type directives

    7. Re:Wrong language, wrong thing. by Empty+Threats · · Score: 2, Informative

      Trolling about Java and Lisp at the same time? Isn't that a little bit like ASKING FOR IT? Fast Fourier Transform is actually one of the traditional benchmarks for Common Lisp, the Gabriel series. Now run along and play in traffic.

    8. Re:Wrong language, wrong thing. by s1234d · · Score: 2, Informative

      Actually, modern Lisp implementations can be faster than compiled C. Some Lisps run like lightning on numerical stuff. See here for an example:
      http://home.comcast.net/~bc19191/blog/040308.html

    9. Re:Wrong language, wrong thing. by ckaminski · · Score: 1

      I'm building a data entry tool at the moment for remote field operators. Since disconnected operation is important, I need to have a database to store data from Excel source files, rather than parse that Excel data in real time. Cloudscape fits that need, since I've chosen not to use .Net and COM.

      On the backend, I'm a PostgreSQL/MSSQL guy.

    10. Re:Wrong language, wrong thing. by krgallagher · · Score: 1
      "Wrong language, wrong thing."

      Actually I think it is something Java has needed. Think of it as sort of MS Access for Java. There are lots of applictions where a small embedded data engine would be usefull. Sure you could do it in flat files, but why? A data engine just makes the development that much simpler and faster.

      --

      Insert Generic Sig Here:

    11. Re:Wrong language, wrong thing. by scottj · · Score: 1

      I remember that argument being used against C++ 10 years ago.

      --
      .-.--
    12. Re:Wrong language, wrong thing. by Anonymous Coward · · Score: 0

      I remember that argument being used against C++ 10 years ago.

      I remember it being used against C++ a few days ago.

  4. IF...... by rguiu · · Score: 1

    You can win an Ipod or TShirt only if you are US or Canada resident....are they trying to encorage inmigration? The rest of the world should not bother about using Cloudscape I assume...

    1. Re:IF...... by Anonymous+Cowherd+X · · Score: 2, Interesting

      You can win an Ipod or TShirt only if you are US or Canada resident....are they trying to encorage inmigration? The rest of the world should not bother about using Cloudscape I assume...

      Let's see, most people would need at least an hour to write a JDBC application to search the tables for some silly magic word. Most eligible contestants from the US and Canada who have the knowledge to write such an application make more than enough in one hour to buy an iPod and a T-shirt. So why should anyone even bother to play this game, just for the fun of it? You develop JDBC applications all day long and then in your spare time you do the same for fun... and you might even win a T-shirt. Wow, they really know how to motivate people! Alienating the rest of the world and giving people a sense of worthlessness about their achievements is not the best way to make a product popular. But I'm just clouding the issue...

    2. Re:IF...... by Anonymous Coward · · Score: 0
      FYI, you don't need to write a jdbc application as it comes with a command line sql tool - takes about 10 minutes at most.

      So why should anyone even bother to play this game, just for the fun of it?

      Yes, exactly, for the fun of it. Those of us who are actually interested in Java.

      Alienating the rest of the world and giving people a sense of worthlessness about their achievements is not the best way to make a product popular

      Yes Troll, they offer up a solid Java database to open source and they are "Alienating" the world.

    3. Re:IF...... by Anonymous Coward · · Score: 0

      This is about the contest, you fool. It's open only to the residents of the US and Canada and the world is much bigger than that if you haven't noticed yet. Creating such a limited contest is giving a signal to the rest of the world that they don't care about the rest of the world. Alienation is the word.

    4. Re:IF...... by Anonymous Coward · · Score: 0

      Well they don't care about the rest of the world.. kinda sucks to be the rest of the world I guess. You still get a sweet database, but I guess you really wanted the 1/20000 or whatever chance to win a ipod.

    5. Re:IF...... by easter1916 · · Score: 1

      Make enough in an hour to buy an iPod? An iPod shuffle 512MB, if you're lucky... I want to work in this mythical place you refer to, where the hourly rate is >=$99/hour...

      I'm lucky to see less than half that.

    6. Re:IF...... by Anonymous Coward · · Score: 0

      Yes, but it isn't GPL, so you can't use it in your GPL application comfortably. What good is it?

  5. As usual by cpct0 · · Score: 2, Interesting

    Only one entry per person and you must be a US or Canadian (except for Quebec) resident over the age of 18 to play.


    I'm from Quebec ... and as usual, contents makers will not take the trouble of being compatible with Loto-Québec's rules. They are easy to follow, strangely... not a lot of stuff to fill in. It mainly is there to make sure we don't get screwed up


    ... and it also means everyone in the other countries will not be able to participate. Yeehaa

    1. Re:As usual by Deusy · · Score: 1

      Is it cos I is black?

      --

      Free Gamer - Free games list and commentary

    2. Re:As usual by Anonymous Coward · · Score: 1, Funny

      No, the contest creators are agreeing that Quebec should be its own country. You should be proud.

    3. Re:As usual by gl4ss · · Score: 1

      .. and THE DAMN ADS STILL GET SHOWN to people outside of usa.

      with all this locator jumbo bungo you'd expect that they'd demand that they don't waste their adviews on indians.

      --
      world was created 5 seconds before this post as it is.
    4. Re:As usual by A.Chwunbee · · Score: 0

      Sahb, are you thinking that there are not being any indians in the jolly old USA? And no, good sir, I am not meaning the ones with feather hats and living in tents!

      --
      select * from base where originalOwner = 'you' and currentOwner != 'us'.
      0 rows returned.
    5. Re:As usual by Anonymous Coward · · Score: 0

      Why doesn't quebec simply harmonize its lotto rules with the rest of Canada so you dont have to be excluded? Oh right, seperate but "equal".

    6. Re:As usual by Anonymous Coward · · Score: 0

      why doesn't Quebec stop doing everything diffrently from the rest of canada? It really pisses the rest of us off, that and when you waste our tax dollars.

    7. Re:As usual by gl4ss · · Score: 1

      you mean of indian heritage?

      put simply, if they're citizens of united states of america or canada then they're not indian citizens.

      --
      world was created 5 seconds before this post as it is.
    8. Re:As usual by Anonymous Coward · · Score: 0

      How are workers on temporay visas citizens, you fucking retard?

  6. What's in a name? by Trejkaz · · Score: 3, Interesting

    Wasn't Cloudscape donated to the Apache project, where it changed its name to Derby? Don't IBM think that offering a download of "Cloudscape" is going to confuse developers?

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  7. Spelling mistake in submission by Anonymous Coward · · Score: 4, Funny

    The submitter mispelt 'cynical ploy' as 'patent gift', wake up editors.

    1. Re:Spelling mistake in submission by plasticmillion · · Score: 1

      Yeah but you misspelled "misspelled."

    2. Re:Spelling mistake in submission by mabinogi · · Score: 2, Funny

      no, he misspelt "misspelt".

      --
      Advanced users are users too!
    3. Re:Spelling mistake in submission by plasticmillion · · Score: 1

      You say "potato", I say "po-TAH-to"... :-)

    4. Re:Spelling mistake in submission by Master+of+Transhuman · · Score: 1


      Let's call the whole thing off...

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  8. Java zealot's response by Anonymous Coward · · Score: 1, Funny

    No, no, no, you get it all wrong.

    Java is now no longer a technology to add bullshit to webbrowsers.

    It is a mature (so says Sun), fast (so says Sun) and memory-conservative (so says Sun) platform which is platform-independent (so says Sun).

    It is used in major companies and organizations for mission-critical and user-centric applications which leverage the power of the human resources and empower an increasi in return-on-investment.

    Do you want to imply that the CEOs and CTOs of most major companies are *gasp* fucking clueless XP-wieners? I'm sure this would come as a big surprise to all of us.

    1. Re:Java zealot's response by Ryosen · · Score: 2, Informative

      Oooh, lookie! It's a trolling AC. Ok, I'll bite.

      Java *is* a mature language celebrating its 10th year in 2005. J2EE, as the sum of its collective parts (EJB, Servlets, JSP, RMI) has been around for 7 years. By industry standards, these are "old-timers".

      Java is memory "conservative" (on a server), requiring far less RAM than the .NET platform. Depending on the application server that you implement, you will find varying degrees of performance. Try not to give in to the uninformed mindset that the Java runtime included with the SDK in 1996 was the end-all be-all of Java compilers. That FUD went out of style a long time ago along with bell bottoms, the Dodo and civil liberties.

      Java *is* platform-independent. My firm has developed applications running on various different *nix and Windows platforms that have been in production for over 4 years. Any platform-dependent implementation (e.g. via JNI) should be abstracted far enough away from the core application that, in the rare case that it is required, it can be easily replaced. To not design your application in such a manner is foolish and irresponsible.

      Business has been very successful on the Java platform for years and much ealier than .NET and ASP.

      Or are you suggesting that everything would be better off if it were just writtin in Perl?

      Silly troll.

      --

      Ryosen
      One man's "Troll, +1" is another man's "Insightful, +1".
  9. I've written a review of this by Simon+Brooke · · Score: 5, Informative

    As it happens I've already written a review of cloudscape; the google cache of it is here.

    Brief summary: get the Apache version; reasonably full SQL92 syntax; performance OK; a bit lacking on security.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
    1. Re:I've written a review of this by inertia187 · · Score: 2, Interesting

      reasonably full SQL92 syntax;

      Actually, I think the biggest limitation is the 18 character names for constraints (et. al).

      --
      A programmer is a machine for converting coffee into code.
    2. Re:I've written a review of this by Oliver+Aaltonen · · Score: 2, Funny

      You probably want to use the text-only cached link, since the one you gave still grabs files from your web server (images, stylesheets, etc.).

  10. Java IS NOT slow by koi88 · · Score: 1


    Java IS NOT slow

    If anything, the interface gives it a feeling of slow.

    --

    I don't need a signature.
    1. Re:Java IS NOT slow by oldwarrior · · Score: 0

      with end-user experience, perception IS the only reality.

      --
      If it were done when 'tis done, then t'were well it were done quickly... MacBeth
  11. Printed Developer Manual by Anonymous Coward · · Score: 0

    Here is a PrintFu link to the Developer Manual: http://www.printfu.org/?mcAction=pdfURL&pdfURL=htt p://publib.boulder.ibm.com/epubs/pdf/c1892470.pdf is about 9.00 bucks

  12. Here is a swell idea! by Anonymous Coward · · Score: 4, Interesting

    Lets see how many open source projects we can get going at one time to compete against one another with absolutely no standardization! YESSSS!

    But seriously -- this is getting out of hand. If every single company, individual, etc. starts an open source project what does that accomplish? Nothing. It brings about 100 different alternatives to the market most of which would never be viable in a commercial environment.

    News flash: devote time and effort to succesful projects that extend the reach of the open source community. Another open source database project is just well... another project.

    1. Re:Here is a swell idea! by karakal · · Score: 2, Insightful

      If you, my friend, didn't get it: this is the idea of OS. Not to be restricted to some few projects. And I always find something with stands for or against any new project, when I am devoting some time to it.

    2. Re:Here is a swell idea! by Anonymous Coward · · Score: 0

      OSS is a market place also -- a market place of ideas. Don't worry, projects that are ill-conceived, do not meet some need, do not have some intrinsic aesthetic or intellectual interest, will not receive much attention or attract many contributors.

    3. Re:Here is a swell idea! by Anonymous Coward · · Score: 0

      There is an SQL standard that they try to follow

  13. Re:Java IS slow by WillerZ · · Score: 2, Interesting

    Portable Java is slow, because you have to use the abstract types sun give you rather than exploit your platform's capabilities.

    The JVM initialisation time is waaay longer than the C runtime initialisation time on every platform I've tested, which makes short-running processes feel awful in Java.

    Finally, whenever it becomes necessary to actually _do_ anything, the JNI must be crossed, and that's slow.

    Phil

    --
    I guess today is a passable day to die.
  14. C++ Databases and Open Source by plasticmillion · · Score: 2, Informative
    I was struck during our search for a database for our product by the paucity of systems that fulfill our requirements:
    1. Small and embeddable
    2. Open source
    3. Native C++ interface
    It seems like practically all the databases that fill the first two requirements are written in Java and use it as their primary API. Finally we settled on Sleepycat's Berkeley DB XML, which meets these requirements and has a native XML interface to boot. The one potential caveat is that they use a hybrid license that lets users "opt out" of the GPL by paying a fee, after which they can distribute their product as closed source. Personally I think this is a great thing (always nice to have more options and you don't have to pay anything if you product is also open source), but I'd be interested in the views of the /. crowd.
    1. Re:C++ Databases and Open Source by Anonymous Coward · · Score: 1, Informative
      SQLite ( www.sqlite.org) is smaller than BDB, in the public domain, and written in C. And unlike BDB, it includes a very capable SQL layer.

      Code footprints:

      • SQLite: less than 250KB
      • BDB: about 450KB
      • Derby: 2000KB jar file
    2. Re:C++ Databases and Open Source by defMan · · Score: 3, Informative

      How about using SQLite. It's a C library (native C++, does that mean C is ok?) which provides a self-contained database engine. No need to run a DBMS.

    3. Re:C++ Databases and Open Source by Pedersen · · Score: 3, Informative

      You might wanna check out SQLite, which is in the public domain. It matches all of your requirements, and then some, I think.

      --

      GPL made simple: What was my stuff is now our stuff. If you improve our stuff, please keep it our stuff.
    4. Re:C++ Databases and Open Source by karakal · · Score: 1

      I can tell you the views of the "crows": First: I has to be free Second: I has not to be from Microsoft Third: If you want to earn money with it you are equal to Microsoft, therefore bad and should be rot in hell Fourth: There is only one thing, that is more bad than Microsoft: Apple (because they earn money) I think, I summarized it up. My personal opinion is that the GPL is just useless.

    5. Re:C++ Databases and Open Source by ralphdaugherty · · Score: 1


      After research last weekend I decided on BDB as well, but am also going to download Apache Derby version of Cloudscape as well if I want to use triggers and stored procedures for an app.

      rd

    6. Re:C++ Databases and Open Source by mattyrobinson69 · · Score: 1

      Forgive my complete ignorance, but i thought sqlite could only handle one simultanious transaction?

      im wrong, aren't i???

    7. Re:C++ Databases and Open Source by Unordained · · Score: 1

      Does a C API count? The Firebird project is open-source, has a .dll version of the server for embedding, and is written in C/C++ (they're converting everything over to C++ classes and exceptions.) It has a C API, for which you can find minimalist C++ wrappers. Firebird's footprint is really quite small, it's generally fast, it has good transaction semantics, good sql support, stored procedures, triggers, generators, ... it's sort of considered a cousin to PostgreSQL (they've concentrated on slightly different feature sets.)

    8. Re:C++ Databases and Open Source by plasticmillion · · Score: 1

      If I may ask, did you look at SQLite and, if so, what were the main reasons that led you to opt for BDB?

    9. Re:C++ Databases and Open Source by ralphdaugherty · · Score: 1

      If I may ask, did you look at SQLite and, if so, what were the main reasons that led you to opt for BDB?

      I did see SQLite in a list of open source databases, I believe. I am a longtime AS/400 RPG programmer and my focus was on record level access, not SQL.

      BDB has the base architecture for what I want, and Derby being from IBM is worth taking a look at to modify to put in DB2/400 type record level access as well.

      I have written business apps in SQL by accessing result sets with a cursor, but solid enterprise scale business logic requires writing as we do in RPG and COBOL, in my opinion, one record at a time with decision making each step of the way, rather than this pseudo batch stuff of SQL and a cursor.

      I did see Oracle also has record level access, and I see Microsoft is adding it to their Unified Database Access layer above ODBC where they now have it only in Jet. They are also out to capture the enterprise market as well as Oracle.

      SAP ABAP is I've read "German" COBOL and I'm sure they've got it right, but their open source database license was too pricey for me.

      If open source wants to compete, we need to be able to write enterprise business apps as well. I of course will be offering back any mods I do to BDB and Derby for RPG record level access emulation.

      regards,
      rd

    10. Re:C++ Databases and Open Source by defMan · · Score: 1

      I think you are right. I don't think this is a problem though. We're talking small/embeddable databases. If you need multiple transactions at a time you'd probably use a DBMS like MySQL or PostgreSQL, right?

    11. Re:C++ Databases and Open Source by mattyrobinson69 · · Score: 1

      good point.

    12. Re:C++ Databases and Open Source by kbahey · · Score: 1

      And, for the non-Java crowd here, PHP5 has SQLite bundled with it.

      It seems that this can revolutionize how ISPs do hosting in the future, since its setup is much easier and low overhead.

      We may see proliferation of applications running on SQLite in the future.

  15. Purpose by barryman_5000 · · Score: 3, Informative

    Best thing about cloudscape is small embedded databases for java programs rather than making calls to a huge mysql database. You may say that java is slow but anyone using cloudscape for more than 20,000 entries may not be thinking that through. Cloudscape will also be useful for java programmers to program a database using java.

    1. Re:Purpose by easter1916 · · Score: 1

      *This* gets modded insightful? No disrespect, but the guy just repeated a couple of very obvious points about a small, embeddable Java database...

  16. 2 points you are wrong on. by tod_miller · · Score: 2, Informative

    Write a program in cpp. Run it. a million times.

    Now write a program in Java. Guess what, Java is not an interpretted language. It doesn't use some fluffy brightly coloured play-doh type bits, it uses regular ones, like cpp binaries.

    Java compiled the byte code into executable form. Then it does some on the fly optimisation.

    Java VM's can out-perform cpp over n cycles, where n is sufficient to overcome Java start times (seconds)

    Secondly, FFT or a DCT in Java or cpp, I haven't seen benchmarks, but there are right and wrong ways to do it in both languages.

    Thirdly, Databases, noone said they had to be FAST. Now remember Java isn't slow. Most databases on this earth spend thier time knitting and throwing stupid errors.

    A few have to deal with mind-GOOGLING amount of data.

    So there you have it, if you want a very nice Java db, try mckoi

    http://mckoi.com/database

    great support, open source, and works like a charm! I use an IBM DB server remotely, and an embedded mckoi instance for such things as prefs and other niceties. (as well as local work on data)

    There you go.

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    1. Re:2 points you are wrong on. by Anonymous Coward · · Score: 0

      Write a program in cpp

      Programming with the C preprocessor? Madness!

    2. Re:2 points you are wrong on. by Anonymous Coward · · Score: 5, Funny

      Java VM's can out-perform cpp over n cycles, where n is sufficient to overcome Java start times (seconds)

      Yes, and a well-supplied tortoise can out-distance a rocket over n years, where n is much longer than the rocket's burn time :/

    3. Re:2 points you are wrong on. by essreenim · · Score: 1
      mod. (so stupid its funny, +5)

    4. Re:2 points you are wrong on. by Hognoxious · · Score: 1

      Unless Zeno shoots it with an arrow. Or was it Achilles?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    5. Re:2 points you are wrong on. by Anonymous Coward · · Score: 0

      Thanks for the link to McKoi! I need an embedded database for a java app I'm working on, but I need one that's GPL (my app is GPL). Cloudscape has a nasty IBM license, so I don't want to use THAT...

      Thanks!

    6. Re:2 points you are wrong on. by swamp+boy · · Score: 1

      Sorry to tell you, but cpp binaries use regular ones AND zeroes. I'm not sure what that does for your fluffy brightly coloured play-doh type bits argument.

    7. Re:2 points you are wrong on. by duffer_01 · · Score: 1
      "Databases, noone said they had to be FAST"

      I have about 27,000 sales reps that would disagree with you on that.
    8. Re:2 points you are wrong on. by Jussi+K.+Kojootti · · Score: 1
      Thirdly, Databases, noone said they had to be FAST.
      The Cloudscape people called, they want to use your quote in an ad.
    9. Re:2 points you are wrong on. by tod_miller · · Score: 1

      "Databases, noone said they had to be FAST"

      I have about 27,000 sales reps that would disagree with you on that.

      I love it when they make your point for you

      --
      #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
  17. Not a difficult challenge by InterStellaArtois · · Score: 1
    Although I'm in the UK, I downloaded Cloudscape and the contest files yesterday, just because it sounded like a cool challenge.

    I thought it would be a great test of my increasing Java skills and maybe I'd learn more about transactions, stored procedures, etc.

    Well, an hour later I'd got Cloudscape working, I'd unlocked the Magic Word and I was looking it up in the dictionary thinking "is it really a real word?"

    If you can do SELECTs, it's quite a trivial 'challenge' I'm afraid.

    1. Re:Not a difficult challenge by thecombatwombat · · Score: 1

      Yeah, I was disappointed too. I didn't have to write a single line of Java to solve the "Java Challenge."

    2. Re:Not a difficult challenge by mccrew · · Score: 1
      C'mon now, it's not supposed to be a difficult challenge.

      If you step back and think about it for a minute, the goal here is to generate buzz, get developers to download the product and try it out, and have a small amount of "success" with it. Now all of a sudden, Cloudscape is on the radar of a large number of developers, and is more likely to be considered for use in upcoming projects.

      --
      Hey, Windows users, there is no such thing as "forward" slash, there is only slash and backslash.
  18. But that is not embeddable by MarkEst1973 · · Score: 5, Insightful
    Your post was certainly informative in that others might have learned about a new tool and are looking at Sql Anywhere, but to be fair, the purpose of that tool is different than Cloudscape's.

    Embedding a database in an application can be very useful, such as in a desktop GUI where you cannot rely on network communication or maybe don't want to bother with a client/server environment.

    I'd certainly consider Java/Cloudscape for a desktop db-backed application over anything built in Access.

    As always, fit the tool to the job, not the job to the tool.

    1. Re:But that is not embeddable by mod_critical · · Score: 2, Informative

      I have found the ability to embed the database in the application exceptionally useful for a recent J2EE deployment we worked on.

      I liked the idea of just being able to plop the org.apache.derby.jdbc.EmbeddedXADataSource class into my connection pool and have a database. I like that I can tell the suits that the database is built by IBM and that's all I hear about it. And I like that once this venture grows and starts to make more money I can switch fairly seemlessly to DB2.

      It probably should not be considered a security measure, but there is also a certain level of security gained since there is no actualy database server that can be accessed seperately from the application server

    2. Re:But that is not embeddable by Eric+Giguere · · Score: 1

      People mean different things when they say "embedded". Do you mean "embedded" as in actually part of the application, or do you mean "embedded" as in the database is a server process on the same device (no networking involved)? It wasn't clear from the post.

      There are in fact two database technologies in SQL Anywhere Studio. First there is Adaptive Server Anywhere, the full-featured relational database that runs on all the platforms mentioned. Second is UltraLite, a small-footprint database for Palm OS and Windows CE platforms. One or both of these will fit the two "embedded" definitions, it depends on what you want. (UltraLite is the technology for the "true" embedded scenario.) Data from either can be synced to another database using MobiLink or SQL Remote, depending on what kind of replication model you're looking for.

      Eric
    3. Re:But that is not embeddable by arkanes · · Score: 1

      Cloudscape looks really nice. I'm not a Java guy, though, so I use SQLLite (http://www.sqlite.org/) as my embedded database.

    4. Re:But that is not embeddable by duffer_01 · · Score: 2, Interesting
      "Embedding a database in an application can be very useful, such as in a desktop GUI where you cannot rely on network communication or maybe don't want to bother with a client/server environment."

      I completely disagree. I think most people think that SQL Anywhere is just used for client/server communication when in fact you can also easily use it for standalone use in embedded applications. In fact, I would argue that SQL Anywhere is far easier to embed than Cloudscape since you only need to deal with 2 database files (db and log) which can be copied from any of the supported OS's (Linux, Win32, WinCE, etc). You can simply embed the dll's and exe's that you require for you application directly into your install. Add the fact that SQL Anywhere takes a lot less space than Cloudscape and you have a much better embedded solution.
    5. Re:But that is not embeddable by ckaminski · · Score: 1

      I just finished a project for a client built around Access 2000. When I found out that the requirements changed, and the clients were using a mix of Access2000, Access XP, and Access 2003 versions, I had some serious issues with getting Access Forms to work successfully with all three. Suffice it to say, I pinned them to Access XP to make their deadline (Dec 31), with further work postponed. Who knows if that work will come.

      Never again will I write an Access Forms application. I'd rather write it in a stable target (J2SE 1.4.2 or .Net 1.1) and use Access via ODBC than ever build another Access application.

      As such, I'm forcing myself to relearn Java (and my love/hate relationship with GridBags) and to learn .Net simply to address this issue, as I'm getting more and more requests for these types of applications these days.

      Years of VBA through ASP has crippled me....

      Any application database, however, should be somewhat ODBC/JDBC compliant. Deduping and data normalization tools are a PITA to rewrite. Reusability is key when I want disconnected access in an application, but also want the ability to seamlessly integrate that data.

      Thankfully, Cloudscape has both (even if beta).

  19. Arrrrghh! by Moe+Yerca · · Score: 3, Funny

    You bastards! Thanks for cutting my chances of winning an iPod down 100x.

    1. Re:Arrrrghh! by Anonymous Coward · · Score: 0

      It's okay. I predict that most readers of this article either a.) already entered or b.) are too lazy to try.

  20. So how does it compare to the alternatives? by Anonymous Coward · · Score: 2, Interesting

    Namely HSQLDB and Mckoi?

    Anyone find a decent article comparing the three yet?

    1. Re:So how does it compare to the alternatives? by Anonymous Coward · · Score: 0

      I use both HSQLDB and Cloudscape as embedded databases in the same application. HSQLDB is great for small database, but it completely melts down at around 100MB or so. My Cloudscape database is >5GB with >10M rows and the performance is more than satisfactory.

      HSQLDB is basically single-threaded; Cloudscape is multithreaded. Both have glaring omissions in SQL-92 support (particularly for ALTER TABLE). Cloudscape does not support TOP or LIMIT.

      Overall, HSQLDB is slightly easier to embed in an application; and it more closely maps SQL types to Java (ignoring field lengths for strings, for instance.)

  21. The iPod prize pattern by otisg · · Score: 1

    The most interesting part of that Cloudscape promotion on SF is the prize tht follows the pattern of all other promotions I've seen recently: "Win an iPod!"

    That says something about Apple and iPod brand, no? That is also a great marketing for Apple and its iPod product! Jobs must be rubbing his hands...

    --
    Simpy
  22. Re:Java IS slow by essreenim · · Score: 1
    Finally, whenever it becomes necessary to actually _do_ anything, the JNI must be crossed, and that's slow. wtf???

    I can't take anyone seriously when they say the above.

    The JNI is not slow...

  23. Read the License by Anonymous Coward · · Score: 1, Interesting

    How many of you actually read through the license? Did you see the part where they can use any of your contact information and provide ANYTHING they get about you. So, it looks like IBM is now in the business of providing SPAM databases as well.

    I should note that I stopped there. I will unlikely ever download and use the product, regardless of usefullness.

  24. IPod and IBM by razmaspaz · · Score: 1

    What do the iPod and IBM have to do with each other again? Remotely maybe the boost in sales of iPods correlates to a boost in Power4/5 Processors for IBM, but only remotely.

    This would have been a much better promotion if IBM had given away a free license for DB2 or something. Think about it, all the companies that want a license for DB2 check out cloudscape and see what it is all about because they want a license for DB2.

    --
    I tried for 5 years to come up with a clever sig...only to realize that I am not clever.
    1. Re:IPod and IBM by Anonymous Coward · · Score: 0

      Pretty stupid idea - the sort of people checking out Cludscape are probably not the ones making DB2 purchase decisions.

  25. The License by NotFamous · · Score: 1

    I downloaded Cloudscape and started the install. I had to read the license before proceeding. I found it absolutely incomprehensible. Is this a license for personal use? Do I have to pay for distributing it with my app? What if I set it up as a server db via networking? More licenses? I could not figure out what I was obtaining. It CERTAINLY was not 'free' software.

    --
    Some settling may occur during posting.
  26. It is fast by sasoon · · Score: 2, Interesting

    Download and you will see that it is fast. Have not tried Derby, but I tried http://mckoi.com/database/ 2 years ago. It was very fast. Under win32 I compared it with a MS jet engine database (mdb file) with the jdbc odbc bridge driver, almost equal speed, plus the possibility to work with unicode strings.

  27. Yes, it is. by WillerZ · · Score: 1

    Read this very carefully.

    To send a network packet in C: construct it in your program; call write(), which is a system call.

    To send a network packet in Java: construct it in your program; call YadaYada.write(), which copies it across the JNI to a C module; C module calls write() which is a system call.

    No matter how fast the JNI is, CROSSING IT WILL ALWAYS BE SLOWER THAN NOT CROSSING IT.

    This is not a difficult concept. The JNI tax applies whenever you need to do anything which must be accomplished with a native call. File I/O, drawing GUIs, Network I/O, accessing user input -- all these things and more require that the native way of doing things be converted to/from the Java way of doing things. Admittedly, the VM does some of these internally without the full-price JVM getting involved.

    Java has a runtime cost, and the JNI is a large part of that (because a sufficiently good JIT helps with everything else). It's up to you to determine if the development-time benefits (if any) are large enough to warrant the run-time cost for your projects.

    Phil

    --
    I guess today is a passable day to die.
    1. Re:Yes, it is. by Ryosen · · Score: 3, Interesting

      I think you might be misunderstanding what JNI is. Each Java runtime provides its own implementation to the native underlying system libraries. Java does not communicate through JNI for I/O of any kind.

      JNI itself is a generic abstraction layer to the underlying operating system. It provides a mechanism whereby dynamic libraries not directly supported by the runtime engine can still be accessed by a Java application.

      Threading, sockets and GUI are implemented via the native system libraries. AWT used to be very slow (as opposed to just being merely slow today) due to its own multi-layed abstraction. But at no time was JNI the conduit for these systems.

      Further reading: http://java.sun.com/docs/books/tutorial/native1.1/ concepts/index.html

      --

      Ryosen
      One man's "Troll, +1" is another man's "Insightful, +1".
    2. Re:Yes, it is. by Anonymous Coward · · Score: 0

      "To send a network packet in C: construct it in your program; call write(), which is a system call.

      To send a network packet in Java: construct it in your program; call YadaYada.write(), which copies it across the JNI to a C module; C module calls write() which is a system call.

      No matter how fast the JNI is, CROSSING IT WILL ALWAYS BE SLOWER THAN NOT CROSSING IT."

      Perhaps, but optimum portability has for a long time been preferable to a slight speed decrease. Unless you program in pure assembly using only kernel calls, you're losing speed for the sake of portability and maintainability.

      For example:
      C -> Assembly
      libc -> kernel calls
      gtk -> xlib -> svga painting

      The point is that the slowness is often a reasonable tradeoff for portability. Though, using Java for GUIs is just sadistic.

  28. What? by Anonymous Coward · · Score: 0

    Slashdot users being confused? You must be kidding...

  29. Robocode by acomj · · Score: 1

    Finally and embedable database for robocode robot. I will finally have and easy way all the data on all my oponents movements... !! !!

    And still get wiped out..

  30. My 0.02 USD by kannibal_klown · · Score: 1

    For the nay-sayers out there...

    An embedded database is quite useful. Imagine the following scenario.

    You're writing an application; say something that you want to sell or distribute on the net. Now, let's say you're program uses a heft amount of data and needs to perform complex searches against it. I'm not talking about free-text, but for columns whose values are between certain ranges or that follow a formula. Also, image that said information is relatively static.

    Now, you could force all of your customers to install PostgreSql or MySql, but why bother? It's an app that's used maybe for 10 minutes at a time. That's overkill. Sure, if you're within a corporation you could just point your app to the company's Oracle (or PostgreSql, MySql, etc) database, but that's not the target audience.

    Likewise, a text or binary file would be nice, but that's a lot of code to do the complex queries.

    Using an embedded database means grabbing waypoints or routes within a certain area is very simple. You just perform a query limiting the longitute and latitude and with little effort you get back sets of data that match you're searches.

    The embeded database makes it easily distributable to customers across the net, while allowing for simple code to perform complex lookups.

    I'm not saying Cloudscape is the best (though I've used it for like a week in the past), but it and it's kind are pretty useful.

    As for Java, I find that it'f pretty quick with the exception of startup and GUI (though both are a little better). And SWT overcomes the whole sluggish GUI aspect.

  31. Cloudscape is great for automated unit testing by MagicMike · · Score: 2, Informative

    I was having a hard time maintaining a distinction between unit testing and integration testing with some of my back-end code until Cloudscape came out.

    Now, instead of needing to have a container up, or have a database running or similar, I can embed cloudscape (which is quite small, really), set up a group of in-memory tables with the state I need, execute a unit, then check the tables for correctness and destroy the database.

    Shazam, database unit tests - no external dependencies.

    A lot of people are mumbling and complaining about Java and databases and speed, but apparently they've missed the whole Moore's law thing. I'm betting they either haven't tried it or they have some over-inflated view of how fast their applications need to be (or how much it costs to get fast hardware vs. their time).

    This stuff easily meets the "fast-enough" test for lots of uses, unit testing being just one of them.

  32. Apache at the ASF by dirkx · · Score: 3, Informative
    Yes it was - see the Derby project in the Incubator.

    Beeing in the incubator does not yet mean it is a full blown ASF project - but that the ASF is in the process of ensuring that there is a healthy community around it, that all the legal paperwork, trademakrs, grants, copyrights and other interlectual rights are sorted out, that commiter license agreements are on file for each developer, etc, etc..

    Once that is all in place (and getting a healthy long term community is hardest - the rest is just endless grunt work and digging through code and legal paperwork dotting i's and crossing t's) it'll leave the incubator and be a full blown process.

    Feel invited to join and make this happen ;-)

    Dw.

  33. RTFA please, both submitters and moderators by Raul+Acevedo · · Score: 1
    It's amazing how people who don't RTFA get modded up. I guess the moderators don't RTFA any more than the posters or the editors.

    From the article:

    • IBM Cloudscape(TM) V10.0 is a pure, open source-based Java relational database management system that can be embedded in Java programs and used for online transaction processing (OLTP). A platform-independent, small-footprint (2MB) database, Cloudscape V10.0 integrates tightly with any Java-based solution.
    • Read why IBM is open sourcing Cloudscape as Derby.
    • Open source code is available on the Apache Incubator Project site.
    • Runs on any standard Java Virtual Machine (JVM), allowing developers to "write once, deploy anywhere."
    • Embeddable inside Java applications on the server, desktop or in pervasive devices.
    Apparently the reason to use Java is that it's geared towards Java developers and applications, especially embedded ones.
    --
    In a real emergency, we would have all fled in terror, and you would not have been notified.
  34. How does this compare to Hsqldb? by SuperKendall · · Score: 1

    I have been playing around with Nukes, a Java CMS/Portal framework (kind of from the JBoss group).

    One nice thing is that you can download a version of Nukes that includes JBoss, Nukes, and even an embeded DB - Hsqldb. You can also use it with MySQL and Postgres if you like.

    So does anyone know how Hsqldb compares with Cloudscape?

    Downloading Nukes with an embedded DB is really nice to be able to play around with the system right away without any configuration work and is a good example of why an embedded DB can be useful.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:How does this compare to Hsqldb? by fcgreg · · Score: 1
      --
      Greg T.
  35. Object-Oriented Alternatives by Klaus+Wuestefeld · · Score: 1

    What is the purpose of embedding SQL?

    Why would I handicap myself like that, when I don't need ad-hoc reporting and when no other system is going to share my data?

    Why wouldn't I just use native Java objects?

    See you, Klaus.
    http://www.db4o.com/ - The Leading Open Source Object Database
    http://www.prevayler.org/ - Do You Still Use a Database?

    1. Re:Object-Oriented Alternatives by lachlan76 · · Score: 1

      Because that would then mean that your DB queries are stuck to that one DB. And LOTS of people know SQL, too. You don't want every developer involved in an app that needs to store data to have to learn a whole new API.

    2. Re:Object-Oriented Alternatives by Klaus+Wuestefeld · · Score: 1

      > Because that would then mean that your DB queries
      > are stuck to that one DB.

      With something like Prevayler, there is no DB to query, just POJOs. You can use the query language you like.

      > And LOTS of people know SQL, too. You don't want
      > every developer involved in an app that needs to
      > store data to have to learn a whole new API.

      Familiarity is important but it cannot be the only factor, or else you will remain stagnant forever.

      See you, Klaus.
      "Objects Are Here To Stay" - http://www.db4o.com
      "There is no spoon" - http://www.prevayler.org

  36. Another option: db4objects by dvorme · · Score: 1
    Another option for embeddable databases: db4objects (http://www.db4o.com/).

    The runtime is a JAR that's about 300KB in size, with about a 1 meg memory footprint.

    Companies like BMW and Bosch have chosen it to drive their automobiles and robots respectively.

    The best way to get a feel for db4objects is to look at how simple the code is you get to write. For example:

    To store a Pilot object:

    ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
    try {
    Pilot pilot1=new Pilot("Michael Schumacher",100);
    db.set(pilot1);
    }
    finally {
    db.close();
    }
    To retrieve all pilots:
    // Put this in a try-finally block like above
    ObjectSet result=db.get(Pilot.class);
    while (result.hasNext())
    System.out.println(result.next ());
    To retrieve a pilot by name:
    // (use query-by-example)
    Pilot proto=new Pilot("Michael Schumacher",0);
    ObjectSet result=db.get(proto);
    if (result.hasNext()) Pilot firstMatch = (Pilot) result.next();
    To update a pilot:
    ObjectSet result=db.get(new Pilot("Michael Schumacher",0));
    Pilot found=(Pilot)result.next();
    found.addPoints(11);
    db.set(found);
    System.out.println("Added 11 points for "+found);
    There's lots more including embedded or client/server operation, transactions, partial activation of large object graphs, and more.

    Oh, and db4objects works with plain old Java objects. You don't have to implement interfaces, inherit from a particular class, or anything like that.

    If you're looking for the simplest, light-weight, zero-administration, embeddable database you could imagine, in my experience, db4objects is it.

    (I liked it so much that as of 1.5 weeks ago I started working for the company.)

    Best regards,

    Dave Orme
    --
    db4objects senior engineer
    Eclipse Visual Editor Project leader (http://www.eclipse.org/vep)
    XSWT project leader (http://xswt.sourceforge.net/)

    --
    db4objects senior engineer
    Eclipse Visual Editor Project leader (
    1. Re:Another option: db4objects by Anonymous Coward · · Score: 0

      ObjectSet result=db.get(new Pilot("Michael Schumacher",0));

      Looks like ASP (VB-script) to me.

  37. It's not GPL, so I can't use it in my software. by crazyphilman · · Score: 1

    The stuff I'm working on is GPLed, so I can't use Cloudscape -- it's got a restrictive IBM license. I don't care if I can read the source, I care about having a liberal license.

    So I'm going with McKoi.

    --
    Farewell! It's been a fine buncha years!
    1. Re:It's not GPL, so I can't use it in my software. by java_freek · · Score: 1

      I think Daffodil's One$DB which was recently open sourced at sourceforge under the LGPL license is a better bet look at http://www.sourceforge.net/projects/daffodildb/ These guys have also gives a comparison between their db and derby its interesting.. http://www.daffodildb.com/onedollardb-derby.html/

    2. Re:It's not GPL, so I can't use it in my software. by crazyphilman · · Score: 1

      Very nice! Thanks for the info, I'll check it out.

      --
      Farewell! It's been a fine buncha years!
  38. Well done for showing your reading level by tod_miller · · Score: 1

    I think it says - re-read the comment and engage your brain this time.

    I will give you the meat of it:

    [Java] doesn't use some fluffy brightly coloured play-doh type bits, it uses regular ones, like cpp binaries.

    Not:

    Unlike cpp binaries, which use bright fluffy ones and zeros, Java uses regular binary ...which you decided it meant, because you seem to have your own language. I am not saying your read it wrong, but it wasn't written in first grade frontal-lobotomy language.

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
  39. cloud linings by dankelley · · Score: 1
    I'd love a little iPod, but I admit defeat. Installing and setting up Java software is just too much work for an old-fart C++/unix geek.

    Fondly I recall those halcyon days of tar, configure and make. Oh, what the heck, throw in a make check to see if all is well in the world, and to demonstrate just how to use the software (e.g. what environment variables to set).

    But those days are gone. In this brave new java world [as IBM sees through its clouds] we're presented with a weird amalgum of GUI and CLI. Click this, type that. Then point your file manager at ... well, what, exactly? Where the heck is that single README or INSTALL file, to which my tired eyes are so accustomed? Nothing so simple as that. For a new language, you'd really think that Java would have been set up more simply. Heck, the installer knows where I installed the software; why doesn't it set up my environment variables, or give me a line I can cut/paste into my shell?

    After I gave up, I looked on this thread to see if others found this lovely software easy to set it up. Well, at least some others had problems.

    IBM should install the whole mess with either GUI or CLI, not both. The interface should set up requisite environment variables, and it should run a demo. If folks are meant to read instructions, provide just one single, aptly-named, file of instructions.

    Surely this advice is worth at least an iPod Shuffle :-)