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.
Start by running Harper locally with npm or Docker.
Since technology tends to be built around the storage, processing, and transfer of data, start by defining your schema with the schema.graphql
file in the root of the application directory.
If you would like to query this data, add the @export
directive to our data schema and test out the REST, MQTT, or WebSocket endpoints.
When you are ready for something a little more advanced, start customizing your application.
Finally, when it’s time to deploy, explore replication between nodes.
If you would like to jump into the most advanced capabilities, learn about components.
For a more comprehensive deep dive, take a look at our Getting Started Guide.
Need help? Please don’t hesitate to reach out.
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.
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 Next.js Component to host modern, performant frontend applications. Other implementations leverage the built-in caching layer and JavaScript application system to server-side render pages 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 real-time documentation.
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.
We’re happy 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.