├── LICENSE ├── README.md ├── index.html ├── learning └── index.html ├── practice └── index.html └── reading ├── ai └── index.html ├── computer-basics └── index.html ├── database ├── ai_databases.html ├── consensus_algorithms.html ├── database_architecture.html ├── database_performance.html ├── database_testing.html ├── distributed_databases.html ├── high_availibility.html ├── index.html ├── mysql.html ├── olap_analytics.html ├── postgresql.html ├── query_optimization.html └── storage_engines.html ├── distributed-file-system └── index.html ├── index.html ├── math └── index.html ├── networking └── index.html ├── os └── index.html └── software-engineering └── index.html /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for software and other kinds of works. 11 | 12 | The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. 13 | 14 | When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. 15 | 16 | To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. 17 | 18 | For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on the same freedoms to the recipients. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. 19 | 20 | Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute, and/or modify it. 21 | 22 | For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. 23 | 24 | Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. 25 | 26 | Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. 27 | 28 | The precise terms and conditions for copying, distribution and modification follow. 29 | 30 | TERMS AND CONDITIONS 31 | 32 | 0. Definitions. 33 | 34 | "This License" refers to version 3 of the GNU General Public License. 35 | 36 | "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. 37 | 38 | "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you." "Licensees" and "recipients" may be individuals or organizations. 39 | 40 | To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. 41 | 42 | A "covered work" means either the unmodified Program or a work based on the Program. 43 | 44 | To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. 45 | 46 | To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. 47 | 48 | A "user product" is either (1) a "consumer product," which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. 49 | 50 | "Installation Information" for a user product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that user product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. 51 | 52 | (Full text continues at ) 53 | 54 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tech Explorer Hub 2 | 3 | [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) 4 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md) 5 | 6 | > Bridging the gap between academic research and practical software development. 7 | 8 | ## About This Project 9 | 10 | Tech Explorer Hub is a curated collection of high-quality computer science resources designed specifically for developers who want to: 11 | 12 | - Learn how authors think from research papers. 13 | 14 | - Unlike academic databases, we focus on papers and books that have real-world applications. 15 | 16 | - Materials are carefully selected to identify the best resources for developers. 17 | 18 | - Challenge problems are based on real engineering scenarios. 19 | 20 | ## Learning Resources 21 | 22 | Please visit the [learning resources](https://enhancedformysql.github.io/tech-explorer-hub/reading/index.html) link. 23 | 24 | ## Practice Challenges 25 | 26 | Please visit the [practice resources](https://enhancedformysql.github.io/tech-explorer-hub/practice/index.html) link. 27 | 28 | ## How to Contribute 29 | 30 | We welcome: 31 | 32 | - Paper summaries 33 | - New challenge problems 34 | - Solution implementations 35 | - Bug reports and suggestions 36 | 37 | ## License 38 | 39 | All content is licensed under [GNU GPL v3.0](LICENSE). 40 | Copyright @ 2025 wangbin579. 41 | 42 | ## Community 43 | 44 | Join the discussion: 45 | 46 | - [GitHub Discussions](https://github.com/your-repo/tech-explorer-hub/discussions) 47 | - Twitter: [@wangbin579](https://twitter.com/wangbin579) 48 | - Email: wangbin579@gmail.com 49 | 50 | ## Acknowledgments 51 | 52 | Thanks to all contributors and the open source community for making this possible! -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Computer Learning Resource Center 26 | 160 | 161 | 162 | 204 | 205 | -------------------------------------------------------------------------------- /learning/index.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Computer Learning Paths Repository 26 | 96 | 97 | 98 | 163 | 164 | -------------------------------------------------------------------------------- /practice/index.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Practical Learning Guides | Computer Learning Resource Center 26 | 105 | 106 | 107 |
108 | <- Back to Main Page 109 | 110 |
111 |

Practical Learning Guides

112 |

Hands-on resources tailored to your expertise level

113 |
114 | 115 |
116 | 117 |
118 |

Beginner Level

119 |
120 | 121 |
122 |
123 | Beginner 124 | Networking 125 |
126 |

TCP/IP Guide

127 |

Explain the basic principles of the TCP/IP protocol stack and how to perform simple packet capture and analysis.

128 | 129 |
130 | 131 | 132 |
133 |
134 | Beginner 135 | Data Structures 136 |
137 |

Understanding and Practice of Basic Data Structures

138 |

Visual explanations of data structures, including practical examples and real-world use cases.

139 | 140 |
141 | 142 | 143 |
144 |
145 | Beginner 146 | Database 147 |
148 |

How to use databases and debug MySQL/PostgreSQL source code

149 |

Ability to perform basic source code analysis and SQL query analysis.

150 | 151 |
152 | 153 | 154 |
155 |
156 | Beginner 157 | AI 158 |
159 |

