/nosql-talk

A talk about NoSQL

Primary LanguageJava

Database Specialisation

Welcome to my JCore specialisation. In this repository you can find the code I've written to become accustomed to the different database drivers. Also a presentation is included. Below you will find a brief summary of covered subjects.

Database types

  1. Relational
  2. Non-relational
    • Document stores
    • Key-value stores
    • Graph database
    • Wide-colum stores

Relational databases

Relational databases are ideal for storage of structured data. Data is stored as row records in tables and can be related to one another. This database type is also capable of processing data in a transactional manner (ACID), meaning that a transaction always guarantees a consistent database. However, this database type has issues of its own in the current big data era, as it struggles to process data in quantities generated by for example social media.

Non-relational databases

Non-relational databases on the other hand, process data in an unstructured manner. Databases in this category each model the data in a unique way. The unstructured models allow these databases to scale horizontally in addition to vertically, unlike relational databases.

Document stores

This database type models data in a rich text format, namely JSON, BSON or XML. Each document is considered a standalone entity and contains an aggregate of information. This type of database is especially efficient at retrieving data, but is not capable of handling relationships between documents.

Key-value stores

This database type models data as key-value pairs. Each key is unique and is associated with a value. This type of database is especially efficient at retrieving data, but is not capable of handling relationships between key-value pairs.

Graph databases

This database type models data as graphs. Social media is a great example, as one user can be connected to other users, which each have their own befriended users. This type of database is especially effective at representing relationships, while the structure of the data is not known beforehand.

Wide-column stores

This database type models data as rows and columns, however wide-column stores are ideal for storing rows that have different values in different columns. For example, it is very efficient at handling empty columns, in contrast to relational databases. ly useful for full-text search, log analysis and geolocation searches in i.e. google maps.