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 v4

MongoDB

Neo4j

Cassandra

CosmosDB

- SQL API

- MongoDB API

- Cassandra API*

- Gremlin API*

HBase

Swagger API

SQL Server

JSON Schema v7*

Couchbase

TinkerPop

Datastax

Hive

OpenAPI

Oracle*

Avro schema

DynamoDB

Amazon Neptune*

HBase

AWS Glue

Data Catalog

EventBridge

PostgreSQL*

Joi schema

Elasticsearch


ScyllaDB

MarkLogic

RAML*

MySQL*

Parquet

Firebase



ArangoDB*

Snowflake

GraphQL*

MariaDB*

ORC*

Firestore




Synapse


DB2*

Thrift*





BigQuery*



ProtoBuf*





Redshift*



*: 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 Tree 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.