SQL vs NoSQL Performance: Where One Outperforms the Other

NoSQL databases have taken the world by storm in recent years. What started as a niche phenomenon grew to rival the popularity of the “old” SQL relational databases. However, relational databases still have their use cases and are not going to disappear anytime soon. In this post, I’ll discuss the differences between SQL and NoSQL databases and do an analysis of their respective performance. Lastly, I’ll give a list of use cases for which one is better than the other and vice versa. What Are SQL Databases? SQL databases, or relational databases, …

Column-Oriented Database Examples: A Helpful List

Column-oriented databases have seen a resurgence in interest in recent years. The first column-oriented databases appeared decades ago. However, they have never gained a lot of traction in the market. In recent years, though, big data and cloud computing spurred a new interest in these types of databases. The reason for this is that the unique implementation of columnar databases fits surprisingly well into the workloads and applications run in cloud computing. More on this below. In this post I’ll discuss the following: What are column-oriented databases? How do they differ from …

Tips for Optimizing Apps Running in Heroku

Heroku is a popular platform-as-a-service (PaaS) cloud that allows you to run your applications in a serverless manner. This post is about optimizing applications running in Heroku: making them run faster, giving them better security, and generally fine-tuning them. What Is Heroku? Heroku was the front-runner in the relatively new field of PaaS providers. It was among the first companies to offer a fully serverless solution. Heroku offered developers the ability to concentrate on writing their code rather than managing and tuning the running environment of their applications. Essentially, it removed the …

How to Facilitate a DevOps Culture in Your Organization

DevOps has taken the world by storm in recent years. The job boards, forums, Facebook groups, etc. are all exploding with DevOps positions, DevOps tools and DevOps events. This post is about best practices in facilitating a DevOps culture in your organization. It’s easier to do your job as a DevOps expert when everyone are on board. DevOps Best Practices for facilitating a DevOps culture in your organization Best practice #1 – get the management team on board You certainly know your craft well: you can deploy CI/CI Jenkins pipelines with your …

Using H2 as in memory database for unit/component tests instead of MySQL

h2 database

So following my recent post regarding the creation of a component test framework – let’s take a closer look in the use case of using H2 as a lightweight in memory database instead of MySQL, for your unit/component tests. Benefits of using H2 instead of MySQL It makes a lot of sense to use H2 in the context of component tests instead of MySQL: You can create and destroy a DB/table/data on the fly – once the tests are done the DB disappears. Compare this to having to rollback manually every change …

Creating a component test framework

component tests

If you have been reading Martin Fowler’s canonical article on the test pyramid, you know that there is a mystical layer that hides between those braod unit tests (the base of the pyramid) and the integration tests layer (near the top). This layer is called: component tests. This article is about the following : What are component tests? Why should you care, and how to implement them properly? What are component tests and why should you care? Basically component tests are the the part that theoretically should allow you to isolate a …

Creating a readable REST API

API

When you are creating a RESTful API, it’s easy to get overwhelmed by all the different things you need to take into consideration. Throttling, REST verbs, security, authentication, input validation and etc. It’s easy to forget about the more subtle issues that can make a lot of difference in the long run. Most of the topics described above were already discussed (extensively if not exhaustively) elsewhere, so I’ll try to give my take on how to create a readable REST API for developers to consume. It’s a more subtle and less discussed …