Skip to content

Databases: Concepts, commands, codes, interview questions and more...

License

Notifications You must be signed in to change notification settings

hardikvasa/database-journal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Database Journal

images/types_of_dbs.png

This repository is a collection of all-things database. It includes some fundamental concepts of databases, code samples, interview questions and more.

Index:

Database commands

DBMS Model Description Runtime Link
MySQL Relational Mysql basic commands Shell link
MongoDB Document MongoDB basic commands Shell link

Code Samples

This section contains sample codes for database operations. For python, there are several options like mysql-connector, pymysql, MySQLdb, SqlAlchemy, etc.

DBMS Model Description Runtime Sample Code Docs
MySQL Relational Python mysql connector code sample Python link docs
MySQL Relational PyMySQL code sample Python link docs
PostgreSQL Relational PostgreSQL using psycopg2 code sample Python link docs
MongoDB Document MongoDB NoSQL database code sample Python link docs
SQS Queue AWS Simple Queue Service operations Python link docs
ActiveMQ Queue MQ Producer and MQ Consumer Python link, link docs
ActiveMQ Queue MQ Producer and MQ Consumer Java link, link docs
OracleDB Relational OracleDB sample code Python link docs
Kinesis Stream AWS Kinesis stream sample code. Python link, link docs
Redis In-memory Redis code sample in python. Python link docs
Neo4j Graph Graph database using neo4j-driver Python link docs
DynamoDB Document DynamoDB basic operations Python link docs
ElasticSearch Search ElasticSearch basic operations Python link docs
AWS Neptune Graph Connecting to AWS Neptune with Gremlin Python link docs
Cassandra Wide-column Cassandra basic operations Python link docs
Amazon Aurora MySQL Basic Operations for Aurora DB Python link docs

DBMS comparison chart

This section some characteristics and comparison points between different database technologies.

Property Relational DB NoSQL DB Document DB In-memory DB Graph DB Search DB Time-series DB Ledger DB Queues Streams
Type Relational Non-Relational Non-Relational Non-Relational Relational Non-Relational Relational Non-Relational Non-Relational Non-Relational
Data Structured Un-structured Un-structured Un-structured Un-structured Semi-structured Structured Chain Un-structured Un-structured
Data format Records, tuples JSON JSON JSON N/A JSON JSON JSON Objects Objects
Scalability Vertical Horizontal Horizontal Horizontal Horizontal Horizontal Horizontal Horizontal Horizontal Horizontal
Record type Flat Hierarchical Hierarchical Hierarchical Hierarchical Hierarchical Flat, Hierarchical Hierarchical Objects Objects
Applications CRM, Finance Shopping cart Content Management Leaderboards Social media Product catalog IoT applications Cryptocurrency Queuing tasks Weather data
Complex queries Yes No No No No No No No N/A N/A
Property ACID CAP theorem CAP theorem CAP theorem CAP theorem CAP theorem ACID N/A N/A N/A
Engine(s) MySQL, PostgresSQL Cassandra, DynamoDB MongoDB, DocumentDB Redis, Memcached Neo4j Elasticsearch InfluxDB AWS QLDB ActiveMQ, AWS SQS Apache Kafka, AWS Kinesis

Contributing

Anyone is welcomed to contribute to this repository. If you would like to make a change, open a pull request. For issues and discussion visit the Issue Tracker. Additional articles and workshops can be found on website.

Disclaimer

The contents of this repository is merely for educational purpose. The content may not be accurate or up-to-date.