Hackolade is an intuitive yet powerful application to perform the visually data modeling of many NoSQL and multi-model databases (in order of appearance...):


Data storage formats and IDLs

Document

Graph

Column-Oriented

Multi-model

Big Data Analytics

APIs

RDMBS

w/ JSON

JSON Schema

MongoDB

Neo4j

Cassandra

CosmosDB

- SQL API

- MongoDB API

- Gremlin API

- Cassandra API*

HBase

Swagger API

SQL Server

Avro schema

Couchbase

TinkerPop

Datastax

Hive

OpenAPI

MariaDB

Joi schema

DynamoDB

JanusGraph*

HBase

AWS Glue

Data Catalog

EventBridge

MySQL*

Parquet

Elasticsearch

Amazon Neptune*

ScyllaDB

MarkLogic

RAML*

PostgreSQL*

YAML

Firebase



ArangoDB*

Redshift

GraphQL*

Oracle*

gRPC/Protobuf*

Firestore




Snowflake


DB2*

ORC*





Synapse








Delta Lake*








BigQuery*



*: To Be Added


Hackolade combines the graphical representation of collections in an Entity Relationship Diagram, with the graphical representation of the JSON Schema definition of each collection in a hierarchical schema View.  Together, these graphical representations provide the schema model of a NoSQL application, and the documentation of that model.  The application is specifically designed around the powerful nature of JSON nested sub-objects and denormalization.


The software facilitates the work of, and the dialog between analysts, architects, designers, developers, testers, DBAs, and operators of systems that are based on such technologies.  It also can generate schema scripts and documentation in a variety of machine-based (e.g.; JSON Schema, MongoDB Validator, Mongoose, DynamoDB CreateTable and ConditionExpression scripts...), Couchbase Ottoman, or human-readable formats such as HTML and PDF reports.


Instead of having to find data structures tacitly described in the application code, the creation of a database model helps to evaluate design options beforehand, think through the implications of different alternatives, and recognize potential hurdles before committing sizable amounts of development effort.  A database model helps plan ahead, in order to minimize later rework.  In the end, the modeling process accelerates development, increases quality of the application, and reduces execution risks.


You will hopefully find Hackolade user-friendly.  In case it is is not sufficiently intuitive, this help documentation is designed so you can quickly learn Hackolade as a new user, or enhance your knowledge as a regular user.