The Complete Guide to AI Programming

160 |

Understand the characteristics and limitations of AI programming, and learn to program AI efficiently.

161 | 162 |
163 |
164 |
165 | 166 | 167 |
168 |

High Level

169 |
170 | 171 |
172 |
173 | Intermediate 174 | Networking 175 |
176 |

A TCP Stream Replay Tool

177 |

Comprehensive study of TCP/IP stack design fundamentals, including implementation of a custom TCP stream replay tool and mastery of network packet analysis techniques.

178 | 179 |
180 | 181 | 182 |
183 |
184 | Intermediate 185 | Algorithms 186 |
187 |

Paxos Algorithms

188 |

Deep dive into Paxos algorithm implementation.

189 | 190 |
191 | 192 | 193 |
194 |
195 | Intermediate 196 | MySQL Database 197 |
198 |

MySQL Optimization

199 |

Optimizing MySQL at the Source Code Level: A Practical Guide.

200 | Access address 201 |
202 | 203 | 204 |
205 |
206 | Intermediate 207 | PostgreSQL Database 208 |
209 |

PostgreSQL Optimization

210 |

Optimizing PostgreSQL at the Source Code Level: A Practical Guide.

211 | 212 |
213 | 214 |
215 |
216 |
217 | 218 |
219 |

© 2025 Computer Learning Resource Center. All rights reserved.

220 |
221 |
222 | 223 | 245 | 246 | -------------------------------------------------------------------------------- /reading/computer-basics/index.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Computer Science Fundamentals Hub 26 | 27 | 224 | 225 | 226 |
227 | Back to Resources 228 | 229 |
230 |

Computer Science Basics

231 |

Essential resources from theory to practice

232 |
233 | 234 | 235 |
236 | 237 |
238 |

Theoretical Resources

239 |
240 | 241 |
242 |
Introduction to Algorithms 2nd Edition
243 |
244 | Cormen et al., 2001 245 | Advanced 246 |
247 |
248 | 249 | 250 | 251 | 252 | 253 | 5.0 254 |
255 |
256 | The definitive guide to algorithms, covering a wide range of topics with mathematical rigor. 257 |
258 | View Book 259 |
260 | 261 |
262 |
Videos for Introduction to Algorithms, 2nd Edition
263 |
264 | Cormen et al., 2005 265 | Intermediate 266 |
267 |
268 | 269 | 270 | 271 | 272 | 273 | 5.0 274 |
275 |
276 | The definitive guide to algorithms, covering a wide range of topics with mathematical rigor. 277 |
278 | Watch Videos 279 |
280 | 281 |
282 |
A TCP/IP Tutorial
283 |
284 | RFC, 1991 285 | Beginner 286 |
287 |
288 | 289 | 290 | 291 | 292 | 293 | 5.0 294 |
295 |
296 | The best and easiest introductory material for the TCP/IP protocol. 297 |
298 | View Book 299 |
300 |
301 |
302 | 303 | 304 |
305 |

Practical Resources

306 |
307 | 308 |
309 |
Designing Data-Intensive Applications
310 |
311 | Martin Kleppmann et al., 2017 312 | Beginner 313 |
314 |
315 | 316 | 317 | 318 | 319 | 320 | 5.0 321 |
322 |
323 | The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. 324 |
325 | Download From Github 326 |
327 | 328 |
329 |
Programming from the Ground Up
330 |
331 | Jonathan Bartlett, 2003 332 | Beginner 333 |
334 |
335 | 336 | 337 | 338 | 339 | 340 | 4.9 341 |
342 |
343 | The point of the book is to help the student understand how assembly language and computer programming works. 344 |
345 | View Book 346 |
347 | 348 |
349 |
High Performance Browser Networking by Ilya Grigorik
350 |
351 | Ilya Grigorik, 2013 352 | Beginner 353 |
354 |
355 | 356 | 357 | 358 | 359 | 360 | 5.0 361 |
362 |
363 | This eloquent book provides what every web developer should know about the network, from fundamental limitations that affect performance to major innovations for building even more powerful browser applications--including HTTP 2.0 and XHR improvements, Server-Sent Events (SSE), WebSocket, and WebRTC. 364 |
365 | View Book 366 |
367 | 368 |
369 |
370 |
371 |
372 | 373 | -------------------------------------------------------------------------------- /reading/database/ai_databases.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | AI and Databases Research Materials 26 | 27 | 219 | 220 | 221 |
222 | Back to Resources 223 | 224 |
225 |

AI and Databases Research Materials

226 |

From theoretical foundations to practice

227 |
228 | 229 |
230 |
231 |

Theoretical Resources

