Alternative to SQL

Database alternative, for people just browsing and scanning, I’ll write in staccato.

  • Relational model pretty good, but we need a better implementation of the relational model, SQL, at least the way it’s used now, is just to primitive and cumbersome.
  • Lot’s of new languages for the JVM, but we’re still using SQL to retrieve data from databases. Many programmers may even think that is the only way to retrieve data!
  • ORM is worst of both world
    • Reinventing the wheel, caching, optimal data retrieval, query optimization
    • Relational model is more natural to retrieve data then object oriented model
    • Inheritence is not possible the way it’s possible in OO, but same functionality is still possible.
  • Java Programmers are spending a LOT of time creating queries, doing optimization, thinking how to retrieve data. Java is improving, but SQL is just largely the same as it was 10 ago.
  • SQL / Database integration in Java is still poor. ORM frameworks just hide away the database – usually resulting in a lot of work for database administrators and programmer’s just to tweak ill formed sql.

In short, where’s a new language for the relation model and why isn’t that language or technology emerging? What would be nice is:

  1. A better language to access a relation database, that doesn’t involve lots of subqueries and joins to retrieve data.
  2. A database query langauge that is truly embedded in the programming language I daily work with (Java), and not hidden behind persistence managers, xml files,  application servers.  Or just as worse, SQL hidden in quoted string or text files.
  • For 1. After some searching, I found an alternative to SQL, Tutorial D.  The language isn’t main stream, but is interesting to read about. Especially if you think SQL and (relational) databases are the same.
  • Also I heard a while ago about .QL on the 25 year anniversary of my university, but that’s far from mainstream either.
  • For .Net there’s LinQ, but that’s little use for me as Java software developer.  At least Microsoft has a solution for 2.