Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions data-persistence/mongodb/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Microservices Suite

## Mongodb document db

[MongoDB](https://hub.docker.com/_/mongo) is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemata. MongoDB is developed by MongoDB Inc., and is published under a combination of the Server Side Public License and the Apache License.

<!-- docker-compose

# Use root/example as user/password credentials
version: '3.1'

services:

mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example

mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/
-->
1 change: 1 addition & 0 deletions data-persistence/mysql/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mysql:latest
28 changes: 28 additions & 0 deletions data-persistence/mysql/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Microservices Suite

## MySQL structured 'relational' db

[MySQL](https://hub.docker.com/_/mysql) is the world's most popular open source database. With its proven performance, reliability and ease-of-use, MySQL has become the leading database choice for web-based applications, covering the entire range from personal projects and websites, via e-commerce and information services, all the way to high profile web properties including Facebook, Twitter, YouTube, Yahoo! and many more.

<!-- docker-compose

# Use root/example as user/password credentials
version: '3.1'

services:

db:
image: mysql
# NOTE: use of "mysql_native_password" is not recommended: https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password
# (this is just an example, not intended to be a production configuration)
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: example

adminer:
image: adminer
restart: always
ports:
- 8080:8080
-->
1 change: 1 addition & 0 deletions data-persistence/postgres/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mongo:latest
37 changes: 37 additions & 0 deletions data-persistence/postgres/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Microservices Suite

## PostgreSQL object-relational database

PostgreSQL, often simply "Postgres", is an object-relational database management system (ORDBMS) with an emphasis on extensibility and standards-compliance. As a database server, its primary function is to store data, securely and supporting best practices, and retrieve it later, as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). It can handle workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users. Recent versions also provide replication of the database itself for security and scalability.

PostgreSQL implements the majority of the SQL:2011 standard, is ACID-compliant and transactional (including most DDL statements) avoiding locking issues using multiversion concurrency control (MVCC), provides immunity to dirty reads and full serializability; handles complex SQL queries using many indexing methods that are not available in other databases; has updateable views and materialized views, triggers, foreign keys; supports functions and stored procedures, and other expandability, and has a large number of extensions written by third parties. In addition to the possibility of working with the major proprietary and open source databases, PostgreSQL supports migration from them, by its extensive standard SQL support and available migration tools. And if proprietary extensions had been used, by its extensibility that can emulate many through some built-in and third-party open source compatibility extensions, such as for Oracle.


<!-- docker-compose

# Use postgres/example user/password credentials
version: '3.9'

services:

db:
image: postgres
restart: always
# set shared memory limit when using docker-compose
shm_size: 128mb
# or set shared memory limit when deploy via swarm stack
#volumes:
# - type: tmpfs
# target: /dev/shm
# tmpfs:
# size: 134217728 # 128*2^20 bytes = 128Mb
environment:
POSTGRES_PASSWORD: example

adminer:
image: adminer
restart: always
ports:
- 8080:8080

-->
1 change: 1 addition & 0 deletions data-persistence/redis/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM mongo:latest
5 changes: 5 additions & 0 deletions data-persistence/redis/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Microservices Suite

## Redis for key-value database with optional durability

[Redis](https://hub.docker.com/_/redis) is an open-source, networked, in-memory, key-value data store with optional durability. It is written in ANSI C. The development of Redis is sponsored by Redis Labs today; before that, it was sponsored by Pivotal and VMware. According to the monthly ranking by DB-Engines.com, Redis is the most popular key-value store. The name Redis means REmote DIctionary Server.
5 changes: 5 additions & 0 deletions data-persistence/sqlite/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Microservices Suite

## SQlite for mini-devices

This is the sqlite folder incase you want to use in memory db for minidevices like `smart watch`, `watchOs`,`implants` or even `IoT` devices that have constrained resources.