"A NoSQL (originally referring to 'non SQL' or 'non relational') database provides a mechanism for storage and retrieval of data which is modeled in means other than the tabular relations used in relational databases." — Wikipedia
Curated list of resources and links about using NoSQL databases and things to look for when deciding to use one.
- Overview of NoSQL
- Data Structures and Modeling
- Trade-Offs in CAP/Brewer's Theorem
- Crowd-Sourced Information
- Graph Databases
- Criticisms and Debates
Overview of NoSQL
- Introduction To NoSQL - Martin Fowler (54:52) - Talk given at GOTO 2012 as a great introduction to NoSQL databases, the types of NoSQL databases, their history, pros and cons, and how and when to use them.
- NoSQL Distilled - Very digestable and affordable book describing the different NoSQL databases and help you make the decision on whether using a NoSQL database is appropriate for your project.
- Seven Databases in Song (1:43) - Fun song from 2012 about seven (six are NoSQL) databases with a very condensed overview of how they each work.
- NoSQL Databases: a Survey and Decision Guidance (2016) - "This NoSQL Toolbox allows us to derive a simple decision tree to help practitioners and researchers filter potential system candidates based on central application requirements."
- Data Management in the Cloud: Limitations and Opportunities (PDF) - Abadi (2009) discusses limitations and opportunities of data management and data analysis in the cloud.
- 10 NoSQL Misconceptions - Some misconceptions about NoSQL databases relating to topics such as what they are, ACID-compliance, and security.
- 10 Reasons Developers Love NoSQL - A list of ten arguments for why developers like to use NoSQL databases.
- Distribution, Data, Deployment: Software Architecture Convergence in Big Data Systems (PDF) - Gorton and Klein (2014) paper to discuss software engineering concerns when dealing with big data systems in terms of distribution, data, and deployment. Also accessible here, along with a presentation overview of the original paper.
- Use cases for NoSQL (2017) - Discussion on Stack Overflow on best use cases for using NoSQL databases over traditional SQL databases.
- Best Practices for NoSQL Database Design (2012) - A couple answers and links for NoSQL database design.
Data Structures and Modeling
- Structure Your Database (Last updated 2018) - Best practices of structuring your data if your database uses JSON. Here's an older version of this guide from 2016.
- NoSQL Data Modeling Techniques (2012) - This articles provides a short comparison of NoSQL system families from the data modeling point of view and digests several common modeling techniques.
- Data Models for MongoDB - Data modeling help specific to MongoDB, ranging from schema validation and example patterns. However, concepts may carry over to other document NoSQL databases.
- Data Models Will Be Beautiful Again (2016) - Essay argues that despite existing schema-less databases, thoughtful database modeling is important to gain knowledge and insights using algorithms.
- Unified Data Modeling for Relational and NoSQL Databases - Solution for managing both NoSQL and relational databases using the Unified Data Modeling technique.
Trade-Offs in CAP/Brewer's Theorem
- Visual Guide to NoSQL Systems (2010) - Visual display of trade-offs in the CAP theorem among different NoSQL databases.
- /r/nosql - Reddit page on NoSQL on general questions and discussions people may have about NoSQL databases.
- [nosql] tag on Stack Overflow
- Ask HN: Learning NoSQL, papers and books (2017) - "In your opinion, which papers and books are mandatory to really understand NoSQL subject?"
- Graph Databases Use Cases - Although documents geared towards Neo4j, concepts are applicable to all graph databases.
- How the ICIJ Used Neo4j to Unravel the Panama Papers - Mar Cabra (32:02) - Learn how graph databases were key to explore who were the main names connected to companies in tax havens, including 140 politicians in more than 50 countries.
- Graph Databases for Beginners: The Basics of Data Modeling - Discusses the basics of modeling your data and which approach you should take.
- Graph Data Modeling Guidelines - Directly related to Neo4j, but possibly applicable to any graph database.
- Graph Data Modeling Visualize Structure and Meaning - Brief introduction to graph data modeling and is an introduction to the book, "Graph Data Modeling for NoSQL and SQL" by Thomas Frisendal.
Criticisms and Debates
- Addressing the NoSQL Criticism (2011) - Argues against nine criticisms to NoSQL databases as they apply to CouchDB, but may apply to others as well.
- Thank You for Your Help NoSQL, but We Got It from Here (2018) - Argument that NoSQL databases have pushed the evolution of databases given the problem of scaling, but now NewSQL has addressed those concerns (from the perspective of MemSQL).
- The Five Stages of NoSQL (2016) - Stages of going through picking and using a NoSQL database mirroring the five stages of grief.
- The Biggest Challenges of Moving to NoSQL (2017) - Speed and scalability and developer joy have been the gains found from enduring through challenges of moving to NoSQL.
To the extent possible under law, Eric Leung has waived all copyright and related or neighboring rights to this work.