232 |
233 | 234 |
235 |
From Natural Language Processing to Neural Databases
236 |
237 | James Thorne et al., 2021 238 | Intermediate 239 |
240 |
241 | 242 | 243 | 244 | 245 | 246 | 4.5 247 |
248 |
249 | Explores how neural networks can be used as database components, examining both the capabilities and limitations of this approach. 250 |
251 | Download PDF 252 |
253 | 254 |
255 |
256 | 257 |
258 |

Practical Resources

259 |
260 | 261 |
262 |
Database meets artificial intelligence: A survey
263 |
264 | X. Zhou et al., 2020 265 | Beginner 266 |
267 |
268 | 269 | 270 | 271 | 272 | 273 | 5.0 274 |
275 |
276 | A comprehensive survey on the intersection of database systems and artificial intelligence, covering theoretical foundations and practical applications. 277 |
278 | Download PDF 279 |
280 | 281 |
282 |
The Case for Learned Index Structures
283 |
284 | Kraska et al., 2018 285 | Intermediate 286 |
287 |
288 | 289 | 290 | 291 | 292 | 293 | 5.0 294 |
295 |
296 | Introduces the concept of replacing traditional index structures with machine learning models, showing significant performance improvements. 297 |
298 | Download PDF 299 |
300 | 301 | 302 |
303 |
304 |
305 |
306 | 307 | -------------------------------------------------------------------------------- /reading/database/database_architecture.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Database Architecture Research Resources 26 | 27 | 230 | 231 | 232 |
233 | Back to Resources 234 | 235 |
236 |

Database Architecture Research Resources

237 |

From theoretical foundations to practice

238 |
239 | 240 | 241 |
242 | 243 |
244 |

Theoretical Resources

245 |
246 |
247 |
Architecture of a Database System
248 |
249 | J. M. Hellerstein et al., 2007 250 | Beginner 251 |
252 |
253 | 254 | 255 | 256 | 257 | 258 | 5.0 259 |
260 |
261 | Comprehensive guide to the architecture of modern relational database systems and their implementation challenges. 262 |
263 | Download PDF 264 |
265 | 266 |
267 |
Scalability! But at what COST?
268 |
269 | Frank McSherry et al., 2015 270 | Beginner 271 |
272 |
273 | 274 | 275 | 276 | 277 | 278 | 5.0 279 |
280 |
281 | Fundamental analysis of scalability tradeoffs in distributed systems, challenging conventional wisdom about performance claims. 282 |
283 | Download PDF 284 |
285 | 286 |
287 |
288 | 289 | 290 |
291 |

Practical Resources

292 |
293 |
294 |
The Design and Implementation of Modern Column-Stores
295 |
296 | Daniel Abadi et al., 2013 297 | Intermediate 298 |
299 |
300 | 301 | 302 | 303 | 304 | 305 | 4.5 306 |
307 |
308 | Exploration of column-oriented database architectures and their performance advantages for analytical workloads. 309 |
310 | Download PDF 311 |
312 | 313 |
314 |
Using Paxos to Build a Scalable, Consistent Datastore
315 |
316 | Rao et al., 2011 317 | Intermediate 318 |
319 |
320 | 321 | 322 | 323 | 324 | 325 | 5.0 326 |
327 |
328 | Practical implementation of a distributed datastore using the Paxos consensus protocol. 329 |
330 | Download PDF 331 |
332 |
333 |
334 |
335 |
336 | 337 | 338 | -------------------------------------------------------------------------------- /reading/database/database_performance.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Database Performance Research Resources 26 | 27 | 219 | 220 | 221 |
222 | Back to Resources 223 | 224 |
225 |

Database Performance Research Resources

226 |

From theoretical foundations to practice

227 |
228 | 229 |
230 |
231 |

Theoretical Resources

232 |
233 | 234 |
235 |
KuaFu: Closing the parallelism gap in database replication
236 |
237 | C. Hong et al., 2013 238 | Intermediate 239 |
240 |
241 | 242 | 243 | 244 | 245 | 246 | 4.0 247 |
248 |
249 | A practical implementation for improving parallelism in database replication systems. 250 |
251 | Download PDF 252 |
253 | 254 |
255 |
Design principles for scaling multi-core OLTP under high contention
256 |
257 | K. Ren et al., 2016 258 | Intermediate 259 |
260 |
261 | 262 | 263 | 264 | 265 | 266 | 5.0 267 |
268 |
269 | A theoretical study on scaling OLTP systems under high contention in multi-core environments, establishing foundational principles. 270 |
271 | Download PDF 272 |
273 | 274 |
275 |
Improving High Contention OLTP Performance via Transaction Scheduling
276 |
277 | Guna Prasaad et al., 2018 278 | Intermediate 279 |
280 |
281 | 282 | 283 | 284 | 285 | 286 | 4.0 287 |
288 |
289 | Practical techniques for improving OLTP performance under high contention using transaction scheduling. 290 |
291 | Download PDF 292 |
293 | 294 |
295 |
296 | 297 |
298 |

