Skip to content

Commit ba71f06

Browse files
committed
new nosql resources
1 parent 494ba3c commit ba71f06

File tree

2 files changed

+88
-80
lines changed

2 files changed

+88
-80
lines changed

all.html

Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -8484,8 +8484,8 @@ <h3>Peewee resources</h3>
84848484
</li>
84858485
</ul>
84868486
<h1>NoSQL Data Stores</h1>
8487-
<p>Relational databases store the vast majority of web application
8488-
persistent data. However, there are several alternative classifications of
8487+
<p>Relational databases store the vast majority of web application
8488+
persistent data. However, there are several alternative classifications of
84898489
storage representations.</p>
84908490
<ol>
84918491
<li>Key-value pair</li>
@@ -8494,7 +8494,7 @@ <h1>NoSQL Data Stores</h1>
84948494
<li>Graph</li>
84958495
</ol>
84968496
<p>These persistent data storage representations are commonly used to augment,
8497-
rather than completely replace, relational databases. The underlying
8497+
rather than completely replace, relational databases. The underlying
84988498
persistence type used by the NoSQL database often gives it different
84998499
performance characteristics than a relational database, with better results
85008500
on some types of read/writes and worse performance on others.</p>
@@ -8504,9 +8504,9 @@ <h2>Key-value Pair</h2>
85048504
<h3>Key-value pair data stores</h3>
85058505
<ul>
85068506
<li>
8507-
<p><a href="http://redis.io/">Redis</a> is an open source in-memory key-value pair data
8507+
<p><a href="http://redis.io/">Redis</a> is an open source in-memory key-value pair data
85088508
store. Redis is often called "the Swiss Army Knife of web application
8509-
development." It can be used for caching, queuing, and storing session data
8509+
development." It can be used for caching, queuing, and storing session data
85108510
for faster access than a traditional relational database, among many other
85118511
use cases. <a href="https://github.com/andymccurdy/redis-py">Redis-py</a> is a solid
85128512
Python client to use with Redis.</p>
@@ -8532,7 +8532,7 @@ <h3>Redis resources</h3>
85328532
is a guide for getting up with the extremely useful in-memory data store.</p>
85338533
</li>
85348534
<li>
8535-
<p>This video on
8535+
<p>This video on
85368536
<a href="https://www.youtube.com/watch?v=rP9EKvWt0zo">Scaling Redis at Twitter</a> is
85378537
a detailed look behind the scenes with a massive Redis deployment.</p>
85388538
</li>
@@ -8576,28 +8576,28 @@ <h3>Redis Security</h3>
85768576
<li>
85778577
<p>Redis, just as with any relational or NoSQL database, needs to be secured
85788578
based on <a href="http://www.antirez.com/news/96">security guidelines</a>. There is
8579-
also a post where the main author of Redis
8579+
also a post where the main author of Redis
85808580
<a href="http://www.antirez.com/news/96">cracks its security</a> to show the tradeoffs
85818581
purposely made between ease of use and security in the default settings.</p>
85828582
</li>
85838583
<li>
85848584
<p><a href="https://www.isredisallsafe.com/">Is your Redis server safe?</a> is a tool
8585-
to test that your Redis instances are locked down. The tool is based on
8586-
the blog post
8585+
to test that your Redis instances are locked down. The tool is based on
8586+
the blog post
85878587
<a href="http://www.antirez.com/news/96">a few things about Redis security</a>.</p>
85888588
</li>
85898589
</ul>
85908590
<h2>Document-oriented</h2>
85918591
<p>A document-oriented database provides a semi-structured representation for
8592-
nested data. </p>
8592+
nested data.</p>
85938593
<h3>Document-oriented data stores</h3>
85948594
<ul>
85958595
<li>
8596-
<p><a href="http://www.mongodb.org/">MongoDB</a> is an open source document-oriented
8597-
data store with a Binary Object Notation (BSON) storage format that is
8598-
JSON-style and familiar to web developers.
8596+
<p><a href="http://www.mongodb.org/">MongoDB</a> is an open source document-oriented
8597+
data store with a Binary Object Notation (BSON) storage format that is
8598+
JSON-style and familiar to web developers.
85998599
<a href="http://docs.mongodb.org/ecosystem/drivers/python/">PyMongo</a> is a
8600-
commonly used client for interfacing with one or more MongoDB
8600+
commonly used client for interfacing with one or more MongoDB
86018601
instances through Python code. <a href="http://mongoengine.org/">MongoEngine</a>
86028602
is a Python ORM specifically written for MongoDB that is built on top
86038603
of PyMongo.</p>
@@ -8608,14 +8608,14 @@ <h3>Document-oriented data stores</h3>
86088608
</li>
86098609
<li>
86108610
<p><a href="http://couchdb.apache.org/">Apache CouchDB</a> is also an open source project
8611-
where the focus is on embracing RESTful-style HTTP access for working with
8611+
where the focus is on embracing RESTful-style HTTP access for working with
86128612
stored JSON data.</p>
86138613
</li>
86148614
</ul>
86158615
<h3>Document-oriented data store resources</h3>
86168616
<ul>
86178617
<li>
8618-
<p><a href="http://www.optinidus.com/blogs/guide-to-mongodb-for-startups/">MongoDB for startups</a>
8618+
<p><a href="http://www.optinidus.com/blogs/guide-to-mongodb-for-startups/">MongoDB for startups</a>
86198619
is a guide about using non-relational databases in green field environments.</p>
86208620
</li>
86218621
<li>
@@ -8629,9 +8629,9 @@ <h3>Document-oriented data store resources</h3>
86298629
</ol>
86308630
</li>
86318631
<li>
8632-
<p>The
8633-
<a href="https://talkpython.fm/episodes/show/2/python-and-mongodb">Python and MongoDB</a>
8634-
Talk Python to Me podcast has a great interview with the maintainer of the
8632+
<p>The
8633+
<a href="https://talkpython.fm/episodes/show/2/python-and-mongodb">Python and MongoDB</a>
8634+
Talk Python to Me podcast has a great interview with the maintainer of the
86358635
Python driver for MongoDB.</p>
86368636
</li>
86378637
<li>
@@ -8640,6 +8640,10 @@ <h3>Document-oriented data store resources</h3>
86408640
shows some potential pitfalls of relying on technologies where you do
86418641
not fully understand how they operate.</p>
86428642
</li>
8643+
<li>
8644+
<p><a href="https://realpython.com/blog/python/introduction-to-mongodb-and-python/">Introduction to MongoDB and Python</a>
8645+
shows how to use Python to interface with MongoDB via PyMongo and MongoEngine.</p>
8646+
</li>
86438647
</ul>
86448648
<h2>Column-family table</h2>
86458649
<p>A column-family table class of NoSQL data stores builds on the key-value
@@ -8656,17 +8660,17 @@ <h3>Column-family table data stores</h3>
86568660
</ul>
86578661
<h2>Graph</h2>
86588662
<p>A graph database represents and stores data in three aspects: nodes, edges
8659-
and properties. </p>
8660-
<p>A <em>node</em> is an entity, such as a person or business. </p>
8661-
<p>An <em>edge</em> is the relationship between two entities. For example, an
8662-
edge could represent that a node for a person entity is an employee of a
8663-
business entity. </p>
8664-
<p>A <em>property</em> represents information about nodes. For example, an entity
8663+
and properties.</p>
8664+
<p>A <em>node</em> is an entity, such as a person or business.</p>
8665+
<p>An <em>edge</em> is the relationship between two entities. For example, an
8666+
edge could represent that a node for a person entity is an employee of a
8667+
business entity.</p>
8668+
<p>A <em>property</em> represents information about nodes. For example, an entity
86658669
representing a person could have a property of "female" or "male".</p>
86668670
<h3>Graph data stores</h3>
86678671
<ul>
86688672
<li>
8669-
<p><a href="http://www.neo4j.org/">Neo4j</a> is one of the most widely used graph
8673+
<p><a href="http://www.neo4j.org/">Neo4j</a> is one of the most widely used graph
86708674
databases and runs on the Java Virtual Machine stack.</p>
86718675
</li>
86728676
<li>
@@ -8681,7 +8685,7 @@ <h3>Graph data stores</h3>
86818685
<h3>Graph data store resources</h3>
86828686
<ul>
86838687
<li><a href="http://www.slideshare.net/maxdemarzi/introduction-to-graph-databases-12735789">Introduction to Graph Databases</a>
8684-
covers trends in NoSQL data stores and compares graph databases to other
8688+
covers trends in NoSQL data stores and compares graph databases to other
86858689
data store types.</li>
86868690
</ul>
86878691
<h2>NoSQL third-party services</h2>
@@ -8694,7 +8698,7 @@ <h2>NoSQL data store resources</h2>
86948698
<li>
86958699
<p><a href="http://www.thoughtworks.com/insights/blog/nosql-databases-overview">NoSQL databases: an overview</a>
86968700
explains what NoSQL means, how data is stored differently than in
8697-
relational systems and what the Consistency, Availability and
8701+
relational systems and what the Consistency, Availability and
86988702
Partition-Tolerance (CAP) Theorem means.</p>
86998703
</li>
87008704
<li>
@@ -8708,12 +8712,12 @@ <h2>NoSQL data store resources</h2>
87088712
</li>
87098713
<li>
87108714
<p>The <a href="http://blog.thislongrun.com/2015/03/the-cap-theorem-series.html">CAP Theorem series</a>
8711-
explains concepts related to NoSQL such as what is ACID compared to CAP, CP
8715+
explains concepts related to NoSQL such as what is ACID compared to CAP, CP
87128716
versus CA and high availability in large scale deployments.</p>
87138717
</li>
87148718
<li>
8715-
<p><a href="http://www.nosqlweekly.com/">NoSQL Weekly</a> is a free curated email
8716-
newsletter that aggregates articles, tutorials, and videos about
8719+
<p><a href="http://www.nosqlweekly.com/">NoSQL Weekly</a> is a free curated email
8720+
newsletter that aggregates articles, tutorials, and videos about
87178721
non-relational data stores.</p>
87188722
</li>
87198723
<li>
@@ -8724,7 +8728,7 @@ <h2>NoSQL data store resources</h2>
87248728
<li>
87258729
<p>Relational databases such as MySQL and PostgreSQL have added features in
87268730
more recent versions that mimic some of the capabilities of NoSQL data
8727-
stores. For example, check out this blog post on
8731+
stores. For example, check out this blog post on
87288732
<a href="http://engineering.wix.com/2015/12/10/scaling-to-100m-mysql-is-a-better-nosql/">using MySQL as a key-value pair store</a>
87298733
and this post on
87308734
<a href="https://blog.codeship.com/unleash-the-power-of-storing-json-in-postgres/">storing JSON data in PostgreSQL</a>.</p>
@@ -8733,20 +8737,20 @@ <h2>NoSQL data store resources</h2>
87338737
<h2>NoSQL data stores learning checklist</h2>
87348738
<ol>
87358739
<li>
8736-
<p>Understand why NoSQL data stores are better for some use cases than
8737-
relational databases. In general these benefits are only seen at large
8740+
<p>Understand why NoSQL data stores are better for some use cases than
8741+
relational databases. In general these benefits are only seen at large
87388742
scale so they may not be applicable to your web application.</p>
87398743
</li>
87408744
<li>
8741-
<p>Integrate Redis into your project for a speed boost over slower persistent
8742-
storage. Storing session data in memory is generally much faster than
8743-
saving that data in a traditional relational database that uses persistent
8744-
storage. Note that when memory is flushed the data goes away so anything
8745-
that needs to be persistent must still be backed up to disk on a regular
8745+
<p>Integrate Redis into your project for a speed boost over slower persistent
8746+
storage. Storing session data in memory is generally much faster than
8747+
saving that data in a traditional relational database that uses persistent
8748+
storage. Note that when memory is flushed the data goes away so anything
8749+
that needs to be persistent must still be backed up to disk on a regular
87468750
basis.</p>
87478751
</li>
87488752
<li>
8749-
<p>Evaluate other use cases such as storing transient logs in a
8753+
<p>Evaluate other use cases such as storing transient logs in a
87508754
document-oriented data store such as MongoDB.</p>
87518755
</li>
87528756
</ol>

0 commit comments

Comments
 (0)