HarperDB: a Modern Tool for Fullstack Development
Tags: webdev, javascript, beginners, programming
Published: 2022-07-07 07:28:16

If you're looking for a new database for your next web development project, you may be wondering which DB will work best for you and your team. While having so many options is excellent, weighing the benefits and drawbacks of each type of [database](https://harperdb.io/blog/database-architectures-use-cases/) can be overwhelming.

> This tutorial will explain what is [HarperDB](https://harperdb.io/) and why is it better for Full-Stack Development?

## TL;DR 

- What is [HarperDB](https://harperdb.io/)
- How is HarperDB a game-changer
- HarperDB has advantages over others
- HarperDB Use Cases
- Why developers & technology leaders need HarperDB
- Key metrics & pricing
- Top features of HarperDB
- Why HarperDB
- HarperDB Marketplace
- HarperDB Bounty Program


## What is HarperDB

[HarperDB](https://harperdb.io/) is a data management system that supports both SQL and NoSQL functionality. 

It's fully indexed, doesn't duplicate data, and can be used on any device, from the edge to the cloud and with the addition of Custom Functions, HarperDB grew from a distributed database to a distributed application development platform. You now can host your database and server API on the same platform with full CRUD functionality.

> HarperDB offers everything: NoSQL, SQL, and NewSQL.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8uhat0v7yi2j4wpntfbw.png)
 

SQL and NoSQL contribute to the industry for their individual use cases. HarperDB was designed to meet the needs of both use cases by combining the strengths of both technologies.

- It supports both SQL and NoSQL queries.
- It also offers access to the database instance directly inside the client-side application.

> **HarperDB is all about simplicity without sacrifice.**


## How is HarperDB a game-changer?

- Most flexible DB on the market.
- HarperDB is 38X faster than competitors.
- [HarperDB](https://harperdb.io/docs/overview/) globally replicates the data at the speed of the internet.
- Custom functions make it more powerful.

Its SQL/NoSQL capabilities make it a game-changer. To support complex SQL queries, most NoSQL databases use a multi-model architecture. Under the hood, a multi-model is analogous to running two separate databases. Whereas HarperDB is intended to handle both SQL and NoSQL use cases out of the box.

Data inserted into HarperDB via SQL statements or NoSQL objects is mapped to a single model. 

Data is never replicated, and nothing needs to be transformed after it is inserted.

With so many databases on the market, how do you know which one is best for your specific use case or skill set?

> I encourage you to check out this talk by HarperDB CTO [A Deep Dive into Database Architectures with HarperDB](https://youtu.be/UIAfhmCZbSQ)

## HarperDB advantages over others

-By merging the capability of the powerful SQL, NoSQL, and NewSQL technologies on the market into a single powerful tool, HarperDB simplifies and lowers the data administration cost.

- With SQL on JSON, users no longer have to select a database based on the structure of their data. 

- With HarperDB's speed, flexibility, and customization, you can cut down on database maintenance time and the number of systems required to achieve your goal.

- HarperDB enables developers with relational backgrounds to leverage their existing SQL knowledge with a database that also allows their team to leverage NoSQL from the same data model (and vice versa)

- HarperDB [Custom Functions](https://harperdb.io/docs/custom-functions/) integrate serverless functions with the underlying database, simplifying the stack and allowing you to define custom API endpoints with direct access to HarperDB core operations.

- Custom Functions, powered by Fastify, are similar to AWS Lambda functions or Stored Procedures. Functions are low-maintenance and simple to create; define logic and choose when to execute.

> **HarperDB is designed for developers and technology leaders of all skill levels.**

## HarperDB Use Cases

1- Rapid app development

2- Edge computing

3- Distributed computing and hybrid edge/cloud computing

- Data pipeline with real-time data synchronization that runs across various clouds.
- Extend the data fabric to the edges of data centers.
- Move serverless functions and API to the edge. 
- Eliminate vendor lock-in, cut costs, reduce latency, and gain real-time capability.

4- IoT

5- Integration

6- Real-time analytics

7- Machine learning

8- Reporting and charting

## Why developers & technology leaders need HarperDB

- Leverage existing AWS, GCP, or Azure infrastructure to migrate API to HarperDB quickly and easily.
- Reduce costs, avoid "vendor lock-in," and offer a low-latency API.
- Geo-redundant, cross-cloud disaster recovery, and high availability architecture.
- Accelerate development and improve the "end-user" experience.
- Improve app speed and performance while simplifying the architecture and increasing negotiating power with AWS, GCP, and Azure.

## Key metrics & pricing

There are over 94K total HarperDB users and 9K community members: 

- 16,500+ npm downloads 
- 73,600+ on Docker Hub
- 4,200+ cloud & local signups


[HarperDB](https://harperdb.io/pricing/) has a robust free-forever tier that allows users to spin up a 0.5 GB RAM instance for free. The paid model begins with 1 GB of RAM and costs $19.99 per month for HarperDB Cloud or $215.89 per year for self-hosted.

> **HarperDB uses a freemium/premium model with different [pricing](https://harperdb.io/pricing/) for each use case.**

**HarperDB Cloud**:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60btskt2dl7o3r20c36i.png)
 

**HarperDB on premise**:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bm6ph99ur2ufpus1r2mw.png)
 

**HarperDB Edge**:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l49kttdscexn1r9rmh0y.png)
 

# Top features of HarperDB

- Access Controls/Permissions
- Backup and Recovery
- Custom Functions
- Data Migration
- Data Replication
- Database Conversion
- Mobile Access
- Multiple Programming Languages Supported
- SQL on JSON
- Performance Analysis
- Virtualization

## Why HarperDB

> Regarding how databases communicate, HarperDB is a one-of-a-kind solution for complex enterprise data challenges.

- All CRUD operations are handled by a single endpoint.
- ODBC, JDBC, Node-RED, and other plugins are supported.
- SQL queries can be run on JSON data.
- Returns the results as JSON arrays, eliminating the need for an ORM (Object Relational Mapping).
- [HarperDB Studio](https://harperdb.io/docs/harperdb-studio/) is suitable for beginners, and its tutorials are concise.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c441yghizkihhb1ul4xe.png)
 

- HarperDB Studio has a fantastic management UI that allows you to browse, query, and manage data in a single place.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/surgiru2o9wo3gdmewbv.png)
 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/evdpcpl3e5i0dcmrytp7.png)
 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vl05ixjd89gsrbkdp49t.png)
 

- Custom functions enable you to build API routes within HarperDB.

I will encourage you to check out this post if you want to deep dive into custom functions in HarperDB. 

> [**How To Use HarperDB Custom Functions With Your React App.**](https://dev.to/tyaga001/how-to-use-harperdb-custom-functions-with-your-react-app-2c43)

- HarperDB enables you to run your database anywhere, from the edge to the cloud and everywhere.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gj2q2kc6epauefu5ktkf.png)
 

## HarperDB Marketplace

- The HarperDB Marketplace is a collection of SDKs and connectors that allow developers to build solutions quickly and easily on top of HarperDB. 

- The HarperDB Community creates and supports extensions. 

- Each extension is hosted by its own package manager or host.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6vatjr8rvi5zgy7in3ia.png)
 

To get a Marketplace extension, click [here](https://studio.harperdb.io/resources/marketplace/active):

- Open the HarperDB Marketplace page in a new tab.
- Decide which extension/driver you want to use.
- Either click the package's link.
- To continue, adhere to the extension's instructions.
- You can submit your evaluation by clicking on the stars next to each extension.

> HarperDB Studio resources are accessible whether or not you are logged in.

### Video tutorials and example code snippet

Within the studio, on [HarperDB Tutorials page](https://studio.harperdb.io/resources/tutorials/UExsZ1RNVEtzeXBTNUdJbjRZaTNOeEM0aW5YX3RBNU85SS4yODlGNEE0NkRGMEEzMEQy), and on our [YouTube channel](https://youtube.com/playlist?list=PLlgTMTKsypS5GIn4Yi3NxC4inX_tA5O9I), HarperDB provides video tutorials.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/26ip240mf2zx7pxzysxa.png)
 

> The HarperDB Studio is constantly evolving; therefore, the videos might not fully cover all of the current capabilities.

The [code examples page](https://studio.harperdb.io/resources/examples/QuickStart%20Examples/Create%20dev%20Schema) for a variety of programming languages


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/76rbw4b7sj1zx79l25gv.png)
 

> These examples will include a placeholder for your authorization token.

Individual instance pages include complete code examples with the authorization token prepopulated.

## HarperDB Bounty Program

The HarperDB team is dedicated to the growing developer community that relies on our database.

They not only want feedback but also need assistance in putting that feedback into action.

> In exchange, they will reward you with [cash incentives](https://harperdb.io/docs/bounty-program/) to help make HarperDB even better.

To understand how it works, look at the image below.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3b4zifdzkpgag63cfwdv.png)
 

This blog is now finished.

I hope you've learned something new today. Please like/share if you did so that others can see it.

Follow [HarperDB](https://twitter.com/harperdbio) on Twitter for the latest updates.

[Twitter](https://twitter.com/TheAnkurTyagi) is a great place to follow my journey.

If you enjoyed this, sign up for my [newsletter](https://www.getrevue.co/profile/AnkurTyagi). It's completely free.