This list is a compilation of readings which are valuable to a general understanding of the operation of Cockroach. This list is extensive (but not exhaustive), don't feel you need to read everything here, it's provided as a way to drill down into topics you find interesting, if you so choose. The entries in each section are roughly organized in recommended order of consumption, but this is not a strict ordering in any sense.
...
Enlightening the I/O Path: A Holistic Approach for Application Performance
Admission control and scheduling of remote processes in loosely-coupled distributed systems
Regulating I/O Performance of Shared Storage with a Control Theoretic Approach
Transactions
A History of Transaction Histories: https://ristret.com/s/f643zk/history_transaction_histories
ANSI Critique: https://arxiv.org/pdf/cs/0701157.pdf
Yabandeh: https://drive.google.com/file/d/0B9GCVTp_FHJIMjJ2U2t6aGpHLTFUVHFnMTRUbnBwc2pLa1RN/edit
An extremely well-written explanation of optimistic serializable transactions. I think this is one of the best resources for gaining intuition about transactions.
How CockroachDB Does Distributed, Atomic Transactions: https://www.cockroachlabs.com/blog/how-cockroachdb-distributes-atomic-transactions/
Serializable, Lockless, Distributed: Isolation in CockroachDB: https://www.cockroachlabs.com/blog/serializable-lockless-distributed-isolation-cockroachdb/
Understanding Weak Isolation: http://www.bailis.org/blog/understanding-weak-isolation-is-a-serious-problem/
Read-Only Transaction Anomaly: https://www.cs.umb.edu/~poneil/ROAnom.pdf
Explanation of a surprising and unintuitive anomaly that can occur in Snapshot Isolation
What Does Write Skew Look Like: http://justinjaffray.com/what-does-write-skew-look-like/
A (hopefully) simplified explanation of Fekete 2005.
Fekete 2005: https://www.cse.iitb.ac.in/infolab/Data/Courses/CS632/2009/Papers/p492-fekete.pdf
Empirical Evaluation: http://www.cs.cmu.edu/~pavlo/papers/p781-wu.pdf
Mostly relevant to in-memory databases (which CockroachDB is not), but a good overview of the main components of an MVCC system.
Adya Thesis: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.32.1760&rep=rep1&type=pdf
Very dense, formal treatment of isolation levels. Not really recommended unless you're trying to win an argument.
Hermitage: https://github.com/ept/hermitage
Martin Kleppmann's testing of different databases' isolation levels (mapping SQL standard levels like REPEATABLE READ to the richer categorization of Adya)
...
Basics of SQL indexing, independent of database: https://use-the-index-luke.com/
Index Selection in CockroachDB: https://www.cockroachlabs.com/blog/index-selection-cockroachdb-2/
Not especially specific to Cockroach - great as an introduction to index selection
SQL Query Planning: https://github.com/cockroachdb/cockroach/blob/master/docs/RFCS/20171213_sql_query_planning.md
Andy K on Optimizer: The Story So Far (April 2018): https://www.youtube.com/watch?v=wAfAVv9SFIc
Andy Pavlo optimizer lectures
The Cascades Framework for Query Optimization
This is what our optimizer is based on.
Fundamental Techniques for Order Optimization by Simmen et. al
Explains how to manipulate orders, not aware of a publicly available PDF
pkg/sql/opt/doc.go: https://github.com/cockroachdb/cockroach/blob/master/pkg/sql/opt/doc.go
Optimization of Analytic Window Functions: http://vldb.org/pvldb/vol5/p1244_yucao_vldb2012.pdf
...