HarperDB 4.2 represents a step change for enterprise software: the world’s most powerful real-time application platform just got even better. By combining our lightning-fast database, user-programmable applications, and data streaming engine into a single, component-based platform, global-scale applications are easier, faster, and cheaper than ever before. Our marketing team even insists that the “DB” in HarperDB really stands for “Dream Bigger”.
The 4.2 release focused on performance. To that end, initial benchmarks show an astounding 100% increase in read performance compared to HarperDB 4.1 when using the new Resource API.
HarperDB 4.2 introduces a robust component architecture for user-programmed applications and pre-built extensions. By placing applications directly on top of the data that powers them, enterprise-grade experiences can be built in minutes, not months. Managed either through developers’ existing workflows and tooling, or via HarperDB Studio’s redesigned web-based IDE, developers can build faster applications, faster than ever before. This comprehensive system architecture requires less infrastructure, delivers lower latency, handles higher global throughput, and lowers cost compared to systems built with traditional architectures. Developers can now build anything better.
In an industry where efficiency is measured in milliseconds, it’s hard to imagine that the best option has been to chop applications up into dozens, if not hundreds, of individual moving parts. It does not take a rocket scientist to know that when there are more steps in a system, it will be slower, harder to manage, and more error-prone.
HarperDB believes that the simplicity of our platform represents the future of mission-critical applications. Those that resist the shift will inevitably struggle to stay competitive against companies that embrace this new highly scalable, hyper-efficient, and streamlined development paradigm.
Combining an application platform with the database that powers it opens new avenues for simplicity and control. Getting started is as easy as creating a GraphQL-style schema definition, after which HarperDB 4.2 instantly creates a RESTful API and the tables that back it. That same schema definition enables real-time pub-sub access via MQTT, MQTT over Websockets, and standard Websockets, out of the box. For more robust functionality, HarperDB components expose the underlying resources that define those out-of-the-box capabilities, allowing for custom application development with just a few lines of code.
To save developers even more time, HarperDB created a library of over 30 commonly used components that load seamlessly onto HarperDB 4.2 instances from our GitHub repo. Currently, the library includes extensions that integrate external data sources, authentication, file handlers, content types, and more. Each extension is developed to help accelerate real-world customer projects, and are easily modified to serve a developer’s specific requirements. Contributions to the repo are welcome, and we’re always open to collaborations. If you have an idea for an extension, please contact us.
One of the most powerful tools for accelerating user experiences is caching. As the leading platform for globally-distributed, high-performance, low-latency applications, adding configuration-based native caching was a natural next step for further improving end user experience.
HarperDB 4.2’s caching comes in two flavors: passive and active. CDN-inspired passive caching provides flexible options for expiration and eviction, giving developers long-tail cache support that can achieve up to a 99% cache hit rate. Although payload invalidation is simple, we recommend passive caching for catalog data with infrequent updates.
For more dynamic payloads, we recommend active event-driven caching to take origin offload to the next level. Active caching works by syncing with origin data sources in real time, replicating changes across the cluster, and delivering API endpoints that perform lookups without ever reaching back to the origin at all. For enterprises that wish to offload all client requests from the origin server, as well as save money by eliminating their entire API layer, active caching is a perfect solution.
Since our new caching capability is built on top of HarperDB’s component-based application layer, HarperDB 4.2 offers the flexibility to cache payloads that traditional CDNs can’t. First, cache keys can be created based on any part of the client request including POST body, slices of GraphQL payloads, URL query parameters, and even user-specific data like JWT payloads. And because HarperDB is also a database, origin responses can be transformed into multiple shapes optimized for different clients, eliminating excess network traffic and client overhead.
To learn more about our fully managed cache offering, visit our Connected Cache webpage or for self managed instances check out caching in our documentation.
A leading e-commerce platform added a HarperDB Connected Cache layer behind their existing CDN to improve their time to Largest Contentful Paint- a key metric in user experience that has a large impact on SEO. With their extensive catalog, their existing CDN was unable to cache all of the API responses needed to make this improvement. This resulted in 40% of their pages being delivered without this optimization- an SEO shortfall that represented millions of dollars in potential revenue lost.
After HarperDB’s Connected Cache was implemented, the cumulative cache miss rate plummeted, improving SEO rankings- and potential revenue.
Since HarperDB’s inception, we’ve used real-time streams to sync data between nodes. With the release of version 4.2, those same streaming interfaces can be exposed externally, allowing clients to ingest, process, transport, deliver, and store data directly via Websockets, MQTT, and Websockets over MQTT, and Server-Sent Events.
We expect this capability to provide enterprises with a low-lift alternative to the multi-year voyage of implementing connectivity solutions like Kafka. With robust streaming at the core of HarperDB 4.2, we expect to see cutting-edge industries that depend on real-time data to increasingly choose to build their end-to-end solutions on HarperDB, eschewing the complex and expensive solutions from hyperscalers like AWS, GCP, and Azure.
Such immense power in a single deployable package certainly opens new avenues for innovation; however, we are still bound by the laws of physics. Once the application and network layers have been optimized, the remaining fundamental limitation to performance becomes the distance between the client and the application. To overcome this limitation, HarperDB is built to be globally distributed and synchronized.
Being distributed is only as effective as your ability to scale that distribution along with your users, though, so 4.2 adds a new feature designed to make the process easier than ever before: clone node. Cloning allows a fully configured node in a cluster to be duplicated for rapid horizontal scale and low latency globally without complex deployment processes. Beyond giving every user the instant experience they expect, this also dramatically reduces DevOps workload.
HarperDB 4.2 is the most performance-focused release in our history. We remain steadfast in our belief that reducing complexity is the key to enterprise application development, and are continually expanding our capabilities with a focus on making it easy to accomplish complex tasks. With deployments of 4.2 already in production at some of the world’s most demanding organizations, we are constantly reminded of just how well our philosophy aligns with the real-world performance and economic requirements of enterprise applications, and we can’t wait to see how our vision for the future is leveraged next.
To get started, create a HarperDB Studio account and spin up a free cloud instance or install for free on your own hardware via npm or docker. Check out this tutorial with code samples and other 4.2 release highlights.
It’s time to Dream Bigger.