Pinterest and SQL vs. NoSQL

I've recently discovered a very interesting read about Pinterest's architecture experimentation. One of the key messages is the fact that SQL and NoSQL data storage systems can coexist with each of them having their place. Here's the full article: http://highscalability.com/blog/2013/4/15/scaling-pinterest-from-0-to-10s-of-billions-of-page-views-a.html This reminds me of a previous article about Instagram successfully displaying how they implemented large-scale … Continue reading Pinterest and SQL vs. NoSQL

Easy Mocking of Your Database

Test-driven development is something wonderful! Once you've established it in your organisation, you will start to: Greatly improve your quality (things break less often) Greatly improve your processes (things can be changed more easily) Greatly improve your developer atmosphere (things are more fun to do) The importance of doing the right test-driven development is to … Continue reading Easy Mocking of Your Database

You never stop learning about Oracle features

Oracle's name is no coincidence. It is truly an oracle, telling you mystical, secret things about your database. It may take great expertise and skill to optimally extract that knowledge from this monster. While it implements vast parts of the SQL:2008 standard, it ships with a lot of features no other database has, but which … Continue reading You never stop learning about Oracle features

SLICK, integrating SQL into Scala

Now it's official - even if version numbers are still preceded by a "zero" major release: SLICK has been publicly announced by Typesafe: http://blog.typesafe.com/introducing-slick http://finance.yahoo.com/news/typesafe-announces-scala-language-integrated-100000262.html http://java.dzone.com/articles/slicker-scala-stack-qa-martin SLICK stands for Scala Language-Integrated Connection Kit, which is more or less the Scala equivalent for LINQ-to-SQL. Note that I say LINQ-to-SQL, not LINQ in general, as Scala already has … Continue reading SLICK, integrating SQL into Scala

MySQL Bad Idea #384

MySQL is a database of compromise. Compromise between running a production-ready relational database and being popular with all sorts of hackers - mostly the ones that don't really like SQL. And because they don't really like SQL, they choose MySQL, as MySQL is very forgiving. It is just as forgiving as their favourite language PHP, … Continue reading MySQL Bad Idea #384

Hilarious Rant about SQL Injection

My recent article about SQL injection has stirred some serious emotions on JCG. I don't want to keep it from you! An extract: [...] The idea that if I use an ORM, my SQL injection woes will magically go away is f***ing harmful, shortsighted, and anybody who thinks that should be kicked squarely in a sensitive … Continue reading Hilarious Rant about SQL Injection

Database Abstraction and SQL Injection

I have subscribed to various user groups of jOOQ's competing database abstraction tools. One of which is ActiveJDBC, a Java implementation of Active Record design pattern. Its maintainer Igor Polevoy recently claimed that: SQL injection is a web application problem, and not directly related to an ORM. ActiveJDBC will process any SQL that is passed to it. … Continue reading Database Abstraction and SQL Injection

jDBI: A simple convenience layer on top of JDBC

I'm always looking out for similar tools like jOOQ, or at least tools that work in the same domain - the domain of database access abstraction. jDBI looks lovely. It provides simple solutions for what JDBC is lacking in general. Here are a couple of features (taken from the intro): Fluent API JDBC is quite … Continue reading jDBI: A simple convenience layer on top of JDBC

SQL tooling, the ranking

When you need to get up and running quickly with your database, the tooling becomes very important. When developing jOOQ and adding integrations for new databases, I really love those ones that provide me with simple ways to create new databases, schemata, users, roles, grants, whatever is needed, using simple dialogs where I can click … Continue reading SQL tooling, the ranking

Which database are you using jOOQ with?

I'd like to "feel" the needs of my users. That's why it's interesting to know for which databases I should add features next. Which database are you using jOOQ with?