@@ -2808,7 +2808,6 @@ <h3>General Python data resources</h3>
28082808 in scientific fields.</ p >
28092809</ li >
28102810</ ul >
2811- < h3 > What else would you like to learn about Python and data?</ h3 >
28122811 < h1 > Databases</ h1 >
28132812< p > A database is an abstraction on top of an operating system's file system to
28142813ease creating, reading, updating, and deleting persistent data. </ p >
@@ -3020,24 +3019,32 @@ <h2>Database resources</h2>
30203019</ li >
30213020</ ul >
30223021< h2 > Databases learning checklist</ h2 >
3023- < p > < i class ="fa fa-check-square-o "> </ i >
3024- Install PostgreSQL on your server. Assuming you went with Ubuntu run
3025- < code > sudo apt-get install postgresql</ code > .</ p >
3026- < p > < i class ="fa fa-check-square-o "> </ i >
3027- Make sure the < a href ="http://initd.org/psycopg/ "> psycopg2</ a > library is part of your
3028- application dependencies.</ p >
3029- < p > < i class ="fa fa-check-square-o "> </ i >
3030- Configure your web application to connect to the PostgreSQL instance.</ p >
3031- < p > < i class ="fa fa-check-square-o "> </ i >
3032- Create models in your ORM, either with Django's
3033- < a href ="https://docs.djangoproject.com/en/dev/topics/db/ "> built-in ORM</ a > or
3034- < a href ="http://www.sqlalchemy.org/ "> SQLAlchemy with Flask</ a > . </ p >
3035- < p > < i class ="fa fa-check-square-o "> </ i >
3036- Sync the ORM models with the PostgreSQL instance.</ p >
3037- < p > < i class ="fa fa-check-square-o "> </ i >
3038- Start creating, reading, updating and deleting data in the database from your
3039- web application.</ p >
3040- < h3 > What's next to get your app running?</ h3 >
3022+ < ol >
3023+ < li >
3024+ < p > Install PostgreSQL on your server. Assuming you went with Ubuntu run
3025+ < code > sudo apt-get install postgresql</ code > .</ p >
3026+ </ li >
3027+ < li >
3028+ < p > Make sure the < a href ="http://initd.org/psycopg/ "> psycopg2</ a > library is in your
3029+ application's dependencies.</ p >
3030+ </ li >
3031+ < li >
3032+ < p > Configure your web application to connect to the PostgreSQL instance.</ p >
3033+ </ li >
3034+ < li >
3035+ < p > Create models in your ORM, either with Django's
3036+ < a href ="https://docs.djangoproject.com/en/dev/topics/db/ "> built-in ORM</ a > or
3037+ < a href ="http://www.sqlalchemy.org/ "> SQLAlchemy with Flask</ a > . </ p >
3038+ </ li >
3039+ < li >
3040+ < p > Build your database tables or sync the ORM models with the PostgreSQL
3041+ instance, if you're using an ORM.</ p >
3042+ </ li >
3043+ < li >
3044+ < p > Start creating, reading, updating and deleting data in the database
3045+ from your web application.</ p >
3046+ </ li >
3047+ </ ol >
30413048 < h1 > NoSQL Data Stores</ h1 >
30423049< p > Relational databases store the vast majority of web application
30433050persistent data. However, there are several alternative classifications of
@@ -3058,16 +3065,26 @@ <h2>Key-value Pair</h2>
30583065on < a href ="http://en.wikipedia.org/wiki/Hash_table "> hash map</ a > data structures.</ p >
30593066< h3 > Key-value pair data stores</ h3 >
30603067< ul >
3061- < li > < a href ="http://redis.io/ "> Redis</ a > is an open source in-memory key-value pair data
3068+ < li >
3069+ < p > < a href ="http://redis.io/ "> Redis</ a > is an open source in-memory key-value pair data
30623070 store. Redis is often called "the Swiss Army Knife of web application
30633071 development." It can be used for caching, queuing, and storing session data
30643072 for faster access than a traditional relational database, among many other
30653073 use cases. < a href ="https://github.com/andymccurdy/redis-py "> Redis-py</ a > is a solid
3066- Python client to use with Redis.</ li >
3074+ Python client to use with Redis.</ p >
3075+ </ li >
3076+ < li >
3077+ < p > < a href ="http://www.memcached.org/ "> Memcached</ a > is another widely used in-memory
3078+ key-value pair storage system.</ p >
3079+ </ li >
30673080</ ul >
30683081< h3 > Key-value pair resources</ h3 >
30693082< ul >
30703083< li >
3084+ < p > < a href ="http://dba.stackexchange.com/questions/607/what-is-a-key-value-store-database "> What is a key-value store database?</ a >
3085+ is a Stack Overflow Q&A that straight on answers this subject.</ p >
3086+ </ li >
3087+ < li >
30713088< p > "< a href ="https://www.digitalocean.com/community/tutorials/how-to-install-and-use-redis "> How To Install and Use Redis</ a > "
30723089 is a guide for getting up with the extremely useful in-memory data store.</ p >
30733090</ li >
@@ -3211,20 +3228,25 @@ <h2>NoSQL data store resources</h2>
32113228</ li >
32123229</ ul >
32133230< h2 > NoSQL data stores learning checklist</ h2 >
3214- < p > < i class ="fa fa-check-square-o "> </ i >
3215- Understand why NoSQL data stores are better for some use cases than relational
3216- databases. In general these benefits are only seen at large scale so they may
3217- not be applicable to your web application.</ p >
3218- < p > < i class ="fa fa-check-square-o "> </ i >
3219- Integrate Redis into your project for a speed boost over slower persistent
3220- storage. Storing session data in memory is generally much faster than saving
3221- that data in a traditional relational database that uses persistent storage.
3222- Note that when memory is flushed the data goes away so anything that needs to
3223- be persistent must still be backed up to disk on a regular basis.</ p >
3224- < p > < i class ="fa fa-check-square-o "> </ i >
3225- Evaluate other use cases such as storing transient logs in document-oriented
3226- data stores such as MongoDB.</ p >
3227- < h3 > What's next?</ h3 >
3231+ < ol >
3232+ < li >
3233+ < p > Understand why NoSQL data stores are better for some use cases than
3234+ relational databases. In general these benefits are only seen at large
3235+ scale so they may not be applicable to your web application.</ p >
3236+ </ li >
3237+ < li >
3238+ < p > Integrate Redis into your project for a speed boost over slower persistent
3239+ storage. Storing session data in memory is generally much faster than
3240+ saving that data in a traditional relational database that uses persistent
3241+ storage. Note that when memory is flushed the data goes away so anything
3242+ that needs to be persistent must still be backed up to disk on a regular
3243+ basis.</ p >
3244+ </ li >
3245+ < li >
3246+ < p > Evaluate other use cases such as storing transient logs in a
3247+ document-oriented data store such as MongoDB.</ p >
3248+ </ li >
3249+ </ ol >
32283250 < h1 > Application Programming Interfaces</ h1 >
32293251< p > Application programming interfaces (APIs) provide machine-readable
32303252data transfer and signaling between applications.</ p >
0 commit comments