28 Open Source Databases – II (continued from previous module)

Miss Bhumika Shah

epgp books

 

Learning Objectives:

 

By the end of this module, you should be able to:

  • Understand the concept of MySQL Open Source Database
  • Understand various No-SQL databases.
  • various Tools of Mongo-db

In the previous modules, we saw all the SQL category open source databases. Let us continue from MySQL Open source Database

 

6.6 MySQL Download

 

• MySQL is available in variety of flavors

• MySQL Enterprise Edition(commercial)

• Oracle MySQL Cloud Service(commercial)

• MySQL Cluster(commercial)

• MySQL Community edition(GPL)

• GPL downloads again have different variants like :

• Community Server

• Utilities

• Workbench and much more

 

here, we will be discussing the Community edition , i.e. GPL version

 

MySQL Workbench for Windows

 

It can be observed that, the above screen shot is of Enterprise Edition.

 

MySQL Workbench for Linux

 

 

GPL License

 

Visual Database Design (Enterprise)

 

 

DB Design : Linux (GPL)

 

SQL Editor :Windows (Enterprise)

SQL Editor : Linux (GPL)

Dashboard: Windows (Enterprise)

Dashboard : Linux (GPL)

Hence, it could be observed that, almost all the important features available in Enterprise edition are incorporated in Community edition as well.

  1. No-SQL Databases 
  • MongoDB
  • Cassandra
  • BigTable
  • Hbase
  • CouchDB

7.1 Cassandra

  • Cassandra was initially developed by Facebook engineers to power the social media applications and was made open source in 2008.
  • Cassandra does not follow the traditional RDBMS model. It is a distributed database from Apache which is highly scalable and designed to handle large volume of data.
  • Cassandra cannot perform joins or subqueries , but emphasize is on denormalization through features like collections

Features of Cassandra

  • Scalbility: It is designed with the aim of no downtime or interruption to applications and has read and write throughput, both increase linearly as new machines are added.
  • Decentralized : Every node in the cluster has the same role , no single point of failure
  • Supports replication: Replication strategies are configurable. Cassandra is designed as a distributed system, for deployment of large numbers of nodes across multiple data centers.
  • Hadoop integration with Mapreduce support
  • Support for Apache Pig and Hive
  • Cassandra Query Language (CQL): It was initially created as an alternative to SQL – simple interface for accessing Cassandra It also has language drivers available for Java (JDBC), Python (DBAPI2), Node.JS (Helenus) etc.

   7.2 BigTable

  • Big Table is a Data store created by google to handle large volume of structured data. It follows a distributed column oriented structure. Though Big Table is proprietory , but we discuss it here as Apache Hbase is fully based on BigTable

Features:

  • Simple and Integrated
  • Seamless Scaling
  • Fast and performant

7.3 HBase

  • Apache Hbase is an open source NoSQL database that is modeled after Google BigTable implementation. It is possible to store large terabytes of data in form of very large tables. It achieves scalability by distributing its data over cluster of nodes

Features :

  • Distributes column oriented Database
  • Linearly scalable
  • It integrates with Hadoop both as source and destination
  • Supports easy Java API

7.4 CouchDB

  • CouchDB has gained popularity among web applications as it supports binary for all the storage needs and has JSON data format at its core.

Features

  • Developer friendly query language
  • Built for offline: CouchDB can replicate to devices (like smartphones) that can go offline and handle data sync for you when the device is back online.
  • Document Storage : CouchDB stores data as documents as one or more field or value pair expressed as JSON. Every document in CouchDB has a unique id and no document schema is required
  • Map Reduce Views and Indexes : The stored data is structured using views. CouchDB can index views and keep those indexes updated as documents are added, removed, or updated.
  • HTTP API : All items have a unique URI that gets exposed via HTTP. It uses the HTTP methods POST, GET, PUT and DELETE for the four basic CRUD operations on all resources.

uilt-in Administration Interface via web : Futon

7.5 MongoDB

 

•  MongoDB is a document database which stores data in JSON like documents. It is a document database with all the scalability and flexibility required by the developer with the need of querying and indexing

  •  Features

• Stores data in flexible Json like documents

•  Maps to objects in application code

• Indexing , real time aggregation and run time queries provide easy access to data

•  Free and open source published under GNU

 

Tools

 

•  NoSQL MongoDB manager

• MongoDB Compass

• RoboMongo

• Adminmongo

•AdminMongo is a user interface which helps you to easily manage your MongoDB connections/databases needs. adminMongo is fully responsive and works on various devices.(unencrypted)

 

NoSQL Manager

 

•  All features of MongoDB and shell are integrated in one GUI tool which is named NoSQL manager or MongoDB manager

•  Features

• Fully functional Intelligent GUI shell

•  Easy to use Document viewer

•  Easy management of all MongoDB objects

•  Map-Reduce Operations editor

• UI for mongodump, mongorestore and mongotop utilities

NoSQL Manager

 

 

MongoDB compass

  • MongoDB compass makes it easy for users to understand the collections and perform queries without having much knowledge about Mongodb query syntax
  • Features
  • Full CRUD functionality
  • Run adhoc queries
  • Easy way to explore/change data
  • Understand performance issues with visual explain plans
  • Manage indexes by viewing Utilization

RoboMongo(Robo3T)

  • RoboMongo is a free lightweight GUI which helps you to manage your Mongodb database
  • Features
  • Native and cross-platform manager
  • Embeds Real MongoDB shell

Fully Asynchronous

Summary

  • MySQL Download is available under Enterprise and GPL licensing.
  • NoSQL Databases follow document oriented model
  • Various tools are available in NoSQL database category to make retrieval easier and efficient
you can view video on Open Source Databases – II (continued from previous module)

References

  • https://db-engines.com/en/ranking_osvsc
  • http://www.firebirdnews.org/docs/fb2min.html
  • https://www.microsoft.com/en-us/sql-server/sql-server-2017
  • https://www.microsoft.com/en-us/sql-server/developer-tools
  • http://info.microsoft.com/rs/157-GQE-382/images/EN-CNTNT

SQL_Server_on_Linux_Public_Preview_Technical_Whitepaper-en-us.pdf

  • httPs://dev.mysql.com/downloads/windows/installer/5.7.html
  • https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-features/
  • https://mariadb.org/about/
  • https://www.mongodbmanager.com/features
  • https://www.mongodb.com/products/compass