Birdie  Zboncak

Birdie Zboncak

1621478579

Introduction to NoSQL Databases

Introduction to NoSQL Databases

MATERIALS:
https://github.com/datastaxdevs/workshop-introduction-to-nosql

#databases #nosql

What is GEEK

Buddha Community

Introduction to NoSQL Databases
Kole  Haag

Kole Haag

1602403200

What is NoSQL and How is it Utilized?

Posted on September 25, 2020 by Dean Conally | Updated: October 8, 2020

Category: Tutorials | Tags: CassandraColumnsDatabaseDatabase ManagementDatabase StructureDB2Document StoresDynamic SchemaExtensible Record StoresGraph StoresJSONKey-ValueMSSQLMulti-RowMySQLNodeNode Relationship NodeNon-Relational DatabasesNoSQLNoSQL ModelQueryRowsScalabilitySchema FreeSQLStoresTablesWide-Column

Reading Time: 5 minutes

What is NoSQL?

A NoSQL or a NoSQL Database is a term used when referring to a “non SQL” or “not only SQL” database. NoSQL databases store data in a different format than a traditional relational database management systems. This is why NoSQL is often associated with the term “non-relational” database. Simply put, NoSQL databases are modern databases with high flexibility, blazing performance, and built for scalability. These databases are used when you require low latency and high extensibility while working with large data structures. The versatility of NoSQL is due to the nature of as being unrestricted in comparison to relational databases models such as MySQL or DB2.

SQL vs. NoSQL Comparison

There are multiple differences between SQL and NoSQL database types. In the table below, we will compare some of the most critical variations.

#tutorials #cassandra #columns #database #database management #database structure #db2 #document stores #dynamic schema #extensible record stores #graph stores #json #key-value #mssql #multi-row #mysql #node #node relationship node #non-relational databases #nosql #nosql model #query #rows #scalability #schema free #sql #stores #tables #wide-column

Ruth  Nabimanya

Ruth Nabimanya

1620633584

System Databases in SQL Server

Introduction

In SSMS, we many of may noticed System Databases under the Database Folder. But how many of us knows its purpose?. In this article lets discuss about the System Databases in SQL Server.

System Database

Fig. 1 System Databases

There are five system databases, these databases are created while installing SQL Server.

  • Master
  • Model
  • MSDB
  • Tempdb
  • Resource
Master
  • This database contains all the System level Information in SQL Server. The Information in form of Meta data.
  • Because of this master database, we are able to access the SQL Server (On premise SQL Server)
Model
  • This database is used as a template for new databases.
  • Whenever a new database is created, initially a copy of model database is what created as new database.
MSDB
  • This database is where a service called SQL Server Agent stores its data.
  • SQL server Agent is in charge of automation, which includes entities such as jobs, schedules, and alerts.
TempDB
  • The Tempdb is where SQL Server stores temporary data such as work tables, sort space, row versioning information and etc.
  • User can create their own version of temporary tables and those are stored in Tempdb.
  • But this database is destroyed and recreated every time when we restart the instance of SQL Server.
Resource
  • The resource database is a hidden, read only database that holds the definitions of all system objects.
  • When we query system object in a database, they appear to reside in the sys schema of the local database, but in actually their definitions reside in the resource db.

#sql server #master system database #model system database #msdb system database #sql server system databases #ssms #system database #system databases in sql server #tempdb system database

Eleo Nona

Eleo Nona

1583375301

An Introduction to NoSQL Databases

What are NoSQL Databases?

Relational databases management systems (RDBMS) store data in tabular form of rows and columns and Structured Query Language (SQL) is the language that is used to access and manipulate data in relational databases. The rapid growth of data and need of high availability, scalability, and performance in modern software applications have handicapped relational databases due to their design structure. SQL is the only way to access data from relational databases and the going through billions and trillions of records takes time.

This is where non-relational databases play a vital role. The database management systems (DBMS) that do not use SQL to query databases are called NoSQL databases. NoSQL databases are also called non SQL or non relational databases. NoSQL databases are not a single kind of database. NoSQL databases are various database technologies that allow data to be stored and managed in different formats without the use of SQL. Some of the databases use their own mechanism, API and some use non SQL languages.

Non-relational databases have been in existences for decades but the term, “NoSQL” was coined by Carlo Strozzi in 1998 to name his lightweight Strozzi NoSQL open-source relational database. The database did not use SQL to access and manipulate data.

Advantages of NoSQL databases

With the growing amount of data and need of real-time query responses, data analytics, and semantic algorithms, noSQL databases have become a need of today. NoSQL databases are more scalable and provide higher performance when dealing with high volumes of data. NoSQL databases also provide faster traversing and better semantic solutions.

Relational databases have fixed schemas. The database schema must be created before data can be inserted in a relational database. Once a database is created, software applications are written, it’s not easy to change schemas. Changing schemas on relational databases may result in loss of data, broken applications, and heavy rewriting of software applications. Even changing a column type in a relational database can cause major issues to data and applications. What if the database is large with trillions of records?

NoSQL database do not have predefined schemas, which makes NoSQL databases a prefect candidate for rapidly changing development environments. NoSQL allows developers to make changes on the fly without affecting applications.

The major drawback of NoSQL database is learning curve and multiple APIs and methods to work with the databases. There is no unified single model like SQL to work with NoSQL databases. Each NoSQL DBMS offers its own API or library. NoSQL DBMS are also broken down into various types such as graph, document, column, and key-value. Each of these DBMS has a different architecture and concept to store and manage data.