Practical Resources

299 |
300 | 301 |
302 |
A study of database performance sensitivity to experiment settings
303 |
304 | Y. Wang et al., 2022 305 | Beginner 306 |
307 |
308 | 309 | 310 | 311 | 312 | 313 | 5.0 314 |
315 |
316 | This paper investigates how database performance varies with different experimental settings, providing theoretical insights into performance measurement. 317 |
318 | Download PDF 319 |
320 | 321 |
322 |
OceanBase Did Better than Any Other Database in the TPC-C Benchmark
323 |
324 | Alipay Technology, 2019 325 | Beginner 326 |
327 |
328 | 329 | 330 | 331 | 332 | 333 | 5.0 334 |
335 |
336 | Practical implementation details of how OceanBase achieved superior performance in the TPC-C benchmark test. 337 |
338 | View Article 339 |
340 | 341 |
342 |
Experimental evaluation of NUMA effects on database management systems
343 |
344 | T. Kiefer et al., 2013 345 | Intermediate 346 |
347 |
348 | 349 | 350 | 351 | 352 | 353 | 5.0 354 |
355 |
356 | Practical evaluation of NUMA architecture effects on database management systems. 357 |
358 | Download PDF 359 |
360 |
361 |
362 |
363 |
364 | 365 | -------------------------------------------------------------------------------- /reading/database/database_testing.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Database Testing Research Resources 26 | 27 | 219 | 220 | 221 |
222 | Back to Resources 223 | 224 |
225 |

Database Testing Research Resources

226 |

From theoretical foundations to practice

227 |
228 | 229 |
230 |
231 |

Theoretical Resources

232 |
233 | 234 |
235 |
Fair Benchmarking Considered Difficult: Common Pitfalls In Database Performance Testing
236 |
237 | M. Raasveldt et al., 2018 238 | Beginner 239 |
240 |
241 | 242 | 243 | 244 | 245 | 246 | 5.0 247 |
248 |
249 | A theoretical discussion on common pitfalls in benchmarking database systems and the principles for fair performance evaluation. 250 |
251 | Download PDF 252 |
253 |
254 |
255 | 256 |
257 |

Practical Resources

258 |
259 | 260 |
261 |
Performance evaluation of TPC-C benchmark on various cloud providers
262 |
263 | R. N. Avula and C. Zou, 2020 264 | Beginner 265 |
266 |
267 | 268 | 269 | 270 | 271 | 272 | 5.0 273 |
274 |
275 | A practical comparative study of TPC-C benchmark performance across various cloud providers with implementation details. 276 |
277 | Download PDF 278 |
279 | 280 |
281 |
Oracle Database Replay
282 |
283 | Romain Colle et al., 2009 284 | Beginner 285 |
286 |
287 | 288 | 289 | 290 | 291 | 292 | 5.0 293 |
294 |
295 | A practical implementation of database workload capture and replay technology in Oracle Database. 296 |
297 | Download PDF 298 |
299 |
300 |
301 |
302 |
303 | 304 | -------------------------------------------------------------------------------- /reading/database/distributed_databases.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Distributed Database Research Resources 26 | 27 | 230 | 231 | 232 |
233 | Back to Resources 234 | 235 |
236 |

Distributed Database Research Resources

237 |

From theoretical foundations to practice

238 |
239 | 240 | 241 |
242 | 243 |
244 |

Theoretical Resources

245 |
246 | 247 |
248 |
Fault Tolerance via Idempotence
249 |
250 | G. Ramalingam et al., 2013 251 | Intermediate 252 |
253 |
254 | 255 | 256 | 257 | 258 | 259 | 5.0 260 |
261 |
262 | Building distributed services and applications is challenging due to the pitfalls of distribution such as process and communication failures. A natural solution to these problems is to detect potential failures, and retry the failed computation and/or resend messages. 263 |
264 | Download PDF 265 |
266 | 267 |
268 |
Chasing the FLP Impossibility Result in a LAN
269 |
270 | 2001 271 | Intermediate 272 |
273 |
274 | 275 | 276 | 277 | 278 | 279 | 5.0 280 |
281 |
282 | Theoretical exploration of the limits of fault tolerance in distributed systems and practical implications. 283 |
284 | Download PDF 285 |
286 | 287 |
288 |
289 | 290 | 291 |
292 |

Practical Resources

