[hemmerling] Data Processing 3/5 - NoSQL Databases: Not Just SQL

Events

NoSQL Software Platforms with Databases

MUMPS

The Tool & Implementations

Literature

Resources

NoSQL Databases

Cassandra

Cassandra, the Tool

Titan, an aquired Tool

Addons

Companion Tools

Documentation, Sample Applications and Tutorials

Cassandra Documentation
Cassandra Query Language ( CQL )
KillrVideo, the Cassandra "Killer" Application & some other Demo Applications
Training

Installation of the Python Driver

Resources

Apache CouchDB & Couchbase

Apache CouchDB

  • The OpenSource NoSQL database Apache CouchDB.
  • As of 2016-09, with CouchDB it is easy to implement a replication of a set of local CouchDB databases ( e.g. on Raspberry Pi ) to a master database on a host or in the Cloud. It is an alternative to use a traditional SQL or NoSQL database and to implement asynchronous communications between clients and the host by a special asynchronous protocol, i.e. the MQTT protocol.
  • CouchDB implements concurreny by versioning of data and by adding time stamps at data records, e.g. a data record is named 1-timestamp, 2-timestamp, i.e. “1-2016-08-01, 00:00:00”, “2-2016-09-03, 12:01:05”.

Couchbase, a Fork of CouchDB

  • The OpenSource NoSQL database Couchbase.
        1. issue 6/2014, article “Weltweites Shopping auf der Couch. Reimplementierung eines Onlineshops mit einer NoSQL-Datenbank in der Cloud” by “Goodgame Studios” - “Das Alleinstellungsmerkmal von Couchbase ist die Möglichkeit, die Daten aller Cluster in allen Regionen immer synchron zu halten - und das in Echtzeit. Diese produktbezogene Fähigkeit nennt sich Cross Data Center Replication ( XDCR ). Anderen Datenbanksystemen ( MongoDB, CouchDB, Riak, Cassandra ), die in die engere Auswahl fielen, fehlte allesamt diese Funktionalität”.
        2. issue 1/2015, article “NoSQL mit großen Datenmengen” by “Goodgame Studios”.

Apache HBase

Hypertable

MongoDB

The Database

Documentation

Frameworks, Interfaces, Tools

Language Interfaces
Frameworks
Protocol Interfaces
Tools ( GUI Frontends,.. )
General

Online Services

Meaning of the Brand Name in other Cultures

Experts

Resources

Events and Webinars, Webcasts, Videos on Demand

Video Channels
Videos of 2009
Videos of 2010
Videos of 2011
Videos of 2012
Use Cases
Resources

Tips & Tricks

  • On Windows, please create the default database directory “C:\data\db”, manually :-).
  • The comment operator is ”//”, e.g.
    // This comment is ignored by MongoDB 
  • MongoDB sorts strings in order of UTF-8. Locals like German Umlaute ( “ÄÖÜäöüß” ) are not sorted as expected in natural language ( e.g. “A” or “Ae” is not follwed by “Ä” in the sort order, but by “B” ) :-(.
  • Range-type comparisons don´t span data types: MongoDB is a schemaless database. All comparison operations in MongoDB are stronly typed, and dynamically typed too. Documents within the same collection may contain different types of data ( e.g. strings and numeric values ). If you perform string comparisons to a document of a collection, just documents with string values are checked. Documents with numeric values are not checked.
  • English ( “sharding” ) - German ( “die Begehung [Archäologie]”, “die Feldbegehung [Archäologie]”, “die Geländeaufnahme” ) :-).
  • English ( “shard” ) - German ( “die Scherbe” );
  • If MongoDB operation is distrupted ( e.g. by power off ), the primary database application “mongod.exe” might terminate operation immediately after start. Solution: Please delete the file “mongod.lock” from the data directory ( default: “C:\data\db” ) and restart “mongod.exe”.
  • The MongoDB aggregation process
# Stage Comments
1 $match
2 $project
3 $group
4 $sort
5 $limit
6 $unwind

Riak

Property Graph Databases - NoSQL Databases for Graph Processing

ArrangoDB

Microsoft GraphEngine ( formerly: Microsoft Trinity )

Neo4J

Some other NoSQL Databases, but with Joins :-)

Cloud-only NoSQL Databases

MongoDB Courses by 10gen Education

The Courses

The Videos

  • Github "nonsleepr / edu_10gen_dl" - “Download course videos from education.10gen.com or any other site 'Powered by EdX' (including, of course, edx.org itself)”.
    • Instructions:
      1. Download the scripts from that project; the easiest way is probably to clone the repository with git git clone ( www.github.com/nonsleepr/edu_10gen_dl.git.
      2. Edit the config.py file with your credentials on education.10gen.com
      3. Run python edu_10gen_dl.py ( or python edu_10gen_dl.py /path/to/destination/dir if you want to store the downloaded videos directly in another directory ).
      4. If step 3 tells you the following, you miss dependencies and have to install them (process to 5.): “Not all the nessesary libs are installed. Please see requirements.txt”, then you miss some dependencies (either both or one of them), proceed to next step.
      5. To install the two dependencies, Mechanize and BeautifulSoup4, the easiest way is to use easy_install:
        • “sudo easy_install mechanize”.
        • “sudo easy_install beautifulsoup4”.
      6. Now run the script again as in step 3.
      7. Be patient it will take some time to download.

Tools and Frameworks used for the Courses

The "MongoDB for Developers" Staff

The "MongoDB for DBAs" Staff

The "MongoDB for Java Developers" Staff

Literature

Books about CouchDB

Books about MongoDB

Books

Resources

Resources

Communities, Forums, Newsgroups

Appropriate OpenDirectory Directory Pages

 
en/nosql.html.txt · Last modified: 2017/10/20 13:00 (external edit) · []
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki