Building the World’s Most Resilient To-Do List Application With Node.js, K8s, and Distributed SQL

Developing scalable and reliable applications is a labor of love. A cloud-native system might consist of unit tests, integration tests, build tests, and a full pipeline for building and deploying applications at the click of a button.

A number of intermediary steps might be required to ship a robust product. With distributed and containerized applications flooding the market, so too have container orchestration tools like Kubernetes. Kubernetes allows us to build distributed applications across a cluster of nodes, with fault tolerance, self-healing, and load balancing — plus many other features.

Utilizing Database Hooks Like a Pro in Node.js

In this article, I’ll explain how to use database hooks in your Node.js applications to solve specific problems that might arise in your development journey.

Many applications require little more than establishing a connection pool between a server, database, and executing queries. However, depending on your application and database deployments, additional configurations might be necessary.

How To Migrate From Oracle Database to YugabyteDB With YugabyteDB Voyager

In this article, I demonstrate how you can migrate a comprehensive web application from Oracle Database to YugabyteDB using the open-source data migration engine YugabyteDB Voyager. To improve the availability, scalability, and performance of their applications, many developers are migrating from traditional, single-server relational databases to distributed database clusters. Migrating to YugabyteDB allows engineers to use the well-known SQL interface, while also benefiting from the data-resiliency and performance characteristics of distributed databases.

Whether you prefer reading or watching, let’s migrate a sample movie rental application to YugabyteDB.

Handling Automatic ID Generation in PostgreSQL With Node.js and Sequelize

There are many ways to handle ID generation in PostgreSQL, but I’ve chosen to investigate these four approaches:

  1. Auto-incrementing (SERIAL data type)
  2. Sequence-caching
  3. Sequence-incrementing with client-side ID management
  4. UUID-generation

Depending on your application and your underlying database tables, you might choose to employ one or more of these options. Below, I’ll explain how each can be achieved in Node.js using the Sequelize ORM.

PostgreSQL: Bulk Loading Data With Node.js and Sequelize

Whether you're building an application from scratch with zero users, or adding features to an existing application, working with data during development is a necessity. This can take different forms, from mock data APIs reading data files in development, to seeded database deployments closely mirroring an expected production environment.

I prefer the latter as I find fewer deviations from my production toolset leads to fewer bugs.