Many people compare jOOQ with MyBatis. Both are seen as popular alternatives to Java's persistence standard JPA, as both are much more SQL-focused than JPA itself. When comparing the two tools, the first obvious difference is this: jOOQ is an internal domain-specific language modelling SQL through a Java fluent API. MyBatis is an XML-based SQL templating and mapping … Continue reading SQL Templating with jOOQ or MyBatis
Category: sql
This category contains posts about SQL in general or some RDBMS’s SQL dialect
LINQ and Java
LINQ has been quite a successful, but also controversial addition to the .NET ecosystem. Many people are looking for a comparable solution in the Java world. To better understand what a comparable solution could be, let's have a look at the main problem that LINQ solves: Query languages are often declarative programming languages with many … Continue reading LINQ and Java
RedHat and MariaDB
There has been a lot of rumour recently, about RedHat switching from MySQL to MariaDB in RHEL 7. Be careful with these rumours. So far, I have not yet found any official and authoritative statement by RedHat, pointing in this direction. Instead, I've found claims that this is still undecided: http://paritynews.com/software/item/1134-red-hat-denies-ditching-mysql-move-to-mariadb
A Couple of Reasons Why You Should Use PostgreSQL
Here's a nice article showing a couple of good reasons why you should consider using PostgreSQL in many of your future projects: http://www.cubrid.org/blog/dev-platform/postgresql-at-a-glance From the jOOQ perspective - which is a perspective focussed on SQL feature scope rather than storage and maintenance - Postgres is one of the most outstanding databases out there, and it's completely … Continue reading A Couple of Reasons Why You Should Use PostgreSQL
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
SQL Query Transformation Fun: Predicates with Row Value Expressions
Recently, I've blogged about how well jOOQ's supported databases implement row value expressions and predicates formed from them. Some sample articles: Row value expressions and the BETWEEN predicate Row value expressions and the NULL predicate A Typesafety Comparison of SQL Access APIs Row value expressions (or records, tuples) are useful to express more complex predicates, such as this … Continue reading SQL Query Transformation Fun: Predicates with Row Value Expressions
A Typesafety Comparison of SQL Access APIs
SQL is a very expressive and distinct language. It is one of the few declarative languages which are used by a broad audience in everyday work. As a declarative language, SQL allows to specify what we're expecting as output, not how this output should be produced. As a side-effect of this, ad-hoc record data types … Continue reading A Typesafety Comparison of SQL Access APIs
Emulating the SQL standard derived column list
Derived column lists are a fine feature, if your database supports them. The SQL:2008 standard specifies 7.6 <table reference> <table reference> ::= <table factor> | <joined table> <table factor> ::= <table primary> [ <sample clause> ] <table primary> ::= <table or query name> [ [ AS ] <correlation name> [ <left paren> <derived column list> … Continue reading Emulating the SQL standard derived column list
A map of all those new NoSQL, NewSQL, post-SQL, structured, unstructured database options that came out over the past year
So you want to go with the flow and implement your next application on top of some NoSQL, NotJustSQL, NewSQL, AlmostSQL, SQL++, NextGenSQL, and what not, just to be sure not to miss out on some of the latest developments in the data business? Here's a little map to guide you through the jungle of … Continue reading A map of all those new NoSQL, NewSQL, post-SQL, structured, unstructured database options that came out over the past year
Row value expressions and the BETWEEN predicate
Now this is a simple example of how SQL clause simulation can get nasty if you want to make use of some more advanced SQL clauses that aren't supported in all databases. Consider the following predicate and equivalent transformations thereof: The BETWEEN predicate The BETWEEN predicate is a convenient form of expressing the fact that … Continue reading Row value expressions and the BETWEEN predicate
