11

Completing my Computing A-level in 2003 and getting a degree in Computing in 2007, and learning my trade in a company with a lot of SQL usage, I was brought up on the idea of Relational Databases being used for storage.

So, despite being relatively new to development, I was taken-aback to read a comment (on https://softwareengineering.stackexchange.com/q/89994/12436 ) that said:

[Some devs] despise [SQL] and think that it and RDBMS are a fad

Obviously, a competent dev will use the right tool for the right job and won't create a relational database when e.g. flat file or another solution for storage is appropriate, but RDBMs are useful in a massive number of circumstances, so how could they be considered a fad?

StuperUser
  • 6,163

10 Answers10

28

The key is in the R in the RDBMS, which stands for relational. Contrary to popular belief it doesn't mean relations between tables, but rather the fact, that each table is relation in mathematical sense of the word.

Relational model has quite significant implications. You have to model your data to fit relations and normalize that model. If your application is designed as object-oriented model, relational model is not a good fit. This is widely known as object-relational impedance mismatch.

One approach to this mismatch are ORMs (object-relation mappers), which have gained a lot popularity. But they are not the true solution, they are more like work around for the problem. They still don't really solve the problem of mapping class inheritance to relational model.

The true solution to the object-relational mismatch are OODBMSes, which didn't get much traction unfortunately. Popular engine supporting OOBDs natively is PostgreSQL, which is hybrid OO/RDBMS. Another OODBMS is Zope Object DB, which is built in Python and in typical setup uses RDBMS as underlying engine.

Alternative approach is to have more logic implemented in application or middle-ware level and use NoSQL solution for underlying storage.

Neither OODBMS nor NoSQL are "just a flat-file".

vartec
  • 20,846
13

I made the statement you quoted in the question above. If you want a citation to verify my assumption about developers on this site, then read my answer to the following question and review the backlash of comments and downvotes I received for what I still consider an acceptable answer.

Should experienced programmers know database queries?

I made the assertion that if an RDBMS database is being used that despite Linq or an ORM, a developer should have an advanced knowledge of SQL.

This was a highly unpopular assertion it seems because of respectable differences of opinion on the importance of SQL, to the less respectable mindset that RDBMS is inherently inferior to NoSQL databases like MongoDB.

EDIT: To further add to my claim, I will quote user SK-logic:

just remember that all this RDBMS craze is a relatively recent trend. Before that we had a wide variety of approaches. You're apparently working in a young company, alongside with developers of your age, and thus you've got no chance to be exposed to the older and more solid storage approaches. Fortunately, this recent trend is already declining, and good old ways are returning, rebranded as 'nosql'.

maple_shaft
  • 26,570
9

fad:

a thing that becomes very popular in a short amount of time, and then is forgotten at about the same speed."

RDBMSes have been around for ages (at the very least in CS terms), so whoever said that either meant to say something else or is clueless.

l0b0
  • 11,547
3

The alternative to RDBMS isn't just a flat-file. When I was in school, OODBMS was the new thing and my professor was correct when he labeled it a fad. You should take a look at the different models and note the trends. I've seen increasing reliance on OLAP and would be willing to bet a new multi-dimensional system that can process data faster is just around the corner.

Christopher Bibbs
  • 2,749
  • 16
  • 12
3

The problem is that many developers wrongly equate RDBMS with SQL. SQL is a truly awful language by modern standards. It is a flawed and incomplete implementation of a "relational" language (SQL isn't truly relational at all and that's part of the problem) that hasn't evolved much in the last 30 years. Many people using SQL barely understand the relational model - all they know is SQL and so they assume that the relational model is the cause of their frustration.

nvogel
  • 604
1

Without context it is hard to determine who/why the statement that RDBMs are considered a fad.

In the short to medium term (5 -10 years) and I would think even longer that are not going to go away. A RDBM provides an efficient and effective method of storing, processing and retrieving relational data which is what most companies have be it customers/orders, passengers/tickets etc.

There are other other alternatives such as NoSQL which seem to be growing in popoularity with open source project.

As OLAP these are really (in my mind) specialist databases designed to allow a business to provide timely and useful statistically information about a company and run "what if" scenarios on current data. Of course in nearly all cases this current data came from a RDMBs and was manipulated and then inserted into the OLAP database.

armitage
  • 642
  • 4
  • 11
1

Relational databases are a fad in the same sense that microcomputing is a fad.

Jeremy
  • 4,597
1

Simple answer is no. RDBMS are not a fad. When you read something on a website for LinqPad, keep in mind that their purpose is to sell licences for their product.

Tundey
  • 227
0

The Wiki Def. of Fad, defines the term "fad" as follows: A fad is any form of behavior that develops among a large population and is collectively followed with enthusiasm for some period, generally as a result of the behavior's being perceived as novel in some way. A fad is said to "catch on" when the number of people adopting it begins to increase rapidly. The behavior will normally fade quickly once the perception of novelty is gone.

Since RDBMS followers did not fade quickly, and is not about to go away in many years to come (thanks to the huge pile of production applications using it) we can't say that its a fad. In fact the core concepts of RDBMS remained fairly stable where so many of the other technologies changed (and still are changing) dramatically.

The concept of RDBMS (and its main vehicle, SQL) represent a step in technology that, like many others, may be superseded by better ones, that is all.

NoChance
  • 12,532
0

Fad is not the right word as they have be along for a long, long time. I think you could start to make the argument that the technology is very old and might be time to come up with the next next thing - NoSQL architectures perhaps

bigtang
  • 2,037