5 Data Tasks That Keep Data Engineers Awake at Night
As a data engineer, I enjoy my work. But when it comes to integrating and managing data, there are quite a few tasks that are downright tedious. From data remodeling to juggling a hodgepodge of software to address disaster recovery, sometimes, we are simply drowning. As they say, it’s a tough job, but somebody’s gotta do it!
When you start building a solution from scratch, you are dealing with a clean slate. The infrastructure is built, all the data has been modeled perfectly in an almost artistic manner, and it is now flowing in an elegant and clean fashion.
However, problems start real soon — basically, the minute those damn analysts and data scientists get their hands on your magnificent creation. They keep asking for data augmentation, integration of new sources of data, and different data models for asking different kinds of questions. It falls on your shoulders, and you feel like you are somehow personally at fault for preventing your company from data-driven value creation, while those damn analysts hold no appreciation for the remarkable work of art that you’ve created.
Data modeling progresses from conceptual model to logical model to physical schema, establishing a robust world of data objects and their relationships to other data objects. Mainly, it provides the analysts the ability to ask the questions they need in a fast cost-effective and simple manner. It is precisely its robust nature, combined with the frequency of changes needed, that creates the never ending cycle of integration, data preparation, and modeling.
Practical clustering algorithms require multiple data scans to achieve convergence. For large databases, these scans become prohibitively expensive, cumbersome, and time-consuming. They also stretch physical infrastructure capacity, creating risk for under-provisioned resources.
The problematic nature of scaling clusters is even greater with RDBMS, given their architecture is run on a single server. In practical terms, this means that when an RDBMS needs to scale, you must buy bigger, more complex, and expensive proprietary hardware with more processing power, memory, and storage capacity. All this involves lengthy downtime and configurations to make the change.
Scaling clusters in cloud infrastructure generally solves the scalability issue. BigQuery’s most significant advantage, for instance, is the seamless and fast resizing of a cluster, up to petabyte scale. Unlike Redshift, there is no need to constantly track and analyze the cluster size and growth in an effort to optimize its size to correspond to the current dataset requirements.
Redshift scalability allows users to enjoy an increase in performance when resources including memory and I/O capacity increase. To get the best for their buck, Panoply seamlessly scales Redshift users’ cloud footprints according to the amount of data and the number and complexity of queries. It scales the cluster on demand — ensuring the data warehouse performance is well balanced with costs.
Traditionally, businesses have cobbled together multiple software solutions to address disaster recovery (DR), backup, and archival as a part of the larger data protection practices. This approach is mind-bogglingly inefficient for the data engineer tasked with managing each of these solutions. It is also a relatively expensive approach. A different way of dealing with DR is to leverage cloud architecture for secondary workflows such as backup, archival and disaster recovery (DR).
BigQuery automatically replicates data to ensure its availability and durability. However, complete loss of data due to disaster is less common than the need for fast, instant restoration of, for example, a specific table or even a specific record. For both purposes, Redshift automatically stores backups to S3 and enables you to revisit data at any point in time over the last ninety days.


