Smooth onboarding of
Graphic visualization of complex data structures
Leverage the power of visual data modeling
Intuitive and easy-to-use interface
Hackolade's user interface has been carefully designed to be clear and effective, minimizing the learning curve, and allowing you to start modeling right away, without the need to read the entire user manual.
Just enough industry standards
Entity Relationship theory and JSON Schema are great industry standards. Hackolade uses just enough of them to serve its purpose. But not too much of them either, so they don't become a constraint to the practical construction of NoSQL document models.
Visual ER diagrams for JSON documents
Schema design in a schemaless world seems like a contradiction. Hackolade applies some Entity Relationship theory to non-relational databases to represent denormalized data in a user-friendly way.
Graphic hierarchical schema editing
Hackolade is specifically designed to handle the powerful nature of nested objects, denormalization, and polymorphic semi-structured schemas. It uses a JSON Schema notation, easily visualized and maintained in a hierarchical schema view.
Leveraging the power of JSON and NoSQL
Modeling nested objects: sub-documents and arrays
Each data type has its specific properties and constraints, allowing documentation and validation of the business rules needed for proper data integrity. Following the capabilities of JSON, Hackolade supports polymorphic semi-structured schemas with mutiple types possible for a given field/attribute.
Collapsible hierarchical schema view
To make each collection's structure more readable, the ER diagram contains a pretty view of the collection schema with an indication of each field's data type. You can easily navigate the database structure only using a mouse.
JSON Schema editor
You may use Hackolade to model plain JSON documents, with its intuitive graphical editor hiding the complexity of JSON Schema with no loss of power. It simplifies the visualization and understanding of deeply nested structures, and facilitates editing and maintenance. Hackolade dynamically generates a sample JSON document to illustrate the structure being built, and validates both the JSON Schema and the sample document.
Even non-relational DBs have relationships
Documentation of implicit relationships and denormalization
Forward- and Reverse-Engineering
Speed up your modeling and development cycle
Create sample documents as you develop your model, to help you visualize your design with representative data. Easily generate MongoDB 3.2+ Validator scripts and Mongoose schemas to be integrated in your code. For DynamoDB, there's dynamic generation of CreateTable and ConditionExpression scripts.
Capture your current data architecture, with many options for reading the metadata of your applications. This can be done by submitting simple JSON documents or their JSON Schema, or even a SQL Data Definition Language file or an XSD from erwin, ER/Studio, or PowerDesigner. When reverse-engineering a NoSQL instance, the system performs a probabilistic inference of a representative sampling of each collection or table.
Engage the dialog
Collaborative application architecture design
Ensure data integrity and build credibility
Add just the right level of control
Combine the flexibility of the document model with true data conformance and validation capabilities. Now teams can benefit from the ease of development that the document model offers, while still maintaining the strict data governance controls that are critical for applications in regulated industries.
Define once object definitions that can be re-used in multiple places. A library of definitions standardizes content and insures consistency. It also simplifies the work of data modelers so maintenance can be performed in one place and be automatically propagated to all places where the definition is referenced.
Command Line Interface
True support for an agile development approach leveraging the flexibility of NoSQL dynamic schemas via automated tasks to discover new fields and structures from a much larger dataset as a basis for document sampling.
Model compare and merge
Identify additions, modifications, and deletions between 2 versions of a model, or between a baseline model and what can be found in the production database instance. Manual and automatic merging can be performed.
User-defined custom properties
To help fit Hackolade in your data management infrastructure, you may define your own properties for any kind of object: model, container, database, bucket, collection, table, or attribute.
You can maintain both a ‘business name’ and a ‘technical name’ for objects (containers, entities, and attributes.) To facilitate the maintenance of these 2 names, it is possible to keep them synchronized and transformed based on a set of user-driven parameters, and optionally based on a conversion file maintained outside of the application. Name conversion can go both directions: Business-to-Technical, or Technical-to-Business. Furthermore, when performing reverse-engineering, it is assumed that the database instance contains technical names, to be transformed in business names.
Object lineage states where an object comes from, where it is going, and what (optional) transformations are applied to it as it flows through multiple processes. It helps understand the life cycle of the object. Lineage is the documentation of the life cycle.
Hackolade includes basic lineage capture capabilities to enable an audit trail, which can in turn be used to feed a specialized lineage tool where further visualization can be performed, or to feed an ETL tool where transformation can take place.
Bulk editing in Excel with export/import
For any of the supported targets, it is possible to export all or part of a model, so properties could be easily edited in a tabular format, to be re-imported back into the application. You may pick and choose exactly which objects and properties are exported for each target.
Model-driven API generation
Generate an OpenAPI (or Swagger) model and documentation from any Hackolade model target. This feature will help make your APIs more consistent than those produced by hand, while easily exposing resources for underlying data sources. API maintenance will be greatly facilitated, and Total Cost of Ownership reduced. Take an entity-relationship diagram (ERD) to automatically generate the API for CRUD operations of the entities of that data model.