NocoDB DB Management System
What is NocoDB
Noco DB is an open-source, schemaless, and document-oriented database management system that is designed to provide high performance, scalability, and ease of use. It is built on top of the Node.js platform and is primarily used for web-based applications.
Noco DB supports a wide range of data types, including JSON, BSON, and Binary. It also provides a powerful query language that allows you to perform complex queries on your data. Noco DB also offers a number of useful features, such as replication and sharding, which make it easy to scale your database as your application grows.
One of the main benefits of using Noco DB is its flexibility. Since it is schemaless, you can easily add or modify fields in your documents without having to make changes to your database schema. This can save you a lot of time and effort when developing your application.
Noco DB is also highly performant. It is designed to handle large amounts of data and can easily scale to meet the demands of high-traffic applications. Additionally, Noco DB is built on top of the Node.js platform, which is known for its performance and scalability.
Overall, Noco DB is a great choice for web-based applications that require a flexible and scalable database management system. Whether you are building a small website or a large-scale application, Noco DB can provide the performance, flexibility, and scalability you need to succeed.
NocoDB Supported DBs
- Oracle DB: Oracle supports PL/SQL and SQL language to write queries to access data from its database.
- Microsoft SQL server: Microsoft SQL Server is a relational database management system (RDBMS) that supports a wide variety of transaction processing, business intelligence and analytics applications in corporate IT environments..
- PostgreSQL: PostgreSQL is a powerful, open-source relational database that is known for its performance, reliability, and robust feature set. It supports a wide range of data types and provides a powerful query language.
- MySQL / Mariadb: MySQL is a popular open-source relational database that is widely used in web-based applications. It is known for its performance and scalability and supports a wide range of data types.
- SQLite: SQLite is a lightweight, serverless relational database that is widely used in embedded systems and mobile applications. It is easy to use and requires no setup or administration.
Install via docker compose
create a docker-compose.yml and add the following to it
version: "2.1"
services:
nocodb:
depends_on:
nocodb_db:
condition: service_healthy
environment:
NC_DB: "mysql2://nocodb:3306?u=nocodb&p=nocodb&d=nocodb"
image: "nocodb/nocodb:latest"
ports:
- "8080:8080"
restart: always
volumes:
- "./nc_data:/usr/app/data"
nocodb_db:
environment:
MYSQL_DATABASE: nocodb
MYSQL_PASSWORD: nocodb
MYSQL_ROOT_PASSWORD: nocodb_r
MYSQL_USER: nocodb
healthcheck:
retries: 10
test:
- CMD
- mysqladmin
- ping
- "-h"
- localhost
timeout: 20s
image: "mysql:8.0.32"
restart: always
volumes:
- "./db_data:/var/lib/mysql"
Run the following command in the terminal from the directory where the docker-compose.yml file is located:
docker-compose up -d
This command will start the NocoDB service in the background and map port 8080 of the container to port 8080 of your host machine. It will also create a data
directory in the current directory and map it to the /usr/app/data
directory in the container. This directory will be used to store the NocoDB data files.
wait for a few seconds and make your way to http://localhost:8080
.
et voila! you have nocodb running. head to their docs site for more info.