|
1 |
| -# HarperDB Docs |
| 1 | +# Harper Docs |
2 | 2 |
|
3 |
| -\ |
4 |
| -HarperDB is a globally-distributed edge application platform. It reduces complexity, increases performance, and lowers costs by combining user-defined applications, a high-performance database, and an enterprise-grade streaming broker into a single package. The platform offers unlimited horizontal scale at the click of a button, and syncs data across the cluster in milliseconds. HarperDB simplifies the process of delivering applications and the data that drives them to the edge, which dramatically improves both the user experience and total cost of ownership for large-scale applications. Deploying HarperDB on global infrastructure enables a CDN-like solution for enterprise data and applications. |
| 3 | +{% hint style="info" %} |
| 4 | +[Connect with our team!](https://www.harpersystems.dev/contact) |
| 5 | +{% endhint %} |
5 | 6 |
|
6 |
| -HarperDB's documentation covers installation, getting started, administrative operation APIs, security, and much more. Browse the topics at left, or choose one of the commonly used documentation sections below. |
| 7 | +## What is Harper? Performance, Simplicity, and Scale. |
7 | 8 |
|
| 9 | +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. |
8 | 10 |
|
| 11 | +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. |
9 | 12 |
|
10 |
| -{% hint style="info" %} |
11 |
| -Wondering what's new with HarperDB 4.4? Take a look at our latest [Release Notes](https://docs.harperdb.io/docs/technical-details/release-notes/4.tucker/4.4.0) |
| 13 | +<figure><img src="../images/harperstack.jpg" alt="Comparison of Harper's all-in-one technology (left) versus traditional multi-system approaches (right), highlighting Harper's speed, simplicity, and efficiency with no intermediary processes, against the latency and complexity of legacy strategies."><figcaption></figcaption></figure> |
| 14 | + |
| 15 | +## Understanding the Paradigm Shift |
| 16 | + |
| 17 | +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. |
| 18 | + |
| 19 | +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. |
| 20 | + |
| 21 | +## Build With Harper |
| 22 | + |
| 23 | +Start by running Harper locally with [npm](https://www.npmjs.com/package/harperdb) or [Docker](https://hub.docker.com/r/harperdb/harperdb). |
| 24 | + |
| 25 | +Since technology tends to be built around the storage, processing, and transfer of data, start by [defining your schema](developers/applications/#creating-our-first-table) with the `schema.graphql` file in the root of the application directory. |
| 26 | + |
| 27 | +If you would like to [query](developers/applications/#adding-an-endpoint) this data, add the `@export` directive to our data schema and test out the [REST](developers/rest.md), [MQTT](developers/real-time.md#mqtt), or [WebSocket](developers/real-time.md#websockets) endpoints. |
| 28 | + |
| 29 | +When you are ready for something a little more advanced, start [customizing your application](developers/applications/#custom-functionality-with-javascript). |
| 30 | + |
| 31 | +Finally, when it’s time to deploy, explore [replication](developers/replication/) between nodes. |
| 32 | + |
| 33 | +If you would like to jump into the most advanced capabilities, learn about [components](developers/components/). |
| 34 | + |
| 35 | +For a more comprehensive deep dive, take a look at our [Getting Started Guide](getting-started.md). |
| 36 | + |
| 37 | +{% hint style="warning" %} |
| 38 | +Need help? Please don’t hesitate to [reach out](https://www.harpersystems.dev/contact). |
12 | 39 | {% endhint %}
|
13 | 40 |
|
| 41 | +## Popular Use Cases |
| 42 | + |
| 43 | +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. |
| 44 | + |
| 45 | +### Online Catalogs & Content Delivery |
| 46 | + |
| 47 | +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](https://github.com/HarperDB/nextjs) to host modern, performant frontend applications. Other implementations leverage the built-in caching layer and JavaScript application system to [server-side render pages](https://www.harpersystems.dev/development/tutorials/server-side-rendering-with-multi-tier-cache) that remain fully responsive because of built-in WebSocket connections. |
| 48 | + |
| 49 | +### Data Delivery Networks |
| 50 | + |
| 51 | +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](developers/real-time.md). |
| 52 | + |
| 53 | +### Edge Inference Systems |
| 54 | + |
| 55 | +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. |
| 56 | + |
| 57 | +[We’re happy](https://www.harpersystems.dev/contact) to walk you through how to do this. |
| 58 | + |
14 | 59 | ## Getting Started
|
15 | 60 |
|
16 |
| -<table data-column-title-hidden data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="getting-started.md"><strong>Getting Started Guide</strong></a></td><td>Get up and running with HarperDB</td><td></td><td><a href="getting-started.md">getting-started.md</a></td></tr><tr><td><a href="deployments/install-harperdb/"><strong>Quick Install HarperDB</strong></a></td><td>Run HarperDB on your on hardware</td><td></td><td><a href="deployments/install-harperdb/">install-harperdb</a></td></tr><tr><td><a href="deployments/harperdb-cloud/"><strong>Try HarperDB Cloud</strong></a></td><td>Spin up an instance in minutes to get going fast</td><td></td><td><a href="deployments/harperdb-cloud/">harperdb-cloud</a></td></tr></tbody></table> |
| 61 | +<table data-column-title-hidden data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="getting-started.md"><strong>Getting Started Guide</strong></a></td><td>Get up and running with Harper</td><td></td><td><a href="getting-started.md">getting-started.md</a></td></tr><tr><td><a href="deployments/install-harper/"><strong>Quick Install Harper</strong></a></td><td>Run Harper on your on hardware</td><td></td><td><a href="deployments/install-harper/">install-harper</a></td></tr><tr><td><a href="deployments/harper-cloud/"><strong>Try Harper Cloud</strong></a></td><td>Spin up an instance in minutes to get going fast</td><td></td><td><a href="deployments/harper-cloud/">harper-cloud</a></td></tr></tbody></table> |
17 | 62 |
|
18 |
| -## Building with HarperDB |
| 63 | +## Building with Harper |
19 | 64 |
|
20 |
| -<table data-column-title-hidden data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="developers/applications/"><strong>HarperDB Applications</strong></a></td><td>Build your a fully featured HarperDB Component with custom functionality</td><td><a href="developers/applications/">applications</a></td></tr><tr><td><a href="developers/rest.md"><strong>REST Queries</strong></a></td><td>The recommended HTTP interface for data access, querying, and manipulation</td><td><a href="developers/rest.md">rest.md</a></td></tr><tr><td><a href="developers/operations-api/"><strong>Operations API</strong></a></td><td>Configure, deploy, administer, and control your HarperDB instance</td><td><a href="developers/operations-api/">operations-api</a></td></tr></tbody></table> |
| 65 | +<table data-column-title-hidden data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="developers/applications/"><strong>Harper Applications</strong></a></td><td>Build your a fully featured Harper Component with custom functionality</td><td><a href="developers/applications/">applications</a></td></tr><tr><td><a href="developers/rest.md"><strong>REST Queries</strong></a></td><td>The recommended HTTP interface for data access, querying, and manipulation</td><td><a href="developers/rest.md">rest.md</a></td></tr><tr><td><a href="developers/operations-api/"><strong>Operations API</strong></a></td><td>Configure, deploy, administer, and control your Harper instance</td><td><a href="developers/operations-api/">operations-api</a></td></tr></tbody></table> |
21 | 66 |
|
22 |
| -<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="developers/clustering/"><strong>Clustering & Replication</strong></a></td><td>The process of connecting multiple HarperDB databases together to create a database mesh network that enables users to define data replication patterns.</td><td></td><td><a href="developers/clustering/">clustering</a></td></tr><tr><td><a href="administration/harperdb-studio/"><strong>Explore the HarperDB Studio</strong></a></td><td>The web-based GUI for HarperDB. Studio enables you to administer, navigate, and monitor all of your HarperDB instances in a simple, user friendly interface.</td><td></td><td><a href="administration/harperdb-studio/">harperdb-studio</a></td></tr></tbody></table> |
| 67 | +<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="developers/replication/"><strong>Clustering & Replication</strong></a></td><td>The process of connecting multiple Harper databases together to create a database mesh network that enables users to define data replication patterns.</td><td></td><td><a href="developers/replication/">clustering</a></td></tr><tr><td><a href="administration/harper-studio/"><strong>Explore the Harper Studio</strong></a></td><td>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.</td><td></td><td><a href="administration/harper-studio/">harper-studio</a></td></tr></tbody></table> |
0 commit comments