293 |
294 | 295 |
296 |
Challenges to Adopting Stronger Consistency at Scale
297 |
298 | Phillipe Ajoux et al., 2014 299 | Beginner 300 |
301 |
302 | 303 | 304 | 305 | 306 | 307 | 5.0 308 |
309 |
310 | Analysis of the fundamental challenges in implementing strong consistency models in large-scale distributed systems. 311 |
312 | Download PDF 313 |
314 | 315 | 316 |
317 |
Citus: Distributed PostgreSQL for Data-Intensive Applications
318 |
319 | Umur Cubukcu et al., 2021 320 | Beginner 321 |
322 |
323 | 324 | 325 | 326 | 327 | 328 | 5.0 329 |
330 |
331 | This paper describes the requirements of four common workload patterns and how Citus addresses those requirements. 332 |
333 | Download PDF 334 |
335 | 336 |
337 |
Coordination Avoidance in Database Systems
338 |
339 | Peter Bailis et al., 2014 340 | Intermediate 341 |
342 |
343 | 344 | 345 | 346 | 347 | 348 | 4.5 349 |
350 |
351 | Practical techniques for reducing coordination overhead in distributed database implementations. 352 |
353 | Download PDF 354 |
355 | 356 |
357 |
Replicated Data Consistency Explained Through Baseball
358 |
359 | D. Terry, 2011 360 | Intermediate 361 |
362 |
363 | 364 | 365 | 366 | 367 | 368 | 4.5 369 |
370 |
371 | Practical explanation of consistency models using baseball as an analogy, making complex concepts accessible. 372 |
373 | Download PDF 374 |
375 | 376 |
377 |
Calvin: Fast Distributed Transactions for Partitioned Database Systems
378 |
379 | Alexander Thomson et al., 2012 380 | Intermediate 381 |
382 |
383 | 384 | 385 | 386 | 387 | 388 | 5.0 389 |
390 |
391 | Unlike previous deterministic database system prototypes, Calvin supports disk-based storage, scales near-linearly on a cluster of commodity machines, and has no single point of failure. 392 | 393 |
394 | Download PDF 395 |
396 | 397 | 398 |
399 |
The End of a Myth: Distributed Transactions Can Scale
400 |
401 | Erfan Zamanian et al., 2017 402 | Intermediate 403 |
404 |
405 | 406 | 407 | 408 | 409 | 410 | 5.0 411 |
412 |
413 | Research challenging the conventional wisdom that distributed transactions don't scale, with practical implications. 414 |
415 | Download PDF 416 |
417 | 418 | 419 |
420 |
421 |
422 |
423 | 424 | 425 | -------------------------------------------------------------------------------- /reading/database/high_availibility.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | High Availability Research Resources 26 | 27 | 214 | 215 | 216 |
217 | Back to Resources 218 | 219 |
220 |

High Availability Research Resources

221 |

From theoretical foundations to practice

222 |
223 | 224 |
225 |
226 |

Theoretical Resources

227 |
228 | 229 |
230 |
Impossibility of Distributed Consensus with One Faulty Process
231 |
232 | Fischer, Lynch, Patterson, 1985 233 | Advanced 234 |
235 |
236 | 237 | 238 | 239 | 240 | 241 | 5.0 242 |
243 |
244 | The seminal FLP impossibility result proving that consensus is impossible in asynchronous distributed systems with even a single faulty process. 245 |
246 | Download PDF 247 |
248 | 249 |
250 |
State Machine Replication Is More Expensive Than Consensus
251 |
252 | Karolos Antoniadis et al., 2018 253 | Advanced 254 |
255 |
256 | 257 | 258 | 259 | 260 | 261 | 5.0 262 |
263 |
264 | Theoretical analysis showing that state machine replication imposes additional costs beyond basic consensus. 265 |
266 | Download PDF 267 |
268 | 269 |
270 |
271 | 272 |
273 |

Practical Resources

274 |
275 | 276 | 277 |
278 |
Highly Available Transactions: Virtues and Limitations
279 |
280 | Hunt et al., 2010 281 | advanced 282 |
283 |
284 | 285 | 286 | 287 | 288 | 289 | 5.0 290 |
291 |
292 | We introduce a taxonomy of highly available systems and analyze existing ACID isolation and distributed data consistency guarantees to identify which can and cannot be 293 | achieved in HAT systems. This unifies the literature on weak transactional isolation, replica consistency, and highly available systems. 294 |
295 | Download PDF 296 |
297 |
298 |
299 |
300 |
301 | 302 | 303 | -------------------------------------------------------------------------------- /reading/database/index.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Database Systems Research Portal 26 | 226 | 227 | 228 |
229 | Back to Main Page 230 | 231 |
232 |

Database Systems Research

233 |

Explore cutting-edge database technologies by category

234 |
235 | 236 |
237 |
238 | 239 | 240 |
241 |

Query Optimization

242 |
243 |
244 |

