Slashdot Mirror


MagLev, Ruby VM on Gemstone OODB, Wows RailsConf

murphee ends along a report from InfoQ: "Gemstone demoed [MagLev,] their Ruby VM built on their GemStone S64 VM, to an ecstatic audience. Gemstone's Smalltalk VM allows OODBs of up to 17 PetaBytes, with none of the old ActiveRecord nonsense: the data is persisted transparently. The Gemstone OODB also takes care of any distribution, allowing the Ruby VM and data to scale across many servers (Cheerio, memcached!). There's also an earlier quite technical interview with Gemstone's Bob Walker and Avi Bryant about MagLev."

132 comments

  1. I'm sorry... by Anonymous Coward · · Score: 5, Insightful

    What?

    1. Re:I'm sorry... by corsec67 · · Score: 4, Informative

      Agreed, I develop in Ruby on Rails full-time, and I barely understood 1/3 of that summary.

      OODB = Object Oriented Database (possibly a OODB type of model) helps in translating that from specialist to mere geek.

      --
      If I have nothing to hide, don't search me
    2. Re:I'm sorry... by Slashdot+Suxxors · · Score: 1

      OODB - Open Office Databases?

    3. Re:I'm sorry... by Anonymous Coward · · Score: 0

      What?
      idk...my bff jill?
    4. Re:I'm sorry... by YodaYid · · Score: 1

      It looks like it's a way to make Ruby on Rails faster, using some technology that was designed for SmallTalk.

    5. Re:I'm sorry... by Santana · · Score: 1

      Then maybe you've just been too busy for keeping up with the news.

      http://www.infoq.com/news/2008/04/maglev-gemstone-builds-ruby

      and I'm not even a Rails developer, just a Ruby enthusiast.

      --
      The best way to predict the future is to invent it
    6. Re:I'm sorry... by snl2587 · · Score: 2, Informative

      And I, for one, wouldn't want to work for you for failing to understand what the GP was saying.

    7. Re:I'm sorry... by ESqVIP · · Score: 4, Informative

      Indeed, incredibly poor summary.

      Basically, GemStone, a company which has been working on large-scale object-oriented database systems and a Smalltalk implementation (GemStone/S) for decades, has decided to support Ruby on their infrastructure. Turns out Ruby is indeed quite similar to Smalltalk, and some microbenchmarks already show them as being 8~60x faster than MRI (the main Ruby 1.8 implementation). Should those numbers remain consistent, this will be an incredibly fast implementation of a popular scripting language, surpassing by Python, PHP, Lua, and other Ruby implementations in raw numbers.

      This might be a massive push for Ruby/Rails on "enterprise" systems. And if they succeed, this could also be one interesting step reviving the popularity of OODBMSs.

    8. Re:I'm sorry... by Anonymous Coward · · Score: 0

      Smalltalk
      one word
      But then again, your probably just use PERL

    9. Re:I'm sorry... by xiaomai · · Score: 1

      Any idea if this maglev stuff is free (as in speech)? It looks like it might just be a closed-source commercial offering?

    10. Re:I'm sorry... by ESqVIP · · Score: 2, Informative

      Definitely not. They've been talking about a free-gratis version, and there's chance they will open some of their standard library (possibly sharing part of it with Rubinius, since both have a similar goal of writing as much as possible directly in Ruby), but you shouldn't expect them opening their VM or OODB stuff anytime soon.

      But well, if anything, they show how far open implementations of dynamic languages can get performance-wise. The current breed of languages has always lagged behind the old ones (like Lisp and Smalltalk), and this is great proof there's no technical reason for that.

    11. Re:I'm sorry... by Paradise+Pete · · Score: 1
      Any idea if this maglev stuff is free (as in speech)? It looks like it might just be a closed-source commercial offering?

      "GemStone is still pondering a pricing model for MagLev. Bob Walker did state that there will be a free version available."

    12. Re:I'm sorry... by pnagel · · Score: 5, Informative

      Basically, GemStone, a company which has been working on large-scale object-oriented database systems and a Smalltalk implementation (GemStone/S)

      You make it sound as if the object oriented database and the Smalltalk implementation are two separate products. Which is a common misconception.

      To oversimplify, GemStone's Smalltalk VM is an OODB. It adds the following features to the language:
          1) Begin transaction, commit transaction, abort transaction.
          2) All of your process space, your global variables, your datastructures etc. are persisted. You can switch power-cycle your computer and have the same program running as used to run before.

      I'm sure they did the same for Ruby with maglev.

      This approach cuts out layers and layers of persistence crap. Bye bye object-relational persistence mapping crud.
    13. Re:I'm sorry... by cytg.net · · Score: 1

      scary thing would be you hiring people.. ;)

    14. Re:I'm sorry... by Anonymous Coward · · Score: 0

      Wow, how much fail are you?
      Did you really just say that?? What are you, like 12?
    15. Re:I'm sorry... by Anonymous Coward · · Score: 0

      How do you update the application code? Won't you still need to manually write a converter for the data from one format to another? And how is this better than just up front writing your persistence like we've always been doing?

      If your answer is good please email it to this guy http://www.erights.org/data/serial/jhu-paper/upgrade.html

    16. Re:I'm sorry... by Unoti · · Score: 1

      You can switch power-cycle your computer and have the same program running as used to run before.

      The especially great thing about this is that when our Rails apps barf, the only recourse is to reboot rails. Now the clusterfuckery can be persisted!

      Ruby on Rails is delightful to develop in. But deploying it across something that gets hammered a lot is a nightmare. Say what you will, but scaling up Python or PHP is way easier.

      Quote of the day (actually I see this dozens of times per day): "Twitter returned a "temporarily overloaded" error. This is a problem with the server that provides tweets to Twitterific...

    17. Re:I'm sorry... by snl2587 · · Score: 1

      I'll be more specific. It is my understanding that the post I was referring to was expanding the acronym OODB so the summary wasn't as hard to understand. And if you're the A.C. I responded to before then...wow...

    18. Re:I'm sorry... by pnagel · · Score: 2, Interesting

      How do you update the application code? By filing in the source code, or whatever mechanism your Smalltalk source control tool of choice provides.

      Don't know the specifics of what they do in Maglev for ruby.

      Won't you still need to manually write a converter for the data from one format to another? Of course. If, for example, you decide to store birthdates for your customer objects too, you'd need to write a "for" loop that loops over all your customer objects and assigns an initial value to their birthdate attribute.

      Because the runtime of an OODB program is measured in years, not hours, the layout of its objects tends to change a lot. And the libraries and runtimes tend to support this, whereas in plain old programs it is not supported.

      In GemStone/S, they support this amongs other things by allowing you to have "previous versions" of a Person class. So, to add birthdate to a Person, you'd load a new version of the Person class, loop over all instances of the previous version, frob their data, and continue running.

      But the frobbing code would be plain old Smalltalk (or Ruby, in the case of Maglev; or Java, in the case of GemStone/J) code.

      And how is this better than just up front writing your persistence like we've always been doing? It's better because the object model of persistent data is identical to the object model of plain old data as you've used it in non-persistent code.

      Look, here's pseudocode for a non-persisten Person object constructor (I'l spare you the Smalltalk syntax):


      createPerson(aName, aSurname)
          name := aName
          surname := aSurname


      Here's pseudocode for the equivalent code inside a persistent OODB:


      createPerson(aName, aSurname)
          name := aName
          surname := aSurname
          commit()


      Compare this to using a relational database in as a backing store for objects intended to be used in an OO program.

      1. You need declare the SQL schema of the table that will store your Person
         
      2. You need to duplicate the same in your language
         
      3. You need to write special code to extract the original values from the table into your Person object
         
      4. You need to do the same for persisting changed values back


    19. Re:I'm sorry... by Ant+P. · · Score: 1

      60 TIMES faster? As in 1.6% runtime? Wow, that's big enough to make me actually pay attention to ruby... up until now the one thing I keep hearing from everyone about it is that it's a nice language but ridiculously slow.

  2. An audience that needs ... by Marbleless · · Score: 5, Funny

    >Gemstone demoed [MagLev,] their Ruby VM built on their GemStone S64 VM, to an ecstatic audience.

    An audience that needs ...

    a) to buy some vowels, and
    b) to find significant others to get ecstatic about! ;)

    --
    --I thought I was wrong once, but I was mistaken.
  3. Sad . . . by Anonymous Coward · · Score: 5, Funny

    > murphee ends along a report from InfoQ

    I am sorry to hear of murphee's death, and hope that no more lives are claimed by this report's incomprehensibility.

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

      With this comment, you have achieved a moment of perfection.

      And I deign to sully it with a response only because, as responses are inevitable, I'd rather the first be an expression of unmitigated praise rather than a logged-in user's transparent attempt to leech overflowing positive moderation from what must soon be a +5.

      Good day.

  4. I'm At Rails Conf by Anonymous Coward · · Score: 0

    I didn't even know this was a topic being discussed. In other news, git is cool.

  5. WTF ?! by Anonymous Coward · · Score: 1, Informative

    That has got to be the worst summary line I've ever read in the history of slashdot.

  6. Shot in the dark by smittyoneeach · · Score: 4, Insightful

    "MagLev, Ruby VM on Gemstone OODB, Wows RailsConf"
    Some magnetic levitation involving rubies, VM (Ware?), more gems, object oriented databases (didn't they die?), World of Warcraft, rails (magnetic levitation again?), and, finally, conference.
    Doesn't the Lameness Filter usually take care of this sort of thing?

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    1. Re:Shot in the dark by noidentity · · Score: 5, Funny

      Just yesterday I was working on SuperCollider, hooking it with OilRig, implemented with SuperTanker, using ConcreteRoad as the substrate. I had some problems with the DeepSea module, but it was really due to RadioAntenna. You're confused? These are just the names of some database libraries, nothing to do with what their names imply.

    2. Re:Shot in the dark by smittyoneeach · · Score: 1

      Actually, EverythingButTheCamelCase made sense.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    3. Re:Shot in the dark by dominious · · Score: 1

      Some magnetic levitation involving rubies, VM (Ware?), more gems, object oriented databases (didn't they die?), World of Warcraft, rails (magnetic levitation again?), and, finally, conference. Well at least you got the conference right, I thought the RAILS configuration file got wowed somehow!
  7. Independent results are coming soon by Anonymous Coward · · Score: 0

    Independent results will be coming soon, as outlined here.

  8. Snuh? by Todd+Fisher · · Score: 0

    After I was confused by the headline I thought to myself, "Well the summary will clarify all that up for me"
    After I read the summary I thought to myself, "I still don't understand and I'll be damed if me and the four Pale Ales in mah belly give a good Goddamn to RTFA!"

    --


    --I'm not talking about dance lessons. I'm talking about putting a brick through the other guy's windshield.-
  9. Re:Sounds cool, but not open by catch23 · · Score: 2, Informative

    Just so you know, gemstone isn't exactly new, it might be as old, or older than some of those Oracle products and have been running in production environments for years. Just because you've never heard of it doesn't mean it's brand new. There's quite a few old financial companies running on smalltalk systems built by gemstone. Unfortunately, much of Smalltalk's history has been closed-source. Even the GPL Squeak was late to the game (1997). Fortunately, smalltalk is a pretty simple language so it's actually relatively easy to get a very good stable VM implementation in a short time.

  10. Great Ruby news by Santana · · Score: 5, Informative

    Maglev is the long awaited (by Rubyists at least) Ruby VM (virtual machine) developed by Gemstone, who also develop an OODB (use Wikipedia for this one, you can do it).

    Railsconf is a good opportunity for Gemstone to show off their object persistence, since it would benefit Ruby on Rails (which uses O/RM that may not be necessary any more.)

    --
    The best way to predict the future is to invent it
    1. Re:Great Ruby news by Anonymous Coward · · Score: 0

      Don't buy the hype. Gemstone is just associating themselves with a hot technology to get press and new developers. Gemstone is a trap. It's easy to prototype in, but you will soon find that it does not scale/perform. It's also difficult to get people who know how to tune Gemstone, and they are expensive. Buyers beware. If you tie your horse to Gemstone you will be spending a lot of time fighting technology problems instead of solving the business problem.

    2. Re:Great Ruby news by Nemo's+Night+Sky · · Score: 1

      I thought everyone using Ruby on Rails was going back to Ruby. Perhaps RoR interest is still going strong.

    3. Re:Great Ruby news by DragonWriter · · Score: 1

      I thought everyone using Ruby on Rails was going back to Ruby. Perhaps RoR interest is still going strong.


      There is still plenty of RoR interest, plus MagLev is just as relevant to a lot of what people leave RoR for.
    4. Re:Great Ruby news by Anonymous Coward · · Score: 0

      an OODB (use Wikipedia for this one, you can do it) Thanks! Fuck you too!
  11. Re:Sounds cool, but not open by killjoe · · Score: 1

    You may want to google gemstone and "avi bryant".

    Google is a fantastic resource to ease your ignorance.

    Remember just because you haven't heard of it doesn't mean it doesn't exit.

    --
    evil is as evil does
  12. Re:Sounds cool, but not open by Bill,+Shooter+of+Bul · · Score: 1

    It is new. Its never been used in conjunction with ruby before, but thats not really that important. I was really talking about my comfort level with the product. I never want to be the largest user of a closed source product. Who uses it? Under what kind of loads? How many servers?

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  13. Talk really did wow the conference by stockmaster · · Score: 5, Informative

    This talk was one of the highlights of the conference. At the talk, they showed performance benchmarks that included running several things as much as 117x as fast as the default Ruby interpreter that is in use by most Rails installations today. The fact that it's built on this commercial-grade Gemstone platform that has been used for years for high-performance production Smalltalk applications just adds to its credibility.

    One of the reasons this is exciting is that many Ruby/Rails programmers have suffered from the criticism that their platform is elegant and fast to develop in, but that it doesn't scale well. MagLev sure looked like it could go a long way toward addressing those concerns. And since it hits Ruby right at the VM level, it is potentially useful to anyone running any kind of Ruby app whether on Rails or not.

    Of course, we'll see when it's done...

    1. Re:Talk really did wow the conference by Standard+User+79 · · Score: 2, Interesting

      Doubtful. When people have scalability problems it's not ruby, it's rails. Web applications don't need much cpu but they do need to use memory in a reasonably efficient manner - something that rails cannot currently do.

    2. Re:Talk really did wow the conference by TubeSteak · · Score: 1

      At the talk, they showed performance benchmarks that included running several things as much as 117x as fast as the default Ruby interpreter that is in use by most Rails installations today. The fact that it's built on this commercial-grade Gemstone platform that has been used for years for high-performance production Smalltalk applications just adds to its credibility. "The fact that it's built on this commercial-grade Gemstone platform that has been used for years for high-performance production Smalltalk applications just" means that they're going to keep their proprietary solution to themselves and make lots of money.

      Gemstone has spent a lot of time optimizing their code, are they just going to give that away for free?
      --
      [Fuck Beta]
      o0t!
    3. Re:Talk really did wow the conference by crawling_chaos · · Score: 0, Troll

      You mean that when you pay someone to write software you get a product that scales and is documented and all of the other crap that most open source programmers seem to actively sneer at, because that kind of work seems menial and boring to them? Perish the thought!

      --
      You can only drink 30 or 40 glasses of beer a day, no matter how rich you are.
      -- Colonel Adolphus Busch
    4. Re:Talk really did wow the conference by dkf · · Score: 1

      This talk was one of the highlights of the conference. At the talk, they showed performance benchmarks that included running several things as much as 117x as fast as the default Ruby interpreter that is in use by most Rails installations today. The fact that it's built on this commercial-grade Gemstone platform that has been used for years for high-performance production Smalltalk applications just adds to its credibility. Well, without in any way detracting from the technical prowess of the Gemstone folks - sounds like they know their stuff with OODBs - beating the default implementation Ruby on the performance front isn't that hard. Certainly traditionally, Ruby was slow by all independent measures such as the Language Shootout.

      I suppose this does beg the questions: does the Gemstone-based system do better in the shootout benchmarks? If so, by how much? And since there's often tradeoffs between optimizations and (frequently obscure) parts of language semantics, what features of Ruby get lost along the way? What proportion of Ruby scripts are likely to run unchanged? What proportion of those are going to get a good performance boost?

      Just the things that go through my head on first glance...
      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
  14. Ruby Shootout by cryptoluddite · · Score: 5, Interesting

    The MagLev VM, although only partially implemented, so far outperforms MRI 1.8. Being 'faster than 1.8' is a pretty weak claim compared to the competition:

    Ruby 1.9: 3.32x
    XRuby: 1.43x
    JRuby: 1.32x
    Ruby 1.8: 1.0x
    Rubinius: 0.73x
    Ruby.NET: 0.56x

    What is cool is how well the Java-based Ruby implementations do: JRuby and XRuby. JRuby was the only Ruby implementation that did not have any tests error. For a VM that is supposedly so hostile to dynamic languages, those implementations were faster and more reliable than the actual Ruby VM and cleaned the floor with the CLR/.NET implementation. And the next version of Java should have stack allocations and invokedynamic bytecode and other optimizations.

    What this shows to me is, first do one thing well (Java), then figure out how to grow it. In contrast to .NET/CLR which started out trying to do everything and ended up doing few things well.
    1. Re:Ruby Shootout by Santana · · Score: 1

      Being 'faster than 1.8' is a pretty weak claim compared to the competition:

      Well, Matz's Ruby (or MRI) is still _the_ reference, so it makes sense to compare to it. What is really missing is how fast Maglev is. This blog post talks about 8x to 60x faster, which is impressive.

      --
      The best way to predict the future is to invent it
    2. Re:Ruby Shootout by cryptoluddite · · Score: 0

      The news of the conference says they have 36 of 43(?) tests 'running significantly faster'. Ruby 1.9 has 38 tests running 'significantly faster'. So some guys' blog about results he didn't even see is pretty doubtful.

      An 8x-60x faster is probably a few numerical benchmarks or possibly something like a regex implementation, and even if true won't have much impact on Ruby overall performance (since you don't use Ruby or Smalltalk for numerical work anyway).

      Still, Smalltalk VMs are very advanced and the added competition will be very good for Ruby. My personal bet though is that Ruby completely kills Smalltalk soon, since they are so similar but Ruby has advantages like sane precedence and better syntax.

    3. Re:Ruby Shootout by Anonymous Coward · · Score: 1, Insightful

      "precedence" is not sane - it's a complicated set of exceptions that make a programing language more complicated to implement, but don't really gain anything. If the only thing you can think of against smalltalk is not implementing mathematical precedence rules, then you're scratching at straws.

      Ruby's syntax is not better than smalltalk - it's more complicated. the only thing "better" about it, is that it sometimes vaguely resembles C syntax.

      If you spent ten minute with Smalltalk's syntax you'd realise that it's 1. very small, 2. very consistent. which means that you can learn the _entire_ syntax in one sitting. Beyond that, it's all just API.
      That's where Smalltalk has its advantage, because 99% of the language is API, adding to the language doesn't require compiler changes.

    4. Re:Ruby Shootout by Riemann+hypothesis · · Score: 1

      I was one of the few who saw MagLev run against MRI before RailsConf, and the author of the shootout you're referencing. Ruby 1.9 is faster than 1.8. JRuby is faster than 1.8. MagLev is not only faster than 1.8, it blows 1.8 out of the water. Just to give you an example, in a few tests, Ruby 1.8 takes about 20 seconds to execute them, while MagLev takes about a second. The new shootout will be published soon and it'll include MagLev. By doing this, we'll have a fair comparison on multiple operating systems. I'll also expand the number of tests. These will still be synthetic benchmarks, but at least they'll give us a general idea of how well a given virtual machine's performance is.

    5. Re:Ruby Shootout by cryptoluddite · · Score: 1

      Ruby's syntax is not better than smalltalk - it's more complicated. the only thing "better" about it, is that it sometimes vaguely resembles C syntax. Smalltalk's syntax is not complicated enough. Algol syntax has dominated for 60 years. If you think having a C-like syntax is a flaw then you are not thinking rationally.

      "precedence" is not sane - it's a complicated set of exceptions that make a programing language more complicated to implement, but don't really gain anything. So they teach math using hungarian notation in schools... where exactly? Our natural languages contain precedence and all sorts of complicated syntax that we are hardwired to understand. Smalltalk fails because it wants to be 'pure' and 'simple' in places where that is not an advantage.
    6. Re:Ruby Shootout by Anonymous Coward · · Score: 0

      Please test JRuby/XRuby with openjdk if you can. Fedora Core comes with openjdk now.

    7. Re:Ruby Shootout by Anonymous Coward · · Score: 0

      Also, I note that some of your benchmarks (like mandelbrot) do not use the computed values. The more advanced VMs are able to eliminate computations with no result. For instance, when I was benchmarking Java it would complete a benchmark in .2 seconds whereas the best Smalltalk took tens of seconds -- turns out the Java one could do any amount of that benchmark in .2 seconds because that's how long it took it to realize it could just eliminate the whole computation.

    8. Re:Ruby Shootout by cryptoluddite · · Score: 3, Interesting

      I took a look at some more of the benchmarks and they are pretty much universally meaningless once you throw in a good optimizing VM. For instance translating the method benchmark into Java and having it loop 2^31 times instead of 6 million times and Java is 29,000 times faster than Ruby 2.8.

      Adding a simple global+=1 to the method body makes Java only 16,000 times faster than Ruby 2.8.

      Replacing the +1 with global*=5 makes the Java version only 536 times faster than Ruby 2.8.

      These are the kinds of optimizations MagLev is doing, and they don't translate into anywhere near the gains in actual code. So you see, you really need to rethink your tests. Even for something seemingly ok like modifying a global can depend on how it is modified and what the VM can optimize (+1 vs *5). Frankly I would just test these different Ruby implementations using the regular shootout code, since these have been designed not to be optimized out.

    9. Re:Ruby Shootout by Riemann+hypothesis · · Score: 1

      These tests were not implemented by me and are considered âoestandardâ in the Ruby community (they come from Yarv's repository). However, you have a valid point, also raised by Anonymous, so I'll manually modify the ones that are subject to artificial gains due optimization and "laziness" of the VM. And as I mentioned before, I'll add some extra tests of my own which won't be subject to this sort of flaw.

    10. Re:Ruby Shootout by cytg.net · · Score: 1

      "What is cool is how well the Java-based Ruby implementations do: JRuby and XRuby." - If im not mistaken, the new market attention of java isnt java, its opening up the jvm to get rid of the "j" and embrace all those other pesky languages as well, offer them a reliable industry proven robust vm. Changes are cometh' ..

    11. Re:Ruby Shootout by The+End+Of+Days · · Score: 0, Flamebait

      If you think having a C-like syntax is a flaw then you are not thinking rationally.


      We can generalize that to the rallying cry of the lonely nerd: If you don't agree with me you're either stupid or crazy.

      You, sir, are an ass.
    12. Re:Ruby Shootout by Duwke · · Score: 1

      What about ruby.net using the DLR (Microsoft's Dynamic Language Runtime)? It was my understanding that the CLR was not well suited for dynamic languages as your post likely confirms. Hence, this is why they created the new runtime.

    13. Re:Ruby Shootout by Santana · · Score: 1

      These tests were not implemented by me and are considered âoestandardâ in the Ruby community (they come from Yarv's repository).

      Where there's a common misconception. YARV's tests were not supposed to be used for benchmarking Ruby, according to its author:

      Benchmark tests: Some people using YARV's bnechmarks I wrote. But I didn't write these codes to measure "Ruby's general benchmark test", but to measure speed-up ratio on YARV. It's means that I wrote codes what YARV optimizes. We must prepare more suitable benchmarks for "Ruby implementations".

      --
      The best way to predict the future is to invent it
    14. Re:Ruby Shootout by Anonymous Coward · · Score: 0

      We can generalize that to the rallying cry of the lonely nerd: If you don't agree with me you're either stupid or crazy. Except in this case you're arguing against 60 years of market forces, and syntax is pretty much the easiest thing to change. If people wanted a 'better' syntax they would use it.
    15. Re:Ruby Shootout by Riemann+hypothesis · · Score: 1

      Santana, perhaps I shouldn't have said "standard". What I meant was that Yarv is not the only implementation that adopts them (e.g. they are in Rubinius' repository as well). In my new shootout I'll introduce more general benchmark tests that should remove the advantages from any VM that specifically targets these micro-tests.

  15. Re:Sounds cool, but not open by Bill,+Shooter+of+Bul · · Score: 1

    k, found his blog where he describes gemstone a little better. Still sounds limited. There is still only one data store in gemstone according to the blog post. Can it be scaled beyond that? How? I've never heard of any big website using gemstone. If it was open, I'd be more willing to kick its tires, knowing that small problems could be fixed and a community might arise around it. I'm less confident about the same happening around a closed source product that isn't in wide use by large data driven websites.

    I try to limit my ignorance when ever possible, so if anything is wrong ( other than the grammar/speling) feel free to correct.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  16. I think I lost my Super Geek certificate by flyingfsck · · Score: 1, Redundant

    Neither the summary nor TFA inspired me with awe. Guess I'm losing it.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
    1. Re:I think I lost my Super Geek certificate by stickytar · · Score: 1

      i wish i had mod points for you. i'm with you on this one.

      --
      believing the big bang requires a certain amount of supernatural faith
    2. Re:I think I lost my Super Geek certificate by n3tcat · · Score: 1

      It's because they chose to constantly reference trains. Nobody plays with trains anymore. They're past the point where they can be considered "old skool" and are now just a dead hobby. Now if they had gone with Warhammer 40k references, people would get all excited about the new Warp Storm VM system!

  17. Re:Sounds cool, but not open by catch23 · · Score: 1

    Well yeah, ruby is new to gemstone. But only a few years ago Java was a closed source product too. Closed source vendors like Gemstone are taking notice of Ruby because Ruby is beginning to make significant inroads to the enterprise world. A few large enterprises may take notice of Gemstone and be their customers much like Java in its early days. Java did have its problems too, but I don't see how an open source implementation would have improved it's likelihood of survival. Version 1.0 of any product, closed or open, is going to have a few rough edges.

  18. Re:Sounds cool, but not open by tshawkins · · Score: 4, Informative

    its a single data cloud instance on a distributed data system, in that respect its similar to products like Amazons SDB and Google's BigTable systems. The data is virtualised across a number of data stores. A lot of telecos use gemstone, its used a lot in financials. Its a True OODBMS which is exactly the model that the ORM layers in frameworks like rails are attempting to simulate on a relational database. OODBMS systems match the datamodel of modern web frameworks closer than any relational system every will do. Other Commercial OODBMS systems are system such as ObjectStore, POET, there a few opensource ones such as GOODS

  19. Video of Avi Bryant talk from 2007 by OldManAndTheC++ · · Score: 3, Informative

    Avi Bryant gave a fascinating talk about bringing technology developed for Smalltalk into the Ruby world at RailsConf 2007. Apropos of nothing, he bears an uncanny resemblance to Jeremy Davies (Daniel Faraday on "Lost").

    Basically he's saying that many of the performance issues with the much-maligned Ruby VM were solved years ago in Smalltalk implementations, and that Ruby ought to incorporate those ideas. Maglev is a big step in this direction.

    --
    Soylent Green is peoplicious!
  20. Re:Sounds cool, but not open by Bill,+Shooter+of+Bul · · Score: 1

    Further research on gemstone's scalability sounds promising. Still have reservations, and would still like to have a non press release review of its capabilities by an independant third party.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  21. How does this compare to Zope? by chrisl456 · · Score: 1

    I've used Zope a bit (which is Python based, see zope.org), but haven't touched Ruby or Rails yet. This seems to be an alternative to an object-relational mapper for Rails. Since Zope has used an object database from day 1 (iirc), I'd tend to think it would be better and/or cleaner. Anyone that's used both care to compare the two?

    --
    -chris
  22. This is getting sillly. by MrMista_B · · Score: 3, Funny

    From Wikipedia (yeah it's not a source that's reliable at all, but this is the internet): http://en.wikipedia.org/wiki/Maglev

    "Magnetic levitation, maglev, or magnetic suspension is a method by which an object is suspended with no support other than magnetic fields. The electromagnetic force is used to counteract the effects of the gravitational force."

    If they're doing *that* with code, I'll be hell of impressed. If not, that's a pretty strange way to brand your project/product/language/whatever that is. Seriously, I'm sure it's awesome, but what is it with all these things (MagLev, Ruby, etc) trying to sound cool by appropriating names of other, already well-established 'things'?

    Or next am I going to be using "Ice-cream, Santa Claus on Purple Monkey OODB with Cowboy Hat and Kitchen Fork to PWN the OMGWTFBBQ on the MBA with the XKCD in the Ballroom with the Candlestick"?

    Seriously, these names are getting silly.

    Not that 'Linux' or 'Ubuntu' or 'MySQL' sound any less silly to people not familiar with them, but at least they're not likely to be confusing or confused for something else.

    */minirant*

    1. Re:This is getting sillly. by yukster · · Score: 1

      Uh, it's called Ruby on RAILS... like a train. MagLev is a really really fast train. Seems like a pretty sensible name to me.

    2. Re:This is getting sillly. by cleatsupkeep · · Score: 1

      You can do it with Python: http://xkcd.com/353//

    3. Re:This is getting sillly. by DMUTPeregrine · · Score: 1

      It's a joke, really. Ruby on Rails. MagLev trains are faster than normal trains, so Ruby on MagLev should be faster. It's faster rails. That said, it would be great if the headline and summary were rewritten to make this understandable.

      --
      Not a sentence!
    4. Re:This is getting sillly. by MichaelSmith · · Score: 1

      So ruby has gone off the rails?

    5. Re:This is getting sillly. by raynet · · Score: 1

      Noh, but instead it will use one big ass rail rather than two lean ones and cost of fortune to run.

      --
      - Raynet --> .
    6. Re:This is getting sillly. by Yetihehe · · Score: 1

      No, now it transcended and is above all earthly rails.

      --
      Extreme Programming - Redundant Array of Inexpensive Developers
    7. Re:This is getting sillly. by cytg.net · · Score: 1

      mm..right .. when was the last time you saw code implement zero gravity in reality? oh yea ..

      NEO
      Do you always look at it
      encoded?

      CYPHER
      Have to. The image
      translators sort of work
      for the construct programs
      but there's way too much
      information to decode the
      Matrix. You get used to
      it, though. Your brain
      does the translating. I
      don't even see the code.
      All I see is blonde,
      brunette, and redhead. You
      want a drink?


      So im guessing that they're saying that their code is "the-matrix-like-elite"

    8. Re:This is getting sillly. by cytg.net · · Score: 1

      railguns in quake IS the shit though ..

    9. Re:This is getting sillly. by cytg.net · · Score: 1

      also, sexual references like
      .."I've nailed her"
      really could do with a penis transplant, perhaps like
      .."I've railed her"
      cause the former really isnt that flattering to the auther is it?.. perhaps she also laughed out loud at your 'tool'?
      ..
      ..anyway, have a ticket!

    10. Re:This is getting sillly. by cytg.net · · Score: 1

      well, obviously, if the rails are moving at speed x the same direction as the train .. you would gain x speed total wouldnt you?

    11. Re:This is getting sillly. by Sique · · Score: 2, Funny

      With regular trains reaching 575 km/h (357 mph) and the world record for MagLevs being 581 km/h (361 mph), there is really no difference in speed for both technologies.

      --
      .sig: Sique *sigh*
    12. Re:This is getting sillly. by oldhack · · Score: 1

      Compupter world became a media world, and now we all talk like jibbering marketing (cheap shot half-intended) idiots. Some subsectors apparently more idiotic than others. Price paid for going "mainstream".

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
  23. OODB, oh oh by Tablizer · · Score: 2, Interesting

    I thought the OODBMS fad was finally dead. OODB's resurrect many of the problematic ideas that drove Dr. Codd to formulate relational to begin with. Thus, they could be considered a step backwards. But this would start a paradigm Holy War here and we don't want that, do we?

    1. Re:OODB, oh oh by DarkOx · · Score: 1

      Not really OODB, while I agree with you is a fad in that they are more interesting then useful (so far anyway) but they are not what Codd was aiming to fix.

      I am way to young to have been their but I do recall the history portions of my computer science education. Hey even in engineering like disiplines those who don't know their history are doomed to repeat it. What existed before RDBs at least in the saleable world were table systems based on flat files with no integrity checking and implemented without the formalism and normalization Codd developed. The more stuctured systems used hierarcal databases or navigational databases. These were useful in lots of situations but were either slow to search or imposed heavy restrictions on the types of relationships entities could have with each other(so you could make some assumptions about where to find things when searching).

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    2. Re:OODB, oh oh by K.+S.+Kyosuke · · Score: 1

      A step backwards? A fad? How exactly is designing a database capable of doing things that RDBMS cannot (or cannot do easily, that does not matter) supposed to be "a step backwards"? There are tasks for which using an RDBMS is simply inadequate, but since the problem still does not fit into memory, you still need some form of database (if we define "database" as a piece of software capable of handling a big amount of data that does not force you to think how yo store it and lets you do the creative work).

      What are those "problematic ideas" you are taling about and how does an RDBMS help us with analyzing large tree and/or graph datasets, knowledge bases and other forms of data that does not fit the relational model? There is a valid need to do such things (even in the order of tens and hundreds of gigabytes) and there is a valid need for data storage that does not work against your algorithms. (I do not claim that everyone has this need, though, and I have no problem admitting that those people are a minority.)

      --
      Ezekiel 23:20
    3. Re:OODB, oh oh by nuzak · · Score: 1

      You're arguing with Tablizer here. Visit the page in his sig and, well, you'll get the idea what he's about. He used to be a lot worse.

      Anyway, an OODBMS can express relations just fine; they're just not usually locked in to a fixed schema. What gave Codd fits was that early OODBs didn't even have so much of a formal schema mechanism (and some still don't) so you'd have to query by following a graph and no other way. Really good OODBs have a solid meta-model you can target for queries, and thus implement pretty much the same sort of thing as any RDBMS, just with different syntax.

      --
      Done with slashdot, done with nerds, getting a life.
    4. Re:OODB, oh oh by Ed+Avis · · Score: 1

      What are those "problematic ideas" you are taling about and how does an RDBMS help us with analyzing large tree and/or graph datasets, knowledge bases and other forms of data that does not fit the relational model?
      How does an object-oriented database system help with them?
      --
      -- Ed Avis ed@membled.com
    5. Re:OODB, oh oh by K.+S.+Kyosuke · · Score: 1

      How does an object-oriented database system help with them?

      Usually by allowing to run arbitrary algorithms on the server side (or in-process, in case of embedded OODBMS), often in a natively compiled language (like Allegro Common Lisp in case of AllegroCache, which has *very* high performance), without client-to-server roundtrips, without impedance mismatches, without forcing you to express the idea with relational operators only.

      If you can't express the algorithm with sorts and joins, you have to do costly PK-based fetches for individual records, which means that you either have to perform roundtrips from client code to the server, or that you are forced to use the vendor's language of choice (and not the language of *your* choice) to write a server-side program. And that still does not mitigate the fact that RDBMS are still quite poor for navigational data access. Oh yes, for arbitrary algorithms, it is preferable to run them in the operating memory, but some datasets are, ehm, "slightly larger".

      --
      Ezekiel 23:20
    6. Re:OODB, oh oh by Ed+Avis · · Score: 2, Interesting

      A relational database system usually allows you to write stored procedures to do the data manipulation entirely in the server without roundtrips. That's not the issue. What matters is your second point 'forcing you to express the idea with relational operators only'. Sometimes relational operators are a good fit for the data model and, if you twist your neurons in the right way to think of the problem relationally, allow you a much higher-level way to express an algorithm than procedural code, while keeping good efficiency. But there are many cases where the relational model doesn't seem to fit.

      The question is, what powerful primitives does an OODBMS offer you? What efficiency advantages do they have over naive 'fetch record; do something; fetch another record' procedural code for dealing with large amounts of data? How can they take advantage of indexing or optimize cache usage to reduce disk seeks?

      --
      -- Ed Avis ed@membled.com
    7. Re:OODB, oh oh by __aavljf5849 · · Score: 1

      I've used ZODB for almost ten years, and in dynamic languages like Python OODB is fantastic. In static languages it must be a pain. :)

    8. Re:OODB, oh oh by Tablizer · · Score: 2, Insightful

      What are those "problematic ideas" you are taling about and how does an RDBMS help us with analyzing large tree and/or graph datasets, knowledge bases and other forms of data that does not fit the relational model?

      It is possible to add declarative tree/graph traversal to a query language, and Oracle does a little bit of this. Plus, "node hopping", if needed, can be done in a relational database just as well as a non-relational one. Its just that existing implementations are not optimized for them. But thats an implementation limit, not a flaw in relational theory itself.

      I will agree there may be places where relational may not work so smooth, but the claims by many OODBMS proponents is that OODBMS should *replace* RDBMS, not merely fill in the side-niches where relational has difficulties. If you are a "side nicher", then we can come to a truce.

    9. Re:OODB, oh oh by __aavljf5849 · · Score: 2, Interesting

      "What efficiency advantages do they have over naive 'fetch record; do something; fetch another record' procedural code for dealing with large amounts of data?"

      Efficiency I don't know. But with a good OODB you do not "fetch record, do something, write start over". You just do it. In your typical ZODB application there is no difference between doing something on objects in memory and doing it on objects stored in the database. The only difference is that the objects inherit from a persistent subclass.

      The benefit of this i that you no longer have to design the database. You design your objects as you would use them, and that's it. The database part is completely transparent. You don't have to care that there is a database there. This speeds up development something fantastically.

    10. Re:OODB, oh oh by __aavljf5849 · · Score: 1

      Replace? No. But I would argue that a good OODB is a better choice in many cases, and that relational databases are good for those cases where you have loads of relations and when you want to be able to query your data in many different dimensions. Also, it rocks for tabular data. ;)

      Problem is that the only good OODB I've used is Python-only, so it's really hard to come with general recommendations. :(

    11. Re:OODB, oh oh by Ed+Avis · · Score: 1

      You just do it. In your typical ZODB application there is no difference between doing something on objects in memory and doing it on objects stored in the database.
      There must be a small difference in that changes to several database objects can be rolled back or committed together as a single transaction. (If the database doesn't support that, then it's not really worthy of the name.) But you are talking about the higher-level interface. If under the covers your code is still operating procedurally one record at a time, then it's never going to be as efficient as the set-oriented commands available in a relational system. That doesn't matter a lot of the time. Most applications are not dealing with large data volumes, and if the data takes 0.05s to process on modern hardware, who cares about making it ten times faster? But then again, if performance is not an issue, using a clunky object-relational mapping on top of an RDBMS will also get the job done, and you can still access set-based queries and update commands if you need them for efficiency.
      --
      -- Ed Avis ed@membled.com
    12. Re:OODB, oh oh by __aavljf5849 · · Score: 1

      Well, if you want transactions, then you of course have to start and commit (or rollback) the transaction as well, yes.

      "If under the covers your code is still operating procedurally one record at a time"

      "Records?" It's an OODB. It does not have records. It has objects. :) I'm not sure what "operating procedurally one object at a time" would mean. I'm going to guess that you mean that you want to modify one attribute on loads of objects at one time. That is certainly possible to do in an object database if you have a fixed schema per object type, but if you do you miss out seriously. ;) ZODB is schemaless, and hence that concept just doesn't map onto ZODB. As I mentioned other where relational databases are great for tabular data like that. In that case I agree, ORMs are a good solution.

  24. Re:Sounds cool, but not open by rossifer · · Score: 2, Insightful

    Its a True OODBMS which is exactly the model that the ORM layers in frameworks like rails are attempting to simulate on a relational database.
    That's a very silly statement.

    I don't use an ORM to simulate an OODBMS. I use an ORM so that I have a system with both Object Oriented and Relational programming models and can use either one when appropriate. There are a lot of people who don't understand the value of Relational programming, and they think that those of us using RDBMS's would really prefer OODBMS's if only we could see the light...

    Drink the kool-aid is more like.

    I have yet to see a problem simple enough that I would choose to use an OODBMS over an RDBMS while simultaneously being interesting enough that I would bother working on it in the first place.

    But maybe I'm just being grumpy. Bah.
  25. Re:Sounds cool, but not open by WeirdJohn · · Score: 2, Interesting

    JP Morgan uses Gemstone/S behind it's financial systems. I'd say that's a fairly major user. As I understand it MagLev is basically the Gemstone/S Smalltalk VM extended to understand Ruby bytecodes. They (Gemstone) state that the same VM can run Smalltalk, indeed Ruby will be able to talk to Smalltalk objects transparently. The only real questions are how much more complex does Ruby make the VM (Smalltalk VMs are absurdly simple), and what does this complexity do to stability (Smalltalk VMs typically stand up to enormous abuse)? Given the scalability of Gemstone, I don't see MagLev being absurdly scalable as being much of a surprise.

  26. Re:Sounds cool, but not open by WeirdJohn · · Score: 1
    I have yet to see a problem simple enough that I would choose to use an OODBMS over an RDBMS while simultaneously being interesting enough that I would bother working on it in the first place.


    Perhaps you have yet to really understand how an object model that isn't driven by the constraints of the underlying RDMS can make the problem simpler. In particular, the use of a well designed Containers class with well designed efficient enumerators can often make what is a very complex SQL query into a fairly simple combination of select: and inject:into: messages, where you get back a Collection of the objects you want. I see RDMS as being best at fairly simple problems, or for problems where the structure of the data is better understood than the relationships between the objects. And I hate all that overhead you have to manage to get the data into a RDMS.

    Perhaps there is more than one way to do it...

  27. Oh, OODB in a dynamic language⦠by dracvl · · Score: 1

    You mean like the open source Zope (written in Python), invented over 10 years ago? Great, now I can tie my open source language to a closed-source object store.

    1. Re:Oh, OODB in a dynamic language⦠by geniusj · · Score: 1

      except fast.. apparently

  28. news that matters? by nguy · · Score: 5, Insightful

    Gemstone is a proprietary implementation of Smalltalk and an associated object database. Who does it matter to whether they incorporate a RubyVM into their system or not?

    Gemstone also stands for the failure of a particular kind of business model. These people (and others) had a mature OO programming language that was orders of magnitude faster than Ruby, had object persistence, had a great IDE, and supported distributed programming over 15 years ago, and they pissed it all away by making it too expensive and too proprietary.

    Because the Smalltalk vendors were greedy and squabbling among themselves, modern OOP arrived more than a decade later in in much poorer form.

    I suppose hiding their Smalltalk heritage by calling their system "Gemstone/S" and being forced to incorporate Ruby in order to make their platform attractive is the ultimate indignity.

    1. Re:news that matters? by pnagel · · Score: 1

      Gemstone also stands for the failure of a particular kind of business model. These people (and others) had a mature OO programming language that was orders of magnitude faster than Ruby, had object persistence, had a great IDE, and supported distributed programming over 15 years ago, and they pissed it all away by making it too expensive and too proprietary. That's changing.

      You can download GemStone/S 64 Web Edition for free, and use it free (for commercial use, too!). Only when your database grows beyond about 2 gigs, you need to get a license, which is about $7000 a year.

      I suppose hiding their Smalltalk heritage by calling their system "Gemstone/S" and being forced to incorporate Ruby in order to make their platform attractive is the ultimate indignity. They haven't incorporated ruby into GemStone/S to make it attractive; they haven't incorporated it into GemStone/S at all.

      Maglev is a distinct product.
    2. Re:news that matters? by angdraug · · Score: 3, Insightful

      You can download GemStone/S 64 Web Edition for free, and use it free (for commercial use, too!). Only when your database grows beyond about 2 gigs, you need to get a license, which is about $7000 a year. Nowhere near good enough. $7000 a year is the exact outrage the previous poster was talking about. And 2 gigs is not much if you consider that it has to hold all your objects and their fleas. Not to mention that it's not really free (as in freedom) until it can be found in Debian/main.
    3. Re:news that matters? by nguy · · Score: 2, Interesting

      That's changing.

      Evidently not.

      You can download GemStone/S 64 Web Edition for free, and use it free (for commercial use, too!). Only when your database grows beyond about 2 gigs, you need to get a license, which is about $7000 a year.

      It's that sort of bullshit that killed systems like Smalltalk in the market. Companies like Gemstone will still be able to extract money from their captive audience for a couple of decades, but mainstream platforms are eating away at their market share, year after year.

      The only chance platforms like this have is to go open source and sell high-end add-ons and support.

      They haven't incorporated ruby into GemStone/S to make it attractive; they haven't incorporated it into GemStone/S at all.

      Well, then you can add to all their other problems an unfocused product strategy and lack of integration across their product line.

  29. Precedence Shootout (tangle trail warning) by reiisi · · Score: 1

    The first language I learned was BASIC. (I almost learned 8080 assembler and half-learned TI calculator about a year before that, but didn't quite get there.)

    After that, I started learning 6800 assembler the bottom-up way (playing with a prototyping board with a monitor/debug ROM). Wired a BASIC onto the board, but I wanted a high-level language. I took Pascal and ForTran at the same time, IIRC, at the local college, and the professor mentioned that I might be able to find a FORTH to load onto it. (He also recommended a floppy drive, which recommendation I studiously ignored.) I got a listing of a 6800 implementation of fig-FORTH and loaded it by hand (saved it to tape). Learned CoBOL and RPG (Report Program Generator, not Role Playing Game) in the meantime.

    I thought I understood programming after that. Went to the big U and ended up in CS. (Stupid move.) Learned C and became unable to program in a timely manner. Had to re-implement FORTH in 6809 to finally graduate.

    I'm not sure whether it was C that screwed me up or FORTH.

    I know I can't program CoBOL any more, and I know that I have lost more than one job because of the time I spent learning to use the tools of C to build modular programs in college. Can't program CoBOL because it's just too much work to convince myself to keep track of all the games you have to play to emulate locality of reference in CoBOL to get UI screens to respond reasonably to user input. I also have problems working with legacy C source code built by high-school-grads who are untrained in modularization, etc., and are plenty willing to burn themselves out keeping track of thousands of globals while churning out close to a thousand lines of C a day. (Copy-paste and change a few globals that should have been parameters, etc.) The code the other guys wrote reminded me of nothing more than CoBOL. Couldn't compete, either, when the managers wanted me to pump out the same number of the same kinds of lines and somehow "add in" the value of my advanced degree.

    (huh? This industry is crazy. Mad. Kind of like the rest of the world, I guess.)

    I like FORTH. I don't really know much about Smalltalk, except what I may have absorbed studying Objective C and playing with Squeak, but I don't buy it when anyone argues in favor of complicated languages. It seems to me that they (you?) are primarily arguing the equivalent of that C should be written like CoBOL, according to some baroque set of inherited rules that probably had more to do with the tools that were once (but are no longer being) commonly used than with the problem being solved.

    So, what are you saying? Is high-school algebra, with its precedence rules, the best algebra, just because modern mathematicians have used it for a long time (until, of course, they dig into the really useful stuff)?

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
    1. Re:Precedence Shootout (tangle trail warning) by Anonymous Coward · · Score: 0

      but I don't buy it when anyone argues in favor of complicated languages. It seems to me that they (you?) are primarily arguing the equivalent of that C should be written like CoBOL, according to some baroque set of inherited rules that probably had more to do with the tools that were once (but are no longer being) commonly used than with the problem being solved. Who can say what syntax is 'better' for programming. What we know is that ALGOL-inspired syntax has dominated basically since computers have been programmed. There may be other better syntax, but they must be proven by more than wishful thinking and conjecture.

      Furthermore, "the problem being solved" may not be what you expect. The solution may in fact be what makes the industry most productive even if it makes individuals less productive.
  30. This threads proves... by Anonymous Coward · · Score: 0

    that slashdot has really gone downhill. Next thing I'll hear is that you all have girlfriends.

  31. Re:Sounds cool, but not open by killjoe · · Score: 1

    >here is still only one data store in gemstone according to the blog post. Can it be scaled beyond that?

    You mean beyond the 17 petrabytes it supports now?

    >How?

    You add more instances (servers). Any modification made to any server will propogate to the other servers.

    >I've never heard of any big website using gemstone.

    So? Why should I care whether you have heard of something or not? Why is that relevant?

    Have you ever heard of seaside? Smalltalk? Dabbledb?

    >If it was open, I'd be more willing to kick its tires, knowing that small problems could be fixed and a community might arise around it.

    More than likely there will be a free and limited version you can try. Till then you can try this

    http://seaside.gemstone.com/

    --
    evil is as evil does
  32. Re:Sounds cool, but not open by krmt · · Score: 1

    Squeak is most definitely not GPL. It was under a special Apple Open Source license thingy for a while (maybe the APL itself, I don't know) and has now been relicensed under an MIT/X11 license. The squeak community is actually very hostile to the GPL, so you'll see most projects under MIT/X11.

    --

    "I may not have morals, but I have standards."

  33. Re:Sounds cool, but not open by TheLink · · Score: 1

    One man's impedance mismatch is another man's layer of abstraction or "protocol".

    An OODBMS is fine for a program to use to work on a problem (possibly a "large" one) in a more efficient manner.

    But an RDBMS is often more convenient to chuck the results to, so that many different entities (programs, people, etc) can _easily_ do stuff with them.

    You could have a central OODBMS to do that sort of stuff - but if you're going to have to take an "overhead" hit anyway, might be preferable to use a popular RDBMS because lots more stuff can talk to it.

    --
  34. Re:Sounds cool, but not open by nuzak · · Score: 1

    Squeak is image-based. The GPL could be seen as applying to an *entire* squeak system, including everything added on thereafter. The legal theory of that is fairly preposterous, but you can see why they're philosophically a little bit down on the idea.

    --
    Done with slashdot, done with nerds, getting a life.
  35. Polish, not Hungarian by klapaucjusz · · Score: 1

    So they teach math using hungarian notation in schools

    Sorry for the lecture in Central-European geography, but you were thinking of Polish notation.

    Hungarian is something different altogether. You don't want to know.

    1. Re:Polish, not Hungarian by Anonymous Coward · · Score: 0

      Thanks for the correction. I actually knew that -- just check the timestamp on the post. ;-P

  36. Cool but expensive and proprietary by Anonymous Coward · · Score: 0

    I used Gemstone back in the Smalltalk days. It is very nice technology, but also very expensive and proprietary. It is the ultimate vendor lock-in. I won't touch it with a 10-foot pole.

    1. Re:Cool but expensive and proprietary by c64cryptoboy · · Score: 1

      That about sums up my experiences as well.

      --
      I put the 'fun' in fundamentalism
    2. Re:Cool but expensive and proprietary by ntijerino · · Score: 1

      Bob, is that you? Or is it Jayesh? Sorry, didn't mean to out you. So few people use GemStone/S I can probably guess who wrote this.

      --
      Stick that in your compiler and debug it!
    3. Re:Cool but expensive and proprietary by Anonymous Coward · · Score: 0

      Yes it's proprietary but that could change. Sun open sourced Solaris and Java and Apple open sourced most of Darwin.

      Re "expensive", your information is out of date. Gemstone now has a free version, even for commercial use. I don't know about you, but free is a price even I can afford ;-)

  37. So why not just use Smalltalk? by Anonymous Coward · · Score: 0

    Fewer warts than ruby, and fast runtimes already exist. ;)

    The problem is that OODBMs aren't as easy to query using arbitrary queries. You can't easily say "Give me all sales in the last 6 months with totals > $100,000".

    It does seem that Gemstone supports a RDBMS bridge, so for OLAP style operations, you can extract the needed data to a RDBMS for further processing/reporting/querying. Of course, perhaps something like a Map/Reduce process could be used to extract data as well.

    This also will not necessarily replace MemCache. Gemstone is a database, and still persists to disk. So latency/contenion issues still apply.

    It looks like offer something called "GemFire" that runs on top of Gemstone that may provide this kind of caching.

    One thing to also remember, is that Gemstone/S is probably not cheap. It has "Enterprise" all over it... ;)

  38. Re:Sounds cool, but not open by Bill,+Shooter+of+Bul · · Score: 0, Offtopic

    Can't believe that was modded as a troll. So the company isn't new, there were plenty of other comments that had never heard of the company or its product either. I was wrong, not trolling. More importantly, I think the post made a good pont on the differences between open source products and closed source. I, and others, are more willing to kick the tires of an open source product. Closed source has a more difficult time proving itself

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  39. Re:Sounds cool, but not open by rossifer · · Score: 2, Interesting

    Perhaps you have yet to really understand how an object model that isn't driven by the constraints of the underlying RDMS can make the problem simpler.
    There are vanishingly few cases where following the conventions of an RDBMS will limit your options in OO design. I have certainly come across instances where my initial object design didn't cleanly fit into relational tables, however, the issue was usually revealed to be a problem in the object design that would have caused even more problems later. In my experience, the exercise of co-designing a good database and a good object model usually results in a better overall design.

    [OORDBMS's] can often make what is a very complex SQL query into a fairly simple [OQL construct]
    I don't object to Object Query Languages and I absolutely agree that when you're looking at the data from an OO perspective, an OQL is very likely to be superior to SQL (if only because the type names will be preserved in the query). However, I get one or more decent OQL implementation with the ORM's I use, so I haven't had to give up OQL with an ORM solution so far.

    What I'm objecting to is the loss of SQL and PL-SQL that occurs with OORDBMS's. Relational programming is an extra tool in the toolbox, and a very valuable one for the issues that surround large or complex datasets. Relational programming provides a proof/set theory/mathematical view of your data that is mostly orthogonal to how Object systems want you to think about data. Using an OORDBMS eliminates a whole way of thinking about data.

    Perhaps there is more than one way to do it...
    Exactly my point. Don't wedge yourself into a corner down the road where an integration that requires SQL can't possibly work just because you chose an OODBMS.
  40. Re:Sounds cool, but not open by Anonymous Coward · · Score: 0

    This is not entirely true.

    The Gemstone system is *not* a shared nothing system. Object persistence between VMs *relies upon* a *single* shared block device.

    The system can scale, to a point, with a large commercial SAN system. Even data replication, etc. relies upon a SAN vendor providing this functionality.

    At the end of the day, this is *not* a fully distributed system, and has substantial scalability issues *at the very high end*.

    MagLev is super cool, and may provide an excellent Ruby implementation if they comform to the Rubinius RubySpecs.

    Perhaps most importantly, it will provide an excellent bit of competition for the open source Ruby implementations.

  41. Re:Sounds cool, but not open by tshawkins · · Score: 1

    I have yet to see a problem simple enough that I would choose to use an OODBMS over an RDBMS while simultaneously being interesting enough that I would bother working on it in the first place. But maybe I'm just being grumpy. Bah. Now this is a silly statement, and possibly shows where your viewpoint is skewed, The implication of this is that OODBMS systems are only suitable for simple systems, where the reverse is more the case, i use OODBMS systems when the datamodel gets too complex to use RDBMS systems. Think of a a drawing package, where the scene is comprised of many primitives, lines, boxes, circles, polygons, etc etc, the RDBMS approach is to create a separate table for each type, and link them via complex joins, or create a composite type that includes the attributes of all inherited types. OODBMS allows polymorphic types in a dataset, those types can themself be in a type inheritance tree. This structure is extreemly difficult to model in an RDBMS system, where trees are not a supported organisation. Trees are extremly common.
  42. Re:Sounds cool, but not open by tehcyder · · Score: 1

    Google is a fantastic resource to ease your ignorance.
    But if you can't be bothered to look something up on Google in the first place before commenting, then you're actually stupid, not merely ignorant.
    --
    To have a right to do a thing is not at all the same as to be right in doing it
  43. Re:Sounds cool, but not open by rossifer · · Score: 1

    OODBMS allows polymorphic types in a dataset, those types can themself be in a type inheritance tree. This structure is extreemly difficult to model in an RDBMS system, where trees are not a supported organisation.
    Hm. I've never had that much trouble representing polymorphic class heirarchies in relational table structures.

    Fowler's Patterns of Enterprise Application Architecture can provide some guidance the various means of doing that if you're not clear. Actually, you did describe two of the common ways of doing that, but you definitely overestimated the complexity of using those approaches.

    If the additional effort of mapping the objects into tables causes you to value a simpler and more focused model... is that really a bad thing? In my experience, it's a very good thing.