Subversion
Written by: Lorna Jane Mitchell
Featured Refcardz: Top Refcardz:
  1. Git
  2. DNS
  3. Data Mining
  4. Spring Data
  5. Subversion
  1. Spring Data
  2. Subversion
  3. Spring Config.
  4. Spring Annotations
  5. Data Mining

Link Details

Link 138705 thumbnail
User 209464 avatar

By willcode4beer
via willcode4beer.com
Published: Dec 03 2008 / 18:17

The idea of network attached shared memory makes me want to re-think the whole scheme of data persistence. I'm tired of blindly using a RDBMS when another option could be much better.
  • 77
  • 1
  • 9461
  • 29

Comments

Add your comment
User 281050 avatar

cbang replied ago:

2 votes Vote down Vote up Reply

Very interesting read, it does seem like we could save an awful lot of work by removing the whole RDBMS/ORM layer.
Indeed it would be nice if there were a C# compiler for Java out there, if so I would be using LINQ to mitigate the RDBMS vs. OO impedance mismatch rather than typing ugly type-unsafe JPQL stuff in annotations, or worse, XML-files.

User 360919 avatar

arturotena replied ago:

1 votes Vote down Vote up Reply

Ammmmmm... what about shared state? (ie. I save some data, and another user read it).
,Ammmmmm... what about shared state? (ie. I save some data, and another user read it).

User 209464 avatar

willcode4beer replied ago:

3 votes Vote down Vote up Reply

Actually, shared state is what most of the post is about. TC basically allows sharing the objects among multiple machines. Though not completely accurate, imagine treating a cluster of machines as if it was one multi-proc system with one heap.

User 57355 avatar

mknutty replied ago:

1 votes Vote down Vote up Reply

I have been thinking about data warehouses for a while. RDBMS do not seem to actually be the best choice for them. For instance - http://www.dmreview.com/issues/2007_42/10000432-1.html

User 134617 avatar

gbevin replied ago:

5 votes Vote down Vote up Reply

Alex Miller wrote a blog post a while ago about data lifetimes and where the sweet spot is for Terracotta shared state: http://tech.puredanger.com/2008/08/01/thinking-about-data-lifetimes/

In short, the database is still useful for long-lived data storage as a system or record. However, by putting short and medium terms data in memory with or without Terracotta, you're not trouble by the performance impact of the database as much. You can for instance asynchronously write back to the database in the background.

User 361681 avatar

kjordan2001 replied ago:

1 votes Vote down Vote up Reply

I just wonder though, I've looked at using Terracotta as a semi-in-memory-database, but if you try to query a large collection, how fast can you query it to find what you need? Would it be as fast as querying an RDBMS?
,

User 361681 avatar

kjordan2001 replied ago:

1 votes Vote down Vote up Reply

How can you index your collection in memory so it will be just as fast?

User 209464 avatar

willcode4beer replied ago:

0 votes Vote down Vote up Reply

I would expect anything in-memory to faster than disk access. Combine with the elimination of creating a prepared statement, the DB to parse the SQL, JDBC driver overhead, and elimination of the cycles to assemble the objects from the RDBMS result set......

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.