Query planning, execution and cost-based optimization

245 |
246 |
247 | 248 | 249 | 250 |
251 |

Storage Engines

252 |
253 |
254 |

Redo mechanism, lock scheduling, transactions, reducing latch contention, LSM-trees, B-trees, and modern storage architectures

255 |
256 |
257 | 258 | 259 | 260 |
261 |

Consensus Algorithms

262 |
263 |
264 |

Paxos, Raft and distributed consensus protocols

265 |
266 |
267 | 268 | 269 | 270 |
271 |

Distributed Databases

272 |
273 |
274 |

Globally distributed systems with various consistency models

275 |
276 |
277 | 278 | 279 | 280 |
281 |

High Availability

282 |
283 |
284 |

Fault-tolerant architectures and replication techniques for mission-critical systems

285 |
286 |
287 | 288 | 289 | 290 |
291 |

OLAP & Analytics

292 |
293 |
294 |

Data warehousing and analytical processing systems

295 |
296 |
297 | 298 | 299 | 300 |
301 |

AI & Databases

302 |
303 |
304 |

Machine learning integration, autonomous databases and AI-powered optimization

305 |
306 |
307 | 308 | 309 | 310 |
311 |

Database Architecture

312 |
313 |
314 |

System design patterns and component organization

315 |
316 |
317 | 318 | 319 | 320 |
321 |

Database Performance

322 |
323 |
324 |

Benchmarking methodologies and optimization techniques

325 |
326 |
327 | 328 | 329 | 330 |
331 |

Database Testing

332 |
333 |
334 |

Verification and validation approaches for database systems

335 |
336 |
337 | 338 | 339 | 340 |
341 |

MySQL

342 |
343 |
344 |

InnoDB architecture, MySQL optimization, replication, and ecosystem tools

345 |
346 |
347 | 348 | 349 | 350 |
351 |

PostgreSQL

352 |
353 |
354 |

MVCC implementation, query planner, extensions, and advanced features

355 |
356 |
357 | 358 |
359 |
360 | 361 |
362 |

© 2025 Database Research Center | Academic Resources

363 |
364 |
365 | 366 | -------------------------------------------------------------------------------- /reading/database/olap_analytics.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | OLAP & Analytics Research Resources 26 | 27 | 230 | 231 | 232 |
233 | Back to Resources 234 | 235 |
236 |

OLAP & Analytics Research Resources

237 |

From theoretical foundations to practice

238 |
239 | 240 | 241 |
242 | 243 |
244 |

Theoretical Resources

245 |
246 |
247 |
Task Scheduling for Highly Concurrent Analytical Workloads
248 |
249 | I. Psaroudakis et al., 2013 250 | Intermediate 251 |
252 |
253 | 254 | 255 | 256 | 257 | 258 | 4.5 259 |
260 |
261 | Techniques for scheduling mixed analytical and transactional workloads in main-memory database systems. 262 |
263 | Download PDF 264 |
265 |
266 |
267 | 268 | 269 |
270 |

Practical Resources

271 |
272 |
273 |
The Design and Implementation of Modern Column-Stores
274 |
275 | Daniel Abadi et al., 2013 276 | Intermediate 277 |
278 |
279 | 280 | 281 | 282 | 283 | 284 | 4.5 285 |
286 |
287 | Exploration of column-oriented database architectures and their performance advantages for analytical workloads. 288 |
289 | Download PDF 290 |
291 | 292 |
293 |
Greenplum: A Hybrid Database for Transactional and Analytical Workloads
294 |
295 | ZHENGHUA LYU, 2021 296 | Intermediate 297 |
298 |
299 | 300 | 301 | 302 | 303 | 304 | 5.0 305 |
306 |
307 | In this paper, we augment Greenplum into a hybrid system to serve both OLTP and OLAP workloads. The challenge we address here is to achieve this goal while maintaining the ACID properties with minimal performance overhead. 308 |
309 | Download PDF 310 |
311 | 312 |
313 |
314 |
315 |
316 | 317 | 318 | -------------------------------------------------------------------------------- /reading/database/query_optimization.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Query Optimization Research Resources 26 | 27 | 231 | 232 | 233 |
234 | Back to Resources 235 | 236 |
237 |

Query Optimization Research Resources

238 |

From theoretical foundations to practice

239 |
240 | 241 | 242 |
243 |
244 |

Theoretical Resources

