Harper Docs
Last updated
Last updated
Harper is an all-in-one backend technology that fuses database technologies, caching, application hosting, and messaging functions into a single system. Unlike traditional architectures where each piece runs independently and incurs extra costs and latency from serialization and network operations between processes, Harper systems can handle workloads seamlessly and efficiently.
Harper simplifies scaling with clustering and native data replication. At scale, architectures tend to include 4 to 16 redundant, geo-distributed nodes located near every user population center. This ensures that every user experiences minimal network latency and maximum reliability in addition to the already rapid server responses.
Have you ever combined MongoDB with Redis, Next.js with Postgres, or perhaps Fastify with anything else? The options seem endless. It turns out that the cost of serialization, network hops, and intermediary processes in these systems adds up to 50% of the total system resources used (often more). Not to mention the hundreds of milliseconds of latency they can add.
What we realized is that networking systems together in this way is inefficient and only necessary because a fused technology did not exist. So, we built Harper, a database fused with a complete JavaScript application system. It’s not only orders of magnitude more performant than separated systems, but it’s also easier to deploy and manage at scale.
With so much functionality built in, the use cases span nearly all application systems. Some of the most popular are listed below, motivated by new levels of performance and system simplicity.
Capturing, storing, and processing real-time data streams from client and IoT systems typically requires a stack of technology. Harper’s selective data replication and self-healing connections make for an ideal multi-tier system where edge and cloud systems both run Harper, making everything more performant.
Start by running Harper locally with or .
Since technology tends to be built around the storage, processing, and transfer of data, start by with the schema.graphql
file in the root of the application directory.
If you would like to this data, add the @export
directive to our data schema and test out the , , or endpoints.
When you are ready for something a little more advanced, start .
Finally, when it’s time to deploy, explore between nodes.
If you would like to jump into the most advanced capabilities, learn about .
For a more comprehensive deep dive, take a look at our .
Need help? Please don’t hesitate to .
For use cases like e-commerce, real estate listing, and content-oriented sites, Harper’s breakthroughs in performance and distribution pay dividends in the form of better SEO and higher conversion rates. One common implementation leverages Harper’s to host modern, performant frontend applications. Other implementations leverage the built-in caching layer and JavaScript application system to that remain fully responsive because of built-in WebSocket connections.
For use cases like real-time sports updates, flight tracking, and zero-day software update distribution, Harper is rapidly gaining popularity. Harper’s ability to receive and broadcast messages while simultaneously handling application logic and data storage streamlines operations and eliminates the need for multiple separate systems. To build an understanding of our messaging system function, refer to our .
to walk you through how to do this.
Get up and running with Harper
Run Harper on your on hardware
Spin up an instance in minutes to get going fast
Build your a fully featured Harper Component with custom functionality
The recommended HTTP interface for data access, querying, and manipulation
Configure, deploy, administer, and control your Harper instance
The process of connecting multiple Harper databases together to create a database mesh network that enables users to define data replication patterns.
The web-based GUI for Harper. Studio enables you to administer, navigate, and monitor all of your Harper instances in a simple, user friendly interface.