This commit is contained in:
2025-07-18 23:13:11 +02:00
parent c9485bf576
commit 652812eed0
2354 changed files with 1266414 additions and 1 deletions

272
html/nosqlguides.md2.html Normal file
View File

@@ -0,0 +1,272 @@
<h1 id="awesome-nosql-guides-awesome">Awesome NoSQL Guides <a
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></h1>
<blockquote>
<p>Curated list of resources and links about <em>using</em> NoSQL
databases and things to look for when deciding to use one.</p>
</blockquote>
<p>A basic definition of NoSQL databases can be found on Wikipedia
as:</p>
<blockquote>
<p>“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.”</p>
</blockquote>
<p>For actual NoSQL databases, you can go <a
href="https://github.com/sindresorhus/awesome#databases">here</a>, <a
href="https://hostingdata.co.uk/nosql-database/">here</a>, <a
href="https://db-engines.com/en/ranking">here</a>, <a
href="https://dbdb.io/">here</a>, <a
href="https://github.com/igorbarinov/awesome-data-engineering#databases">here</a>,
or <a href="https://github.com/kahun/awesome-sysadmin#nosql">here</a>.
Also, not to be confused with the relational database management system,
<a
href="http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nosql/Home%20Page">NoSQL</a>.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#overview-of-nosql">Overview of NoSQL</a></li>
<li><a href="#data-structures-and-modeling">Data Structures and
Modeling</a></li>
<li><a href="#trade-offs-in-capbrewers-theorem">Trade-Offs in
CAP/Brewers Theorem</a></li>
<li><a href="#crowd-sourced-information">Crowd-Sourced
Information</a></li>
<li><a href="#graph-databases">Graph Databases</a></li>
<li><a href="#criticisms-and-debates">Criticisms and Debates</a></li>
<li><a href="#miscellaneous">Miscellaneous</a></li>
</ul>
<h2 id="overview-of-nosql">Overview of NoSQL</h2>
<ul>
<li><a href="https://www.youtube.com/watch?v=qI_g07C_Q5I">Introduction
To NoSQL - Martin Fowler (54:52)</a> - 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.</li>
<li><a href="https://martinfowler.com/books/nosql.html">NoSQL
Distilled</a> - 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.</li>
<li><a href="https://www.youtube.com/watch?v=jyx8iP5tfCI">Seven
Databases in Song (1:43)</a> - Fun song from 2012 about seven (six are
NoSQL) databases with a very condensed overview of how they each
work.</li>
<li><a
href="https://medium.baqend.com/nosql-databases-a-survey-and-decision-guidance-ea7823a822d">NoSQL
Databases: a Survey and Decision Guidance (2016)</a> - “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”.</li>
<li><a
href="http://www.cs.umd.edu/~abadi/papers/abadi-cloud-ieee09.pdf">Data
Management in the Cloud: Limitations and Opportunities (PDF)</a> - Abadi
(2009) discusses limitations and opportunities of data management and
data analysis in the cloud.</li>
<li><a
href="https://web.archive.org/web/20210701080816/https://www.dummies.com/programming/big-data/10-nosql-misconceptions/">10
NoSQL Misconceptions</a> - Some misconceptions about NoSQL databases
relating to topics such as what they are, ACID-compliance, and
security.</li>
<li><a
href="https://web.archive.org/web/20210701080841/https://www.dummies.com/programming/big-data/10-reasons-developers-love-nosql/">10
Reasons Developers Love NoSQL</a> - A list of ten arguments for why
developers like to use NoSQL databases.</li>
<li><a
href="https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=90909">Distribution,
Data, Deployment: Software Architecture Convergence in Big Data Systems
(PDF)</a> - 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 <a
href="https://doi.org/10.1109/MS.2014.51">here</a>.</li>
<li><a
href="https://stackoverflow.com/questions/2875432/use-cases-for-nosql">Use
cases for NoSQL (2017)</a> - Discussion on Stack Overflow on best use
cases for using NoSQL databases over traditional SQL databases.</li>
<li><a
href="https://shopify.engineering/five-common-data-stores-usage">Five
Common Data Stores and When to Use Them (2019)</a> - Article describes
five common data stores (relational database, non-relational (“NoSQL”)
database, key-value store, full-text search engine, message queue) and
their attributes.</li>
<li><a
href="https://web.archive.org/web/20190927222738/https://www.christof-strauch.de/nosqldbs.pdf">NoSQL
Databases (PDF)</a> - A 149-page document outlining motives and
rationale for NoSQL databases, and common concepts, techniques and
patterns among these databases; last updated around 2011.</li>
<li><a
href="https://www.dataversity.net/nosql-data-architecture-data-governance-everything-need-know/">NoSQL
Data Architecture &amp; Data Governance: Everything You Need to Know
(2018)</a> - Overview of different NoSQL database architectures with
diagrams.</li>
<li><a
href="https://build5nines.com/nosql-vs-sql-demystifying-nosql-databases/">NoSQL
vs SQL: Demystifying NoSQL Databases (2019)</a> - General overview and
examples of NoSQL database schema types, while covering CAP theorem
tradeoffs.</li>
<li><a
href="https://www.prisma.io/dataguide/intro/comparing-database-types">Comparing
Database Types: How Database Types Evolved to Meet Different Needs</a> -
Good overview of databases in general and how NoSQL database types
differ and can be useful.</li>
<li><a href="https://www.aosabook.org/en/nosql.html">The NoSQL
Ecosystem</a> - A chapter written by Adam Marcus from “The Architecture
of Open Source Applications” book, this chapter is geared more towards
systems architects needing to learn more in-depth understanding of how
these systems are built.</li>
<li><a href="https://aws.amazon.com/nosql/">What is NoSQL - Amazon
AWS</a> - Great high-level overview of NoSQL databases and how they
compare to SQL database technologies and terminologies. Serves as
landing page for Amazons AWS services for NoSQL options of key-value
(Amazon DynamoDB), document (Amazon DocumentDB), graph (Amazon Neptune),
in-memory (Amazon ElastiCache), and search-engine (Amazon Elasticsearch)
database.</li>
<li><a href="https://www.upwork.com/resources/nosql-vs-sql">NoSQL
vs. SQL: Important Differences &amp; Which One Is Best for Your Project
(2021) - Upwork</a> - Explanation comparing SQL and NoSQL databases,
along with giving some advice on what database solution is right for
your use case.</li>
<li><a href="https://www.youtube.com/watch?v=xh4gy1lbL2k">NoSQL Database
Tutorial Full Course for Beginners (2:54:52)</a> - Ania Kubow reviews
the four types of NoSQL databases and provides two hands-on projects to
experiment with what was reviewed.</li>
</ul>
<h2 id="data-structures-and-modeling">Data Structures and Modeling</h2>
<ul>
<li><a
href="https://firebase.google.com/docs/database/android/structure-data">Structure
Your Database</a> - Best practices (as of 2018) of structuring your data
if your database uses JSON.</li>
<li><a
href="https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/">NoSQL
Data Modeling Techniques (2012)</a> - This article provides a short
comparison of NoSQL system families from the data modeling point of view
and digests several common modeling techniques.</li>
<li><a href="https://www.mongodb.com/docs/manual/data-modeling/">Data
Models For MongoDB</a> - Data modeling help specific to MongoDB, ranging
from schema validation and example patterns. However, concepts may carry
over to other document NoSQL databases.</li>
<li><a
href="https://tdwi.org/articles/2016/11/22/data-models-will-be-beautiful-again.aspx">Data
Models Will Be Beautiful Again (2016)</a> - Essay argues that despite
existing schema-less databases, thoughtful database modeling is
important to gain knowledge and insights using algorithms.</li>
<li><a
href="https://www.infoq.com/articles/unified-data-modeling-for-relational-and-nosql-databases/">Unified
Data Modeling for Relational and NoSQL Databases</a> - Solution for
managing both NoSQL and relational databases using the Unified Data
Modeling technique.</li>
<li><a
href="https://fauna.com/blog/unifying-relational-document-graph-and-temporal-data-models">Unifying
Relational, Document, Graph, and Temporal Data Models</a> - Patterns for
querying across multiple paradigms in the same database.</li>
<li><a
href="https://www.dataversity.net/how-to-design-schema-for-your-nosql-database/#">How
To Design Schema For Your NoSQL Database?</a> - Despite popular belief
that NoSQL are schema-less, this article outlines how NoSQL databases
follow “query driven design” and considerations for this flexibility in
schema.</li>
<li><a
href="https://softwareengineering.stackexchange.com/q/158790/">Best
Practices for NoSQL Database Design (2012)</a> - A couple answers and
links for NoSQL database design.</li>
</ul>
<h2 id="trade-offs-in-capbrewers-theorem">Trade-Offs in CAP/Brewers
Theorem</h2>
<ul>
<li><a
href="http://blog.nahurst.com/visual-guide-to-nosql-systems">Visual
Guide To NoSQL Systems (2010)</a> - Visual display of trade-offs in the
CAP theorem among different NoSQL databases.</li>
<li><a
href="https://www.dataversity.net/choose-right-nosql-database-application/">How
to Choose The Right NoSQL Database For Your Application? (2018)</a> -
Reviews CAP theorem and maps common NoSQL databases to CAP categories to
help choose one.</li>
</ul>
<h2 id="crowd-sourced-information">Crowd-Sourced Information</h2>
<ul>
<li><a href="https://www.reddit.com/r/nosql/">/r/nosql</a> - Reddit page
on NoSQL on general questions and discussions people may have about
NoSQL databases.</li>
<li><a href="https://stackoverflow.com/tags/nosql/info">[nosql] Tag On
Stack Overflow</a></li>
<li><a href="https://news.ycombinator.com/item?id=15427932">Ask HN:
Learning NoSQL, Papers and Books (2017)</a> - “In your opinion, which
papers and books are mandatory to really understand NoSQL subject?”</li>
<li><a href="https://stackoverflow.com/q/11707879/6873133">Difference
Between Scaling Horizontally And Vertically For Databases</a> - Common
terms talked about in the database world and here are answers from
others.</li>
<li><a href="https://en.wikipedia.org/wiki/NoSQL">NoSQL - Wikipedia</a>
- Wikipedia entry on all things NoSQL databases.</li>
</ul>
<h2 id="graph-databases">Graph Databases</h2>
<ul>
<li><a href="https://neo4j.com/use-cases/">Graph Databases Use Cases</a>
- Although documents geared towards Neo4j, concepts are applicable to
all graph databases.</li>
<li><a href="https://www.youtube.com/watch?v=S20XMQyvANY">How The ICIJ
Used Neo4j To Unravel The Panama Papers - Mar Cabra (32:02)</a> - 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.</li>
<li><a href="https://neo4j.com/blog/data-modeling-basics/">Graph
Databases For Beginners: The Basics Of Data Modeling</a> - Discusses the
basics of modeling your data and which approach you should take.</li>
<li><a href="https://neo4j.com/developer/guide-data-modeling/">Graph
Data Modeling Guidelines</a> - Directly related to Neo4j, but possibly
applicable to any graph database.</li>
<li><a href="http://www.graphdatamodeling.com">Graph Data Modeling
Visualize Structure and Meaning</a> - Brief introduction to graph data
modeling and is an introduction to the book “Graph Data Modeling for
NoSQL and SQL” by Thomas Frisendal.</li>
</ul>
<h2 id="criticisms-and-debates">Criticisms and Debates</h2>
<ul>
<li><a
href="https://www.bradley-holt.com/2011/07/addressing-the-nosql-criticism/">Addressing
the NoSQL Criticism (2011)</a> - Argues against nine criticisms to NoSQL
databases as they apply to CouchDB, but may apply to others as
well.</li>
<li><a
href="https://web.archive.org/web/20200913032621/https://www.memsql.com/blog/why-nosql-databases-wrong-tool-for-modern-application/">Thank
You For Your Help NoSQL, But We Got It From Here (2020)</a> - 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).</li>
<li><a
href="https://sookocheff.com/post/opinion/the-five-stages-of-nosql/">The
Five Stages Of NoSQL (2016)</a> - Stages of going through picking and
using a NoSQL database mirroring the five stages of grief.</li>
<li><a
href="https://dzone.com/articles/the-biggest-challenges-of-moving-to-nosql">The
Biggest Challenges Of Moving To NoSQL (2017)</a> - Speed and scalability
and developer joy have been the gains found from enduring through
challenges of moving to NoSQL.</li>
</ul>
<h2 id="miscellaneous">Miscellaneous</h2>
<ul>
<li><a
href="https://web.archive.org/web/20201109032031/https://jeffknupp.com/blog/2014/09/01/what-is-a-nosql-database-learn-by-writing-one-in-python/">What
As A NoSQL Database? Learn By Writing One In Python</a> - Excellent
tutorial in learning NoSQL vs RDBMS through building a toy database
using Python.</li>
<li><a
href="https://sujithjay.com/data-systems/dynamo-cassandra/">Dynamo Vs
Cassandra : Systems Design Of NoSQL Databases</a> - Blog post comparing
and constrating system designs of two well known NoSQL databases.</li>
<li><a
href="https://medium.com/@marceloboeira/why-you-should-build-your-own-nosql-database-9bbba42039f5">Why
You Should Build Your Wwn NoSQL Database</a> - Brief overview of NoSQL
databases and the spectrum of schema, along with a very basic
implementation of a NoSQL database using the Crystal programming
language.</li>
<li><a
href="https://www.linuxjournal.com/content/postgresql-nosql-database">PostgreSQL,
The NoSQL Database (2015)</a> - An argument for PostgreSQL being an
alternative to NoSQL databases with NoSQL-like features using its new
features like HStore (key-value store) and JSONB (document-based) as of
Version 9.4.</li>
</ul>
<p><a
href="https://github.com/erictleung/awesome-nosql-guides">nosqlguides.md
Github</a></p>