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

Strategy: Stop Using Linked-Lists

While using java.util.LinkedHashMap every now and then, when I feel that the insertion order is relevant to subsequent entrySet iterations, I do not recall having used a LinkedList any time, recently. Of course, I understand its purpose and since Java 6, I apreciate the notion of a Deque type. But the LinkedList implementation of the List type … Continue reading Strategy: Stop Using Linked-Lists

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

Subtle Changes in Java 8: Repeatable Annotations

Apart from the "big stuff", related to extension methods, lambda, and the streams API, Java 8 also has a couple of minor, very subtle changes. One of them is the fact that you can now annotate an object several times with the same annotation! An example taken from the tutorial: @Alert(role="Manager") @Alert(role="Administrator") public class UnauthorizedAccessException … Continue reading Subtle Changes in Java 8: Repeatable Annotations

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