beanz Magazine

Non-Relational Databases

normanack on Flickr

These databases are relatively new technology to store data in databases. Here are a few options to explore.

As explained in the last issue, in a story about database design, non-relational databases are a new way to store data. Instead of SQL databases, where the structure of your data is broken up into bits based on the type of data (think company name versus company location where one company might have many locations). With non-relational databases, the complexity is not in the database structure, it’s in the chunks of data you store in the database.

For example, you might have one chunk of data for each company and each chunk of data would include all the office locations. Retrieving and displaying the locations involves grabbing the chunk of data, then digging out all the locations. A SQL database, in contrast, would have a table for company names and another table for all the locations for all companies; you’d match company names to locations with a database query to display all the locations for one company.

If you are interested to explore non-relational databases, here are a few worth downloading and trying out. Because this technology is five years old, or less, building complicated applications might require adjustments that make SQL databases a better option. However, non-relational databases are likely to dominate in a world where lots of data is collected then displayed based on what people want to see.

DynamoDB

A proprietary database offered by Amazon through its Amazon Web Services (AWS) cloud platform. You host your application on their cloud servers with your data stored in DynamoDB. Bigtable from Google works the same way but with their proprietary Google Application Engine (GAE) platform. Bigtable also is used to power Gmail and other Google applications.
http://aws.amazon.com/dynamodb/
https://developers.google.com/appengine/?csw=1
https://developers.google.com/appengine/articles/storage_breakdown?hl=en

MongoDB

An open source database that stores data in documents which are key:value pairs, for example, CompanyName:Acme. The structure of each document can vary from one document to another. CouchDB also stores data as documents. Both technologies are open source.
http://www.mongodb.org/
http://couchdb.apache.org/

Riak

This database stores data in a similar way to DynamoDB. It’s also interesting because it is written in Erlang instead of C or similar language.
http://docs.basho.com/riak/latest/
http://docs.basho.com/riak/latest/theory/why-riak/

Learn More

NoSQL

Their front page has a list of dozens of NoSQL database with links to each technology.
http://nosql-database.org/

Non-Relational Databases

A fairly quick overview of how NoSQL databases work and what they offer.
http://www.slideshare.net/ramtrilper/non-relational-databasesno-sql

Also In The March 2014 Issue

An Interview with Ben Heck

Ben Heckendorn is a self-taught maker with high energy, an internet show on Element14 (The Ben Heck Show), and a wonderfully wicked sense of humor. He also inspired this issue of the magazine.

Circuit Diagrams

Circuit diagrams are maps used to design and build electronic devices. This article describes connections, components, history, and tools used to create circuit diagrams.

Electronics Projects for Beginners

Here are links to projects, tutorials, parts, and online communities to help you get started with electronics projects for beginners.

Zina Lahr

Meet someone who used her love of electronics to create deeply fun and personal robots, gadgets, and other cool stuff.

Version Control Software

Version control software captures an evolving snapshot of one set of code along with all changes in case older versions need to be retrieved.

Brackets, Semicolons, or Nothing, Oh My

How do programming languages know what to process? And in the correct order?

JSON

JSON, or JavaScript Object Notation, is an elegant way to organize data into key:value pairs and make web applications work like software.

I do not think there is any thrill that can go through the human heart like that felt by the inventor as he sees some creation of the brain unfolding to success.

How to Use an Electronic Breadboard

Electronic breadboards are used to prototype electronic circuit designs and projects without messy solder or hot soldering irons.

Learn More Links for March 2014

Links from the bottom of all the March 2014 articles, collected in one place for you to print, share, or bookmark.

Node.js

Node.js is a software platform to create fast, scalable web applications quickly. These applications also use JavaScript on the server and web browsers.

Non-Relational Databases

These databases are relatively new technology to store data in databases. Here are a few options to explore.

News Wire Stories for March 2014

Interesting stories about computer science, software programming, and technology for the month of February 2014.