Learning Resources

Cloud

AWS (Amazon Web Services)

AWS architecture An AWS resource hub that offers best practices, reference architectures, and design patterns for building scalable, secure, and efficient applications on AWS.

AWS whitepapers Find in-depth technical whitepapers, decisions, and technical guides to help you understand the AWS cloud better.

AWS services overview Get an overview of all AWS services.

AWS blog Helps you keep tabs on AWS updates, tutorials, deep dives and real-world case studies.


Data Engineering

SQL

Practice SQL with DuckDB in your browser using the DuckDB shell.



Upskilling Platforms

Database

ScyllaDB University: Free NoSQL courses from ScyllaDB—Essentials to advanced



Insightful Systems Engineering Reads

Database

DuckDB

Memory Management in DuckDB

ScyllaDB

Database internals: working with IO

Database internals: working with CPUs

Database internals: optimizing memory management

Load Balancer

Inside NGINX: How we designed for performance & scale

Nginx architecture



Research Papers

Systems Programming

C++ design patterns for low-latency applications including high-frequency trading

The paper addresses the optimization of latency-critical code in high-frequency trading (HFT) systems.


Databases

Sorting in columnar database systems

The paper explores efficient sorting techniques for analytical database systems. It's a valuable resource for anyone looking to understand sorting optimizations in modern analytical databases and how they improve performance in columnar query processing.


Dynamic programming strikes back: Optimizing join ordering in databases

The research paper introduces DPhyp, an advanced algorithm for optimizing join ordering in database queries using dynamic programming.

Traditional methods like DPccp work well for simple inner joins but struggle with complex join predicates and non-inner joins (e.g., outer joins, antijoins). DPhyp improves query optimization by modeling joins as a hypergraph, allowing for more efficient execution planning.


The Adaptive Radix Tree: ARTful indexing for main-memory databases

The Adaptive Radix Tree (ART) is a high-performance in-memory indexing structure designed for modern database systems. It dynamically adjusts node sizes to optimize space and speed, using a mix of small and large nodes to minimize memory overhead.

Key features include adaptive node structures, path compression, and lazy expansion, making it efficient for lookups, insertions, and range queries. ART is particularly useful for main-memory databases where fast indexing and compact storage are crucial.


Fast serializable multi-version concurrency control for main-memory database systems

The research paper introduces an efficient Multi-Version Concurrency Control (MVCC) approach optimized for main-memory databases. The proposed method updates data in place, storing previous versions as undo log deltas to reduce memory overhead while maintaining high performance.

It also features a fine-grained serializability validation mechanism, ensuring strict transaction correctness with minimal performance impact. This makes it a compelling choice for modern high-speed transactional database systems.


More helpful learning resources will be added soon. Stay tuned! Meanwhile, check out these coding projects.