Types of NoSQL Databases

NoSQL databases can be categorized in the following five major categories,

  1. Column
  2. Document
  3. Graph
  4. Key-value
  5. Object databases

1. Column Data Store

A column data store, also known as a column-oriented DBMS or columnar database management system, stores data in columns, rather than rows. Relational database management systems (RDBMS) store data in rows and data properties as column headers. Both row-based and column-based DBMS use SQL as their query language but column-oriented DBMS may offer better performance. Imagine you need to list all names from a table based on an ID, rather than going through all rows, you could just access a single column of the table.

Here are some of the key characteristics of column data store DBMS.

  • Column store DBMS use a keyspace that is like a database schema in RDBMS.
  • Column store DBMS have a concept called a key family. A key family is like a table on RDBMS. The keyspace contains all the column families in a database.
  • A column family contains multiple rows. Each row has a unique key called Row Key, which is a unique identifier for that row. While each row has a single Row Key, it may have multiple columns. Each column has a Name, Value, and TimeStamp fields.
  • Each row can contain a different number of columns. All rows don’t have to have the same columns.
  • Each column can contain multiple rows. All rows don’t have to have the same data.
  • Column-oriented DBMS are often used on OLAP data operations. Some of the popular column-oriented DBMS include Bigtable, Apache HBase, MariaDB, Azure SQL Data Warehouse, Google BigQuery, IBM Db2, MemSQL, Microsoft SQL Server 2012 or later, and SAP HANA.

2. Document Databases

Document databases management systems are designed to store full documents as one entity with its attributes. Documents are typically in JSON and XML documents formats that are easy to read, store, and parse using APIs and libraries. Document DBMS are faster to load, access, and parse. User profiles, content management systems, and catalogs are some common use case of document DBMS.

ArangoDB, Couchbase Server, CouchDB, Amazon DocumentDB, MongoDB, CouchBase, Azure DocumentDB, Cosmos DB, Elasticsearch, Informix, Lotus Notes, and SAP HANA are some of the popular document DBMS.

Here is a document that stores a book data. As you can see from this document, it’s a JSON document that has tags and values that define a book including year published, book title, author, release date, publisher, and price.

[{  
    "year": 2001,  
    "title": "A Programmer's Guide to ADO.NET",  
    "info": {  
        "author": "Mahesh Chand",  
        "release_date": "2001-02-01",  
        "publisher": "APress",  
        "price": "44.95",  
        "image_url": "ADOBook.jpg"  
    }  
}, {  
    "year": 2003,  
    "title": "GDI+ Programming",  
    "info": {  
        "author": "Mahesh Chand",  
        "release_date": "2003-03-01",  
        "publisher": "Addison Wesley",  
        "price": "49.95",  
        "image_url": "GDIPlusBook.jpg"  
    }  
}]  

3. Graph Databases

Graph databases are developed based on graph theory. In graph databases, a graph can be used to represent data entities, their attributes, and relationships. The vertices of a graph database are called nodes and edges are called edges.

Popular graph databases are Neo4j, OrientDB, and AangoDB. Microsoft Azure CosmosDB also support graph model.

4. Key-value Store

Key value store is designed to store dictionary type of data structure where data is stored in a key-value pair and key is used to retrieve data. A dictionary is a collection of objects or records. Popular key-value databases are Dynamo, ArangoDB, Berkeley DB, FoundationDB, and MemcacheDB.

5. Object databases

The concept of object databases came from the concept of object-oriented programming. What if we have a database system that can store an entire object, read it back, and apply operations on it?

Object Database Management Systems (ODMS) or Object Oriented Database Management Systems (OODBMS) provide functionality to store and manipulate data in object forms.

There is no unified standard of OODBMSs. Some OODBMSs use Object Query Language (OQL), that is similar to SQL for OODBMSs.

Popular NoSQL databases

There are hundreds of popular NoSQL databases. Any DBMS that does not use SQL can easily be categorized as a NoSQL database. Here is a list of popular NoSQL database management systems. Keep in mind, most of these databases are multi-model DBMS. That means, they support more than one DBMS type. For example, CosmosDB can be used to store data in key-value, column, document, or graph formats.

This is image title

Image source: Microsoft

Here is a list of 10 popular NoSQL databases.

  1. Cosmos DB
  2. ArangoDB
  3. Couchbase Server
  4. CouchDB
  5. Amazon DocumentDB
  6. MongoDB, CouchBase
  7. Elasticsearch
  8. Informix
  9. SAP HANA
  10. Neo4j

References

https://www.mongodb.com/nosql-explained
https://en.wikipedia.org/wiki/NoSQL
http://nosql-database.org/

Thank you for reading!

#NoSQL Database #NoSQL DB #database

Ruth  Nabimanya

Ruth Nabimanya

1620648300

What is SQL? And Where is it Used?

Define: SQL [pron. “sequel”] – stands for Structured Query Language (SQL), used by databases to model and manage tabular/relational datasets; a set of standardized Data Definition Language (DDL) functions to create tables, views, and define relational schema models, and Data Manipulation Language (DML) to query, insert, and modify data in the tables.

*Read-only select queries are technically part of its Data Query Language (DQL) group. Still, operationally, many refer to it as DML because it can do more than read-only queries.

Super Brief History of SQL

Who Uses SQL?

What Can a SQL Database Do?

What is a SQL Query?

Different SQL Database Platforms

SQL for JSON

Application Developers

SQL for Big Data

Further Reading

#sql #database #relational-database #nosql #json #sql-database #database-administration #databases-best-practices