NoSQL
NoSQL is a trend which has evolved into a loosely organized movement based on the fact that SQL (designed in the 1960s-1970s) is limited in function for today's modern applications and is based on an outdated view of hardware where computing power was much lower and storage per system was much, much smaller and significantly more expensive than modern hardware. This is mostly thanks to Moore's Law which states that computing power will double every year.
NoSQL especially addresses the issue of Metcalfe's Law and the Viral effects present in many modern Web Applications, where traffic to Web Servers tends to be sporadic and bursty in nature, spiking when certain pieces of content are published, or, when an old item of content is shared via a Social Network. It is sometimes referred to as schemaless design or schemaless database because of its lack of a traditional relational database structure where tables are mapped to one another via forieng keys and a specific itempotency and/or reciprocity (i.e. 1:1, 1:n, n:1, n:n).
Datastores
Hierarchical
HDF 5
- Hierarchical Data Format (HDF) 5: http://www.hdfgroup.org/HDF5/
Document
existDB
"XML document-store" driven database solution.
- eXistDB: http://www.exist-db.org/
CouchDB
Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. CouchDB also offers incremental replication with bi-directional conflict detection and resolution.
- CouchDB: http://couchdb.apache.org/
MongoDB
MongoDB bridges the gap between key-value stores (which are fast and highly scalable), document stores (which are lightweight) and traditional RDBMS systems (which provide rich queries and deep functionality).
- MongoDB: http://www.mongodb.org/[1]
- MongoDB Architecture: https://www.mongodb.com/mongodb-architecture[4]
Key/Value
- Basho Riak: http://www.basho.com/Riak.html[7]
Hadoop
The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing.
- Hadoop: http://hadoop.apache.org/
Dynamo
- Amazon's Dynamo: http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
Voldemort
- Voldemort (open source version of Dynamo Key/Value pair store): http://project-voldemort.com/
Amazon S3
Amazon Simple Storage Service (Amazon S3).
- Amazon S3: http://aws.amazon.com/s3/
Cassandra
A highly scalable, eventually consistent, distributed, structured key-value store (used to power several features of Facebook).
- Cassandra: http://cassandra.apache.org/[8]
- Twitter-like webapp using Cassandra: http://twissandra.com/
- Twissandra code (download): http://github.com/ericflo/twissandra
- WTF is a SuperColumn? An Intro to the Cassandra Data Model: http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model
Persevere
- Persevere: http://www.persvr.org/
redis
A persistent key-value database with built-in net interface written in ANSI-C for Posix systems
Oracle KV
- Oracle NoSQL Database, Community Edition: http://www.oracle.com/technetwork/database/nosqldb/downloads/default-495311.html[9]
Graph
- What the heck is a “graph database”?: https://medium.com/@timo.klimmer/what-the-heck-is-a-graph-database-cd92ae041b5a
Neo4j
Neo4j is a graph database.
- Neo4j: http://neo4j.org/ | SANDBOX
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]
4store
4store - An efficient, scalable and stable RDF database: http://4store.org/
Virtuoso
Virtuoso is an Enterprise relational database and tripestore solution.
- Virtuoso: http://www.openlinksw.com/virtuoso/
AllegroGraph
AllegroGraph is an RDF-based triple-store.
- AllegroGraph: http://allegrograph.org
Resources
- NoSQL Databases: http://nosql-databases.org/
- Yahoo! Cloud Serving Benchmark: https://github.com/brianfrankcooper/YCSB/wiki
- DZone's Top 7 NoSQL Articles of 2014: http://java.dzone.com/articles/dzone-best-year-nosql-zone
- NoSQL and Data Scalability 2.0: https://dzone.com/storage/assets/6373821-dzone-rc210-nosqldatascalability.pdf
- Hive - A Warehousing Solution Over a Map-Reduce Framework: http://www.vldb.org/pvldb/vol2/vldb09-938.pdf
- Dynamo - Amazon’s Highly Available Key-value Store: https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
Tutorials
- NoSQL Tutorial (the original): http://www.linuxjournal.com/article/3294
- NoSQL concepts explained: https://database.guide/category/dbms/nosql/
- NoSQL Data Modeling Techniques: https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/
- MongoDB vs. RDBMS Schema Design: http://www.cloudcomputingdevelopment.net/mongodb-vs-rdbms-schema-design/
- MongoDB vs SQL series: http://www.mongodb.com/blog/post/mongodb-vs-sql-day-1-2
- How to Translate SQL to MongoDB/MapReduce: http://nosql.mypopescu.com/post/392418792/translate-sql-to-mongodb-mapreduce
- MongoDB Schema Design: http://www.10gen.com/presentations/schema-design-6[23]
- Building Your First App with MongoDB: http://www.10gen.com/presentations/building-your-first-app-mongodb
- Fun with Music, Neo4j and Talend: http://cloud.dzone.com/articles/fun-music-neo4j-and-talend
- The Joys of Redis: http://architects.dzone.com/articles/joys-redis
- Neo4j Data Import - Minimal Example: http://java.dzone.com/articles/how-neo4j-data-import-minimal
- Goodbye MongoDB, Hello PostgreSQL: https://developer.olery.com/blog/goodbye-mongodb-hello-postgresql/
- Introducing Jakarta NoSQL: https://www.infoq.com/news/2019/10/jakarta-nosql/
External Links
- wikipedia: NoSQL
- NoSQL is a Stupid Name: http://www.dzone.com/links/r/nosql_is_a_stupid_name.html
- SQL vs NoSQL -- The Differences: https://www.sitepoint.com/sql-vs-nosql-differences/
- The Changelog (radio show) - Episode 0.1.8 - NoSQL Smackdown!: http://thechangelog.com/post/457259567/episode-0-1-8-nosql-smackdown
- myNoSQL -- The Hello magazine for NoSQL: http://nosql.mypopescu.com/
- No to SQL? Anti-database movement gains steam http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_
- Facebook - Open Source: http://developers.facebook.com/opensource/
- Why NoSQL - An Example: http://www.slideshare.net/bigfleet/y-nosql-an-example
- That No SQL Thing -- Graph databases: http://ayende.com/Blog/archive/2010/05/06/that-no-sql-thing-graph-databases.aspx
- NoSQL at Twitter (NoSQL EU 2010): http://www.slideshare.net/kevinweil/nosql-at-twitter-nosql-eu-2010
- Brewer's CAP Theorem - The kool aid Amazon and Ebay have been drinking: http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
- NoSQL Key/Value patterns: http://horicky.blogspot.com/2009/11/nosql-patterns.html
- NoSQL GraphDB: http://architects.dzone.com/articles/nosql-graphdb
- NoSQL Berlin Debrief: http://jan.prima.de/~jan/plok/
- NoSQL in the Enterprise: http://www.infoq.com/articles/nosql-in-the-enterprise
- Five Reasons to Keep NoSQL on Your Radar: http://www.devx.com/dbzone/Article/45265?trk=DXRSS_
- Apache Hadoop HBase plays nice with JPA: http://matthiaswessendorf.wordpress.com/2010/03/17/apache-hadoop-hbase-plays-nice-with-jpa/
- How to Use JPA and JDO in HBase: http://java.dzone.com/articles/how-use-jpa-and-jdo-hbase
- 10 things you should know about NoSQL databases: http://blogs.techrepublic.com.com/10things/?p=1772
- YeSQL (part II) - Putting NoSQL, SQL and Document Model Together: http://natishalom.typepad.com/nati_shaloms_blog/nosql/
- 25+ Alternative & Open Source Database Engines: http://www.webresourcesdepot.com/25-alternative-open-source-databases-engines/#more-1418
- Keep Calm and JSON: https://dzone.com/articles/keep-calm-and-json
- Keep Calm and Query JSON: https://dzone.com/articles/keep-calm-and-query-json
- RDF meets NoSQL: http://decentralyze.com/2010/03/09/rdf-meets-nosql/
- HBase .vs. Cassandra - Why We Moved To Cassandra: http://ria101.wordpress.com/2010/02/24/hbase-vs-cassandra-why-we-moved/
- "NoSQL Injection" - What 40000 Unsecured MongoDB Databases Mean for our Industry: http://java.dzone.com/articles/nosql-injection-what-40000
- Consistency, Availability, Partition-tolerance (CAP) and the illusion of choice: http://java.dzone.com/articles/cap-and-illusion-choice
- NoSQL Database Performance Benchmark: https://redislabs.com/cbc-2015-15-nosql-benchmark
- NoSQL vs. NewSQL: What's the Difference?: https://dzone.com/articles/nosql-vs-newsql-whats-the-difference
- When to Choose SQL and When to Choose NoSQL: http://dzone.com/articles/when-to-choose-sql-and-when-to-choosenbspnosql
- Stop Claiming that you’re Using a "Schemaless Database": http://blog.jooq.org/2014/10/20/stop-claiming-that-youre-using-a-schemaless-database/
- MapReduce -- A major step backwards: https://homes.cs.washington.edu/~billhowe/mapreduce_a_major_step_backwards.html
- NoSQL Databases - Why You Don’t Need Them: https://www.singlestore.com/blog/why-nosql-databases-wrong-tool-for-modern-application/
- SQL, the Technology That Never Left, Is Back!: http://dzone.com/articles/the-technology-that-never-left-is-back
- Why SQL is beating NoSQL, and what this means for the future of data: https://blog.timescale.com/why-sql-beating-nosql-what-this-means-for-future-of-data-time-series-database-348b777b847a
- The Unreasonable Effectiveness of SQL: https://blog.couchbase.com/unreasonable-effectiveness-of-sql/
- The Unreasonable Effectiveness of SQL in NoSQL Databases -- A Comparative Study: https://blog.couchbase.com/the-unreasonable-effectiveness-of-sql-in-nosql-databases/
References
- ↑ MongoDB demo (video): http://public.dhe.ibm.com/software/dw/demos/jmongodb/
- ↑ How Is Google Analytics So Damn Fast?: http://java.dzone.com/articles/how-google-analytics-so-damn (includes conversion of MySQL to MongoDB query)
- ↑ KEEP CALM and QUERY JSON: http://dzone.com/articles/keep-calm-and-query-json
- ↑ Crunching 30 Years of NBA Data with MongoDB Aggregation: http://thecodebarbarian.wordpress.com/2014/02/14/crunching-30-years-of-nba-data-with-mongodb-aggregation/
- ↑ Why You Should Never Use MongoDB (as a be-all and end-all datastore): http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/
- ↑ MongoDB Basics in 5 Minutes: https://dzone.com/articles/mongodb-basics-in-5-minutes
- ↑ If you wagered Bet365 would buy up Basho's remains, you'd be a big winner right now: https://www.theregister.co.uk/2017/08/25/bet365_to_buy_basho_release_code/
- ↑ Cassandra installation on Windows 7: http://support.qualityunit.com/249500-Cassandra-installation-on-Windows-7
- ↑ NoSQL Quickstart guide: http://docs.oracle.com/cd/NOSQL/html/quickstart.html
- ↑ Revisiting Hillary Clinton's email corpus with graph algos and NLP (Part 1 of 3): https://blog.bruggen.com/2019/12/part-13-revisiting-hillary-clintons.html
- ↑ Visualizing Breast Cancer Data with Neo4j and GraphXR: https://medium.com/neo4j/visualize-cancer-1c80a95f5bb4
- ↑ How to Make "Small Talk" with Your Boss About Music (with the help of graph-based recommendations): https://neo4j.com/blog/make-small-talk-with-your-boss-graph-based-recommendations/
- ↑ Analyzing Genomes in a Graph Database: https://medium.com/geekculture/analyzing-genomes-in-a-graph-database-27a45faa0ae8
- ↑ Getting Graph Questions Answered through Neo4j Bloom: https://www.youtube.com/watch?v=W7uaSJMNqW4 (examples of similarity & AML "circular vlows" analysis)
- ↑ Close to the Edge - Graph Databases through 1970s Prog. Rock: https://grant592.github.io/prog-neo4j/ | VIDEO (exploring GraphDB benefits via RDF imports of Wikidata & SPARQL queries)
- ↑ Can Graph Data Science Prove a Movie is "Cursed"? Lets make a graph (out of Wikidata movie articles) and find out!: https://www.youtube.com/watch?v=Cq1bf7ysT6A
- ↑ How to Have a Cybersecurity Graph Database on Your PC: https://medium.com/neo4j/how-to-have-a-cybersecurity-graph-database-on-your-pc-366884ac6a08
- ↑ Hacking Hacker News for fun and profit : https://blog.arnica.io/hacking-hacker-news-for-fun-and-profit-part-1-41bd6a48a2c2
- ↑ Construct a biomedical knowledge graph with NLP: https://towardsdatascience.com/construct-a-biomedical-knowledge-graph-with-nlp-1f25eddc54a0
- ↑ Build a Knowledge Graph using NLP & Ontologies tutorial: https://neo4j.com/developer/graph-data-science/build-knowledge-graph-nlp-ontologies/
- ↑ Neo4J -- Going Meta series: https://github.com/jbarrasa/goingmeta | VIDEO#1 | VIDEO#2 | VIDEO#3
- ↑ Building a Fullstack IMDB Clone with a Java Backend using SparkJava and Neo4j: https://foojay.io/today/building-a-fullstack-imdb-clone-with-a-java-backend-using-sparkjava-and-neo4j/ | SRC | E-LEARNING COURSE
- ↑ Schema Design in MongoDB: http://nosql.mypopescu.com/post/907003504/mongodb-schema-design
See Also
Database | SQL | GraphQL | MySQL | DBMS | RDBMS | Linked Data | Ontology | RDF | n3 | Semantic Web | Semantic Search | Cloud Computing | Mahout