Databases
Schemas, indexes, query plans and choosing a store.
All topics · 4 lessons · 150 resources
Learn Databases on System Design Atlas
- 01Choosing and using a databaseRelational versus NoSQL, what an index really does, and how to decide between them without following fashion.System Design Foundations · 11 min read · start here
- 02Choosing a database typeA practical map from workload to database: relational, document, key-value, wide-column, search, graph, time-series and vector stores.Databases Deep Dive · 13 min read
- 03Normalisation and schema designOrganising tables so each fact is stored once, the first three normal forms in plain words, and when to break the rules on purpose.Databases Deep Dive · 11 min read
- 04Indexes in depthHow indexes speed reads and cost writes: B-tree indexes, composite order, covering indexes, clustered versus secondary, and how to pick them.Databases Deep Dive · 13 min read
Curated Databases resources
YouTube
- codeKarleLow-level and high-level design of real products, worked through step by step.codeKarle
- CMU Database GroupLectures and talks on database systems, including the 15-445 course.Carnegie Mellon University
- O'Reilly MySQL CE 2011: Jeremy Cole, "Big and Small Data at @Twitter"O'Reilly MySQL CE 2011: Jeremy Cole, "Big and Small Data at @Twitter"Twitter
- Server Side Rendering at WixWeb applications face many challenges on their way to success - they need to load fast on every device, yet be consistent.They need to be interactive and off...Wix
Books
- Mining of Massive DatasetsLarge-scale data processing: MapReduce, similarity search, recommendation and streams. The authors offer the whole book as a free download.Stanford University
- Readings in Database Systems (the Red Book)Essays and papers on how database systems are built, with an introduction to each, free online from the editors.Red Book
- Database InternalsHow storage engines and distributed databases work, from B-trees and LSM-trees to consensus and replication.O'Reilly
- Designing Data-Intensive ApplicationsThe standard book on data systems: storage engines, replication, partitioning, transactions, batch and stream processing.O'Reilly
Case Studies
- 30x Performance Improvements on MySQLStreamer at YelpMaking 30x performance improvements on Yelp’s MySQLStreamer Abrar Sheikh, Software Engineer Feb 5, 2018 Introduction MySQLStreamer is an important application in Yelp’s Data Pipeline infrastructure. It’s responsible for streaming high-volume,...Yelp
- Akutan: Distributed Knowledge Graph Store at eBayWe're excited to announce the public release of Akutan, a distributed knowledge graph store, under the Apache 2.0 open source license. Akutan is the result of four person-years of exploration and engineering effort, so there's a lot to unpack here! This post will discuss what Akutan is, how it's implemented, and…eBay
- Amazon Redshift and the art of performance optimization in the cloudThe cloud gives excellent mechanisms to improve performance as Concurrency Scaling for Redshift showsAllthingsdistributed
- Black-Box Auditing: Verifying End-to-End Replication Integrity between MySQL and Redshift at YelpBlack-Box Auditing: Verifying End-to-End Replication Integrity between MySQL and Redshift Jacob Park, Software Engineering Intern Apr 12, 2018 Since Yelp introduced its real-time streaming data infrastructure, “Data Pipeline”, it has...Yelp
- Building and Deploying MySQL Raft at MetaWe’re rolling out MySQL Raft with the aim to eventually replace our current MySQL semisynchronous databases. The biggest win of MySQL Raft was simplification of the operation and making MyS…Meta
- Cassandra for Keeping Counts In Sync at SoundCloudTrack play counts are essential for providing a good creator experience on the SoundCloud platform. They not only help creators keep track of their most popular songs, but they also give creators a better understanding of their fanbase and global impact. This post is a continuation of an earlier post that discussed…SoundCloud
- Columnar DatabasesLearn what NoSQL databases are what advantages nonrelational databases can have for your use case.Amazon Web Services
- Compression Techniques to Solve Network I/O Bottlenecks at eBayeBay’s data storage related to Shopping Cart information relies on two different data stores.eBay
- Continuous Load Testing at SlackBuilding load test infrastructure is tricky and poses many questions. How can we identify performance regressions in newly deployed builds, given the overhead of spinning up test clients? To gather the most representative results, should we load test at our peak hours or when there’s a lull? How do we incentivize…Slack
- Couchbase Ecosystem at LinkedInThe tools, libraries and monitoring services LinkedIn built around its large Couchbase deployment so it could be operated at scale.LinkedIn
- Cross Shard Transactions at 10 Million RPS at DropboxHow Dropbox added cross-shard transactions to Edgestore, its metadata store, with a modified two-phase commit proven on a live system at 10 million requests a second.Dropbox
- cstar: Cassandra Orchestration Tool at SpotifyToday, we announce that we are open sourcing , our Cassandra orchestration tool.Spotify
- Data Wrangling at SlackFor a company like Slack that strives to be as data-driven as possible, understanding how our users use our product is essential. The Data Engineering team at Slack works to provide an ecosystem to help people in the company quickly and easily answer questions about usage, so they can make better and data informed…Slack
- Decreasing RAM Usage by 40% Using jemalloc with Python & Celery at ZapierHow we use jemalloc with Python to reduce RAM usageZapier
- Document DatabasesA 2011 MSDN Magazine primer on document databases (MongoDB, CouchDB, RavenDB): JSON documents, keys, collections, queries and where they fit beside relational databases.Microsoft
- Druid at eBayLarge scale event processing from logs to provide monitoring insightseBay
- DynamoDB at SegmentA real-world engineering write-up from Segment on noSQL Databases.Segment
- eBay: Building Mission-Critical Multi-Data Center Applications with MongoDBAs a top 10 global retail brand with 170+ million active buyers and 1 billion live listings across 190 markets around the world, eBay cannot afford systems downtime. This is why the company relies on MongoDB as one of its core enterprise data platform standards, powering multiple, customer-facing applications that…Mongodb
- Elasticsearch Performance Tuning Practice at eBayElasticsearch is an open source search and analytic engine based on Apache Lucene that allows users to store, search, analyze data in near real time. While Elasticsearch is designed for fast queries, the performance depends largely on the scenarios that apply to your application, the volume of data you are…eBay
- Eliminate the Database for Higher Availability at American ExpressFor critical platforms, high availability is a top priority. Learn strategies for reducing complexity and thus increasing availability by eliminating or reducing database dependency.American Express
- ELK (Elasticsearch, Logstash, Kibana) StackAs part of the widespread movement towards open source software, the ELK Stack has become the most common log management platform in the world.Logz
- Espresso: Distributed Document Store at LinkedInAuthors: Aditya Auradkar, Tom Quiggle Espresso is LinkedInLinkedIn
- Fast Order Search using Data Pipeline and Elasticsearch at YelpFast Order Search Using Yelp’s Data Pipeline and Elasticsearch Dmitriy Kunitskiy, Software Engineer Jun 1, 2018 Since its inception in 2013, Yelp has grown its transactions platform to tens of...Yelp
- Fixing Linux filesystem performance regressions at LinkedInThe learnings we took away from these prior efforts allowed us to build a more refined and automated process for reimaging servers going forward, and to more crisply define the lifecycle of the servers on which we deploy LinkedIn’s production stack. With this increased confidence, we undertook an effort to reimage…LinkedIn
- FlockDB: Distributed Graph Database at TwitterA real-world engineering write-up from Twitter on noSQL Databases.Twitter
- gh-ost: GitHub's online migration tool for MySQLWhy GitHub built a triggerless migration tool and how it cuts over safely.GitHub
- Graph DatabasesMARGO I. SELTZER is the Canada 150 Research Chair in Computer Science at the University of British Columbia. Her research interests are in systems, construed quite broadly: systems for capturing and accessing data provenance, file systems, databases, transaction processing systems, storage and analysis of…Harvard
- H3: Uber's Hexagonal Hierarchical Spatial IndexWhy Uber divides the world into hexagonal cells for pricing, matching and analysis.Uber
- HaloDB: Embedded Key-Value Storage Engine at Yahooyahoodevelopers: By Arjun Mannaly, Senior Software Engineer At Oath, multiple ad platforms use a high throughput, low latency distributed key-value database that runs in data centers all over the world. The database stores billions of records and handles millions of read and write requests per second at millisecond…Yahoo
- HBase at SalesforceA real-world engineering write-up from Salesforce on noSQL Databases.Salesforce
- HBase in Imgur NotificationA real-world engineering write-up from Imgur on noSQL Databases.Imgur
- Heroic: Time Series Database at SpotifyThis is the second part in a series about Monitoring at Spotify. In the I discussed our history of operational monitoring. In this part I’ll be presenting Heroic, our scalable time series database which is now free software.Spotify
- High Availability with Distributed DB on Kubernetes at AirbnbTraditionally, organizations have deployed databases on costly, high-end standalone servers using sharding for scaling as a strategy. As data demands grew, the limitations of this strategy became increasingly evident with increasingly longer and more complex maintenance projects.Airbnb
- How Discord Stores Billions of MessagesThe data model and partitioning of Discord's message store on Cassandra, and the hot-partition problems it met.Discord
- How Twitter Stores 250 Million Tweets a Day Using MySQL - High Scalability -Jeremy Cole , a DBA Team Lead/Database Architect at Twitter, gave a really good talk at the O'Reil...High Scalability
- Improving key expiration in Redis at TwitterAfter updating to a new Redis version the Cache team saw a regression. This goes over the investigation and our conclusions.Twitter
- Machine Learning for Indexing Text from Billions of Images at DropboxIn our previous blog posts, we talked about how we updated the Dropbox search engine to add intelligence into our users’ workflow, and how we built our optical character recognition (OCR) pipeline. One of the most impactful benefits that users will see from these changes is that users on Dropbox Professional and…Dropbox
- Manhattan: Distributed Key-Value Database at TwitterManhattan, our real-time, multi-tenant distributed database for Twitter scaleTwitter
- MemSQL Architecture - The Fast (MVCC, InMem, LockFree, CodeGen) And Familiar (SQL)This is an interview with MemSQL cofounder’s Eric Frenkiel and Nikita Shamgunov , in whi...High Scalability
- MetricsDB: TimeSeries Database for storing metrics at TwitterUsing a custom storage backend instead of traditional key value store reduced the overall capacity requirements by a factor of 10. This also reduced latency by a factor of five.Twitter
- Migrating MySQL from 5.6 to 8.0 at FacebookMySQL, an open source database developed by Oracle, powers some of Facebook’s most important workloads. We actively develop new features in MySQL to support our evolving requirements. These feature…Facebook
- Migration from HBase to MyRocks at QuoraVamsi Ponnekanti, Myungwoo Chun, Zhichao Liu, Varvara Doilova, and Hwanseung Yeo from core-infra team, Hongzhi Liu, Vuttikai Sereewattanavut, and Michael Ran Chen from machine learning platform (MLP) team. At Quora we started an effort to migrate our key value store use cases from HBase to MyRoc...Quora
- Minimizing Read-Write MySQL Downtime at YelpMinimizing read-write MySQL downtime Nick Del Nano, Database Reliability Engineer Nov 9, 2020 The relational database of choice at Yelp is MySQL and it powers much of the Yelp app...Yelp
- Mitigating MySQL Replication Lag and Reducing Read Load at GithubAt GitHub, we use MySQL as the main database technology backing our services.Github
- MongoDB at Baidu: Multi-Tenant Cluster Storing 200+ Billion Documents across 160 ShardsLearn how MongoDB powers real-time applications and intelligent experiences for critical use cases across industries.Mongodb
- Moving Core Business Search to Elasticsearch at YelpMoving Yelp's Core Business Search to Elasticsearch Umesh Dangat, Software Engineer Jun 29, 2017 While newer search engines at Yelp typically use Elasticsearch as a backend, Yelp’s core business search...Yelp
- Moving Food Feed from Redis to Cassandra at ZomatoA real-world engineering write-up from Zomato on noSQL Databases.Zomato
- MPH: Fast and Compact Immutable Key-Value Stores at IndeedHow Indeed uses minimum perfect hash tables to quickly parse large sets of application data, and how you can use the same techniques.Indeed
- MySQL High Availability at GitHubA real-world engineering write-up from GitHub on failover.GitHub
- MySQL High Availability at GitHubHow GitHub detects primary failure and promotes a replica safely using orchestration and service discovery.GitHub
- NoSQL DatabasesOver the last few years we have seen the rise of a new type of databases, known as NoSQL databases, that are challenging the dominance of relational databases. Relational databases have dominated the software industry for a long time providing mechanisms to store data persistently, concurrency control,…Thoughtworks
- Online migrations at scaleA four-step method (dual write, backfill, switch reads, remove old) for changing a live database without downtime.Stripe
- Optimizing CAL Report Hadoop MapReduce Jobs at eBayeBay's Central Application Logging system (CAL) collects log data from all kinds of applications. The summary reports for log data are created using Hadoop MapReduce jobs. This article discusses our experiences optimizing these jobs.eBay
- Optimizing Web Servers for High Throughput and Low Latency at DropboxDash knows your context, your team, and your work, so your team can stay organized, easily find and share knowledge, and keep projects secure, all from one place. And soon, Dash is coming to Dropbox.Dropbox
- Pagelets Parallelize Server-side Processing at YelpGenerating Web Pages in Parallel with Pagelets, the Building Blocks of Yelp.com Arnaud Brousseau, Software Engineer Jul 6, 2017 At Yelp, pagelets are a server-side optimization to parallelize the rendering...Yelp
- Performance Optimization on OS, Storage, Database, NetworkUnderstand the most important application performance metrics and how they impact the success of your business. Get the top 7 most common metrics to track.Stackify
- Performance Tuning on Quartz Scheduler at eBayQuartz is a popular open source job scheduling library for Java Application.eBay
- PostgreSQL at TwitchTwitch has approximately 125 database hosts serving OLTP workloads in production, usually as part of a cluster. Approximately 4% run MySQL…Twitch
- Practical NoSQL Resilience Design Pattern for the Enterprise at eBayBuilding applications resilient to infrastructure failure is essential for systems that run in a distributed environment, such as NoSQL databases.eBay
- Presto at GrabA year ago, the data volumes at Grab were much lower than the volume we currently use for data-driven analytics. We had a simple and robust infrastructure in...Grab
- Profiling C++ (Part 1: Optimization, Part 2: Measurement and Analysis) at Riot GamesHi, I’m Tony Albrecht, an engineer at Riot, and I’m a performance junkie. This is the second part in a series on how to optimise your code. In Part 1, Measurement and Analysis , we learned how to find and analyse performance bottlenecks in…Riot Games
- Protector: Circuit Breaker for Time Series Databases at TrivagoAt trivago we store a subset of our realtime metric data in InfluxDB and we are quite impressed by the load it can handle. Despite all the joy, we had to learn some lessons the hard way. It is p...Trivago
- Read Consistency with Database Replicas at ShopifyAt Shopify, we’ve long used database replication for redundancy and failure recovery, but only fairly recently started to explore the potential of replicas as an alternative read-only data source for applications.Shopify
- Redshift at DrivyA real-world engineering write-up from Drivy on noSQL Databases.Drivy
- Reducing Memory Footprint at SlackOur desktop app is the most widely used and most capable Slack client that we offer. For many of our customers, it is one of just a few apps they keep open on their computer throughout the work day. It allows them to communicate and work with all the teams they belong to: reading and…Slack
- Relational DatabasesMySQL's page on how NDB Cluster splits tables across nodes to scale out on inexpensive hardware, with SQL and NoSQL access.Mysql
- Roshi: Distributed Storage System for Time-Series Event at SoundCloudLet’s talk about the stream. The SoundCloud stream represents stuff that’s relevant to you primarily via your social graph, arranged in time order, newest-first. The atom of that data model, an event, is a simple enough thing. Timestamp User who did the thing Identifier of the thing that was done For example, At…SoundCloud
- Scaling Ad Analytics with Cassandra at YelpHow We Scaled Our Ad Analytics with Apache Cassandra Qui N. and Shafi B., Software Engineers Aug 8, 2016 On the Ad Backend team, we recently moved our ad analytics...Yelp
- Scaling Elasticsearch Clusters at UberDanny Yuan talks about how Uber scaled its Elasticsearch clusters as well as its ingestion pipelines for ingestions, queries, data storage, and operations by a three-person team. He covers topics like federation, query optimization, caching, failure recovery, data fidelity, transition from Lambda architecture to…Uber
- Scaling MySQL at WixMySQL is a better NoSQL. When considering a NoSQL use case, such as key/value storage, MySQL makes more sense in terms of performance, ease of use, and stability. MySQL is a solid engine with lots of online material, ranging from operations and failure cases, to replication and different patterns of usage. For this…Wix
- Scaling Services with Shard Manager at FacebookOver the years, as we’ve expanded in scale and functionalities, Facebook has evolved from a basic web server architecture into a complex one with thousands of services working behind the scenes. It…Facebook
- Self-Ranking Search with Elasticsearch at WattpadA real-world engineering write-up from Wattpad on distributed Searching.Wattpad
- Sharding MySQL at QuoraTeam: Nagavamsi (Vamsi) Ponnekanti, Lingduo Kong, Hwan Seung Yeo (manager) In this blog post, we discuss how Quora was able to scale our usage of MySQL to meet the growing requirements of our content. We’ll focus especially on the challenge of sharding the data stored in MySQL at scale. MySQL...Quora
- Sharding MySQL at TwilioA real-world engineering write-up from Twilio on relational Databases.Twilio
- Sharding out Elasticsearch at VintedHow Vinted diagnosed problems with its Elasticsearch shards and fixed them with metrics and automation.Vinted
- Sharding Postgres at FigmaOur nine month journey to horizontally shard Figma’s Postgres stack, and the key to unlocking (nearly) infinite scalability.Figma
- Sharding Postgres at NotionWith an effort to make Notion faster and more reliable for years to come — we migrated Notion’s PostgreSQL monolith into a horizontally-partitioned database fleet.Notion
- Sherpa: Distributed NoSQL Key-Value Store at YahooOverview Sherpa is Yahoo’s distributed NoSQL key-value store offered as a hosted service. It is the cornerstone of Yahoo properties and hosts over 2,000 tables, 1 trillion records, and serves over 1 million queries a second across a wide spectrum of applications. Though core features described in prior publications…Yahoo
- Solr: Improving Performance for Batch Indexing at BoxA few months ago, I worked on improving performance of our 'full' indexer. I feel that the improvement was significant enough to share the story. Full indexer is Box's process to create the search index from scratch, reading all of our documents from an hbase table and inserting the documents in a Solr index.Box
- Storing Messages with Cassandra at DiscordA real-world engineering write-up from Discord on noSQL Databases.Discord
- Switching from Postgres to MySQL at UberUber Engineering explains the technical reasoning behind its switch in database technologies, from Postgres to MySQL.Uber
- TAO: The power of the graphA readable overview of how Facebook serves the social graph with a caching layer over MySQL.Meta
- Time Series DatabasesLearn what time series data is, how it powers real-time monitoring and long-term analysis, and why high-resolution, high-cardinality workloads challenge trad...Influxdata
- Types of Replication - SQL ServerLearn about the different types of replication that SQL Server provides for use in distributed applications.Microsoft
- Unthrottled: Fixing CPU Limits in the Cloud (2 parts) at IndeedWe solved a CPU throttling issue that affects nearly every container orchestrator with hard limits, including Kubernetes, Docker, and Mesos. %Indeed
- Venice: Distributed Key-Value Database at LinkedinNow, the question that comes up is: do we build all of these systems from scratch? The answer is a resounding no! Even though scenarios vary, there are common elements that are essential to any distributed system: cluster management, storage engines, security, etc. Thus, we build generic libraries and leverage them…Linkedin
- Vulcanizer: a library for operating Elasticsearch at GithubVulcanizer is a Go library for interacting with an Elasticsearch cluster. ts goal is to provide a high-level API to help with common tasks.Github
- ZippyDB: Facebook's key-value storeFacebook's strongly consistent key-value store built on RocksDB and Paxos, with data sharded and replicated.Meta
Papers
- Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases (paper)Why Aurora moves the redo log to a distributed storage layer, so replication and crash recovery become cheap.Amazon Web Services
- Cassandra: A Decentralized Structured Storage System (paper)The paper describing Cassandra's design: a Dynamo-style ring and replication with a Bigtable-style data model and storage engine.Facebook
- Dremel: Interactive Analysis of Web-Scale Datasets (paper)A columnar, tree-structured query engine that scans trillions of rows interactively; the basis of BigQuery-style analytics.Google
- HyperLogLog (paper)A tiny data structure that estimates the number of distinct items in a huge stream.INRIA
- Key-Value DatabasesA real-world engineering write-up from Ucsb on noSQL Databases.Ucsb
- Megastore: Providing Scalable, Highly Available Storage (paper)Synchronous replication across data centres with Paxos while keeping a transactional data model.Google
- TAO: Distributed Data Store for the Social Graph at FacebookWe introduce a simple data model and API tailored for serving the social graph, and TAO, an implementation of this model. TAO is a geographically distributed data store that provides efficient and timely access to the social graph for Facebook’s demanding workload using a fixed set of queries.Facebook
- TAO: Facebook's Distributed Data Store for the Social Graph (paper)A read-optimised graph store layered over MySQL and caches that serves billions of social-graph reads per second.Meta (Facebook)
- The Log-Structured Merge-Tree (paper)The original LSM-tree paper behind write-optimised stores such as Cassandra and RocksDB.UMass Boston
Documentation
- Amazon S3 strong consistencyWhat strong read-after-write consistency means for S3 and how it simplifies applications.Amazon Web Services
- Cassandra architecture overviewThe ring, replication, tunable consistency and the storage engine of Cassandra.Apache Software Foundation
- Druid - Real-time Analytics DatabaseApache Druid, a real-time analytics database: the project site and its documentation.Apache
- Elasticsearch GuideThe reference for indexing, searching and scaling Elasticsearch.Elastic
- FoundationDB documentationA distributed key-value store with strict ACID transactions and a layered design.FoundationDB
- How SQLite WorksA tour of how a small, widely deployed database stores data and stays crash safe.SQLite
- MongoDB: Shard KeysHow the choice of shard key controls distribution, hot spots and query patterns.MongoDB Inc.
- PostgreSQL: CREATE INDEX (CONCURRENTLY)How to build an index without blocking writes, and the caveats of the concurrent mode.PostgreSQL
- PostgreSQL: Introduction to MVCCHow PostgreSQL lets readers and writers work without blocking each other using multiple row versions.PostgreSQL
- PostgreSQL: the locking clause (FOR UPDATE SKIP LOCKED)Reference for row locking in SELECT, including SKIP LOCKED for queue-like access.PostgreSQL
- PostgreSQL: Using EXPLAINHow to read a query plan and understand why a query is slow.PostgreSQL
GitHub
- Apache CassandraThe source of the wide-column, leaderless database.GitHub
- Build Your Own XTutorials for building your own Redis, database, Docker, web server and more, to learn how they work.GitHub
- ClickHouseA column-oriented analytics database.GitHub
- CockroachDBA distributed SQL database built on ranges, Raft and MVCC.GitHub
- CS Video CoursesA list of university computer-science courses with free videos.GitHub
- gh-ost: GitHub's online schema migration tool for MySQLTriggerless online schema changes by copying rows and tailing the binary log.GitHub
- RocksDBAn embeddable LSM-tree storage engine used inside many databases.GitHub
- TiDBA distributed SQL database with a Raft-based storage layer.GitHub
- VitessA MySQL sharding system created at YouTube to scale databases horizontally.GitHub
Podcasts & Newsletters
Blogs
- AWS Big Data BlogAWS posts and announcements on analytics and data topics, such as Redshift, EMR and Apache Iceberg tables.Amazon Web Services
- AWS Database BlogGuidance on choosing, migrating and tuning relational and NoSQL databases.Amazon Web Services
- ClickHouse BlogLearn about the latest ClickHouse tips, tricks and company announcements.ClickHouse
- Cockroach Labs BlogDistributed SQL internals: consensus, transactions and multi-region design.Cockroach Labs
- eBay TechSearch, marketplace and platform engineering posts from eBay.eBay
- Elastic BlogSearch, logging and observability engineering with Elasticsearch.Elastic
- Engineering at Meta: Data InfrastructureData Infrastructure delivers performant, usable, reliable, and efficient platforms and end-user tools for the collection, management, and analysis of data at Meta scale to help teams make data-driv…Meta
- Explaining Low-Level Systems (OS, Network/Protocol, Database, Storage)A survey of real time and log-based operating system and process monitoring tools for Windows and Unix systems.Wustl
- Figma EngineeringReal-time multiplayer, databases and infrastructure at Figma.Figma
- Fivetran BlogFivetran is the smartest way to load data into a warehouse. Our connectors centralize info from apps and databases to unlock profound business insights.Fivetran
- GitHub EngineeringArchitecture, scaling and incident write-ups from GitHub.GitHub
- Google Research BlogAccessible write-ups of Google's research, including systems and infrastructure work.Google
- Hasura BlogThe top stories from Hasura: engineering, tutorials, product updates, GraphQL, frontend backend frameworks more!Hasura
- InfluxData BlogThe place for technical guides, customer observability & IoT use cases, product info, and news on leading time series platform InfluxDB, Telegraf, SQL, & more.InfluxData
- Jepsen analysesTests of real databases under failure, showing which consistency promises hold.Jepsen
- LinkedIn Engineering: DataThe engineering and technology blog of LinkedIn: posts on how it designs, builds and scales its systems.LinkedIn
- Paxos Made Live – An Engineering PerspectiveGoogle's paper on the engineering challenges of building a fault-tolerant database on the Paxos consensus algorithm, and how the authors solved them.Google
- PlanetScale BlogMySQL scaling, sharding with Vitess and database internals.PlanetScale
- The Precise Meaning of I/O Wait Time in LinuxFor a given CPU, the I/O wait time is the time during which that CPU was idle (i.e. didnGithub
- What is SELECT SKIP LOCKED for in PostgreSQL?A clear explanation of SKIP LOCKED and its use for work queues.2ndQuadrant (EDB)
Courses
- Backend Developer RoadmapA visual guide to the skills a backend engineer builds, from databases to caching and APIs.roadmap.sh
- CMU 15-445: Database SystemsA university course on database internals with free lecture videos, covering storage, indexing, execution and concurrency.Carnegie Mellon University
- Use The Index, LukeA free guide to SQL indexing and performance across the major databases.use-the-index-luke.com