InfoWorld: 10 things never to do with a relational database
The data explosion demands new solutions, yet the hoary old RDBMS still rules. Here's where you really shouldn't use it
I am a NoSQLer and a big data guy. That's a nice coincidence, because as you may have heard, data growth is out of control..
Old habits die hard. The relational DBMS still reigns supreme. But even if you're a dyed-in-the-wool, Oracle-loving, PL/SQL-slinging glutton for the medieval RAC, think twice, think many times, before using your beloved technology for the following tasks.
1. Search: Even the most dedicated Oracle shops tend not to use Oracle Text, the extension Oracle bought for its database but doesn't seem to develop very actively. Instead, you see a lot of people using complicated queries that are heavy on like and or operators. The results for these are ugly and the capabilities are weak -- and the processes for getting the data just the way Oracle needs it are tough. Outside of Oracle, many other RDBMS products don't have real search extensions.
Use the likes of Hibernate Search, Apache Solr, or even Autonomy. Do it for the performance of a better-fitting index. Do it for the capabilities of full-text search.
2. Recommendations: This was the ugliest part of ATG Commerce and other commerce products I've worked with. They capture a lot of data about the user from which they try to make recommendations. Where I've worked, the recommendations capability was almost always turned off for scalability reasons.
Consider the social network. If I want to recommend socks to you because your friend or your friend's friend bought socks, that gets ugly in the RDBMS. We're talking self-joined tables and multiple levels of querying. This is like two lines of code in a graph database like Neo4j. You can work around the RDBMS by pre-flattening social networks and doing odd manipulations to the data, but you'll lose its real-time nature.
3. High-frequency trading: ...
You can read the rest of my article "10 things never to do with a relational database" over at Infoworld.
If you have other inquiries about this article or Open Software Integrators generally, you should contact firstname.lastname@example.org.
Interested in joining the OSI team? We are hiring software developers and web designers of all levels! Click here for more information!