245 |
246 |
247 |
Dynamic Programming Strikes Back
248 |
249 | Moerkotte & Neumann, 2008 250 | Advanced 251 |
252 |
253 | 254 | 255 | 256 | 257 | 258 | 4.0 259 |
260 |
261 | Theoretical analysis of dynamic programming approaches for join ordering, challenging conventional wisdom about their limitations. 262 |
263 | Download PDF 264 |
265 | 266 |
267 |
An Overview of Query Optimization in Relational Systems
268 |
269 | Surajit Chaudhur, 1998 270 | Advanced 271 |
272 |
273 | 274 | 275 | 276 | 277 | 278 | 4.0 279 |
280 |
281 | The goal of this article is not to be comprehensive, but rather to explain the foundations and present samplings of significant work in this area. 282 |
283 | Download PDF 284 |
285 |
286 |
287 | 288 | 289 |
290 |

Practical Resources

291 |
292 |
293 |
How Good Are Query Optimizers, Really?
294 |
295 | Leis et al., 2015 296 | Beginner 297 |
298 |
299 | 300 | 301 | 302 | 303 | 304 | 5.0 305 |
306 |
307 | Comprehensive benchmark evaluating the effectiveness of join ordering in modern optimizers using complex real-world queries. 308 |
309 | Download PDF 310 |
311 | 312 |
313 |
A Survey on Advancing the DBMS Query Optimizer
314 |
315 | Lan et al., 2021 316 | Beginner 317 |
318 |
319 | 320 | 321 | 322 | 323 | 324 | 5.0 325 |
326 |
327 | Comprehensive survey covering cardinality estimation, cost modeling, and plan enumeration techniques used in modern database systems. 328 |
329 | Download PDF 330 |
331 | 332 |
333 |
Integrating the Orca Optimizer into MySQL
334 |
335 | Marathe et al., 2022 336 | Intermediate 337 |
338 |
339 | 340 | 341 | 342 | 343 | 344 | 4.5 345 |
346 |
347 | Case study of integrating a modern cost-based optimizer into a production RDBMS, discussing challenges and performance results. 348 |
349 | Download PDF 350 |
351 | 352 |
353 |
354 |
355 |
356 | 357 | 358 | -------------------------------------------------------------------------------- /reading/index.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Computer Learning Reading Materials 26 | 117 | 118 | 119 |
120 | <- Back to Main Page 121 |
122 |

Computer Learning Reading Materials

123 |

Browse research papers and recommended books by category

124 |
125 | 126 |
127 | 128 | 129 |
130 |

Database Systems

131 |
132 |
133 |

A wealth of research papers and practical books on database theory, implementation, and optimization, covering extensive content on MySQL, PostgreSQL, and distributed databases

134 |
135 |
136 | 137 | 138 | 139 |
140 |

Computer Networking

141 |
142 |
143 |

Resources on TCP/IP network protocols, RFC design, and network performance optimization

144 |
145 |
146 | 147 | 148 | 149 |
150 |

Artificial Intelligence

151 |
152 |
153 |

AI-based programming resources and papers that popularize AI knowledge.

154 |
155 |
156 | 157 | 158 | 159 |
160 |

Software Engineering

161 |
162 |
163 |

Papers and books on software architecture, performance optimization, code quality, debugging, testing, and root cause analysis.

164 |
165 |
166 | 167 | 168 | 169 |
170 |

Operating Systems

171 |
172 |
173 |

Research papers on operating systems closely related to development.

174 |
175 |
176 | 177 | 178 | 179 |
180 |

Distributed File Systems

181 |
182 |
183 |

Key papers on distributed file systems and architectures.

184 |
185 |
186 | 187 | 188 | 189 |
190 |

Computer Basics

191 |
192 |
193 |

Fundamental computer science concepts, data structures, algorithms and programming principles.

194 |
195 |
196 | 197 | 198 | 199 |
200 |

Mathematics

201 |
202 |
203 |

Essential mathematical foundations for computer science.

204 |
205 |
206 | 207 |
208 | 209 |
210 |

© 2025 Computer Learning Resource Center

211 |
212 |
213 | 214 | -------------------------------------------------------------------------------- /reading/math/index.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Math & CS Research Hub 26 | 27 | 224 | 225 | 226 |
227 | Back to Resources 228 | 229 |
230 |

Mathematics & Computer Science Resources

231 |

From theoretical foundations to practice

232 |
233 | 234 | 235 |
236 | 237 |
238 |

Theoretical Resources

239 |
240 |
241 |
Computational Complexity: A Modern Approach
242 |
243 | Arora & Barak, 2007 244 | Advanced 245 |
246 |
247 | 248 | 249 | 250 | 251 | 252 | 5.0 253 |
254 |
255 | A comprehensive introduction to computational complexity theory, covering P vs NP, circuit complexity, proof complexity, and more. 256 |
257 | Download PDF 258 |
259 | 260 |
261 |
Queueing Theory in Action
262 |
263 | Mor Harchol-Balter, 2013 264 | Advanced 265 |
266 |
267 | 268 | 269 | 270 | 271 | 272 | 5.0 273 |
274 |
275 | Fun and readable, the book is highly approachable, even for undergraduates, while still being thoroughly rigorous and also covering a much wider span of topics than many queueing books. 276 |
277 | Download PDF 278 |
279 |
280 | 281 | 282 |
283 | 284 | 285 |
286 |

Practical Resources

287 |
288 |
289 |
The Art and Craft of Problem Solving
290 |
291 | Paul Zeitz, 1999 292 | Beginner 293 |
294 |
295 | 296 | 297 | 298 | 299 | 300 | 5.0 301 |
302 |
303 | A book on problem-solving techniques and strategies that can be applied to mathematical and computational problems. 304 |
305 | Download PDF 306 |
307 | 308 |
309 |
Amdahl's Law for Tail Latency
310 |
311 | Y CHRISTINA DELIMITROU, 2018 312 | Advanced 313 |
314 |
315 | 316 | 317 | 318 | 319 | 320 | 5.0 321 |
322 |
323 | Queueing theoretic models can guide design trade-offs in systems targeting tail latency, not just average performance. 324 |
325 | Download PDF 326 |
327 | 328 |
329 |
330 |
331 |
332 | 333 | -------------------------------------------------------------------------------- /reading/software-engineering/index.html: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | Software Engineering Research Hub 26 | 27 | 222 | 223 | 224 |
225 | Back to Resources 226 | 227 |
228 |

Software Engineering Resources

229 |

From theoretical foundations to practice

230 |
231 | 232 | 233 | 234 |
235 | 236 |
237 |

Theoretical Resources

238 |
239 |
240 |
No Silver Bullet: Essence and Accidents of Software Engineering
241 |
242 | Fred Brooks, 1986 243 | Intermediate 244 |
245 |
246 | 247 | 248 | 249 | 250 | 251 | 5.0 252 |
253 |
254 | Brooks argues that there is no single development that will provide a productivity breakthrough of even one order of magnitude in software engineering. 255 |
256 | Download PDF 257 |
258 | 259 |
260 |
On the Criteria To Be Used in Decomposing Systems into Modules
261 |
262 | David Parnas, 1972 263 | Advanced 264 |
265 |
266 | 267 | 268 | 269 | 270 | 271 | 5.0 272 |
273 |
274 | This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. 275 |
276 | Download PDF 277 |
278 |
279 |
280 | 281 | 282 |
283 |

Practical Resources

284 |
285 |
286 |
The Art of Problem-Solving in Software Engineering: How to Make MySQL Better
287 |
288 | Bin Wang, 2024 289 | Beginner 290 |
291 |
292 | 293 | 294 | 295 | 296 | 297 | 5.0 298 |
299 |
300 | This book uses MySQL challenges as case studies to explore problem analysis and resolution strategies. Readers will gain a deeper appreciation for logical reasoning, data structures, algorithms, and more through practical examples and insightful discussions. 301 |
302 | View Github 303 |
304 | 305 |
306 |
Can we trust profiling results? Understanding and fixing the inaccuracy in modern profilers
307 |
308 | Mytkowicz et al., 2019 309 | Beginner 310 |
311 |
312 | 313 | 314 | 315 | 316 | 317 | 5.0 318 |
319 |
320 | A study on the inaccuracies in modern profilers and how to address them. 321 |
322 | Download PDF 323 |
324 | 325 |
326 |
Understanding and Detecting Real-World Performance Bugs
327 |
328 | Jin et al., 2012 329 | Intermediate 330 |
331 |
332 | 333 | 334 | 335 | 336 | 337 | 5.0 338 |
339 |
340 | This paper conducts a comprehensive study of 109 real-world performance bugs from five representative software suites (Apache, Chrome, GCC, Mozilla, and MySQL). 341 |
342 | Download PDF 343 |
344 | 345 |
346 |
Learning from Mistakes - A Comprehensive Study on Real World Concurrency Bug Characteristics
347 |
348 | Lu et al., 2008 349 | Intermediate 350 |
351 |
352 | 353 | 354 | 355 | 356 | 357 | 5.0 358 |
359 |
360 | This study analyzes real-world concurrency bugs from four representative applications to understand their characteristics and implications for concurrent programming models and bug detection techniques. 361 |
362 | Download PDF 363 |
364 | 365 |
366 |
Evaluating the accuracy of Java profilers
367 |
368 | Mytkowicz et al., 2010 369 | Intermediate 370 |
371 |
372 | 373 | 374 | 375 | 376 | 377 | 5.0 378 |
379 |
380 | A study on the accuracy of Java profilers and their limitations. 381 |
382 | Download PDF 383 |
384 |
385 |
386 |
387 |
388 | 389 | 390 | --------------------------------------------------------------------------------