Frequently Asked Questions



What is HarperDB?
A enterprise class database written in Node.js designed to fulfill big data challenges simply and cost effectively.
What makes HarperDB different from its competitors?
HarperDB is simple, easy to use, and cost effective. The reason is because we store data using a different methodology than any other db. This allows HarperDB to be fully indexed natively and to have a very small footprint while providing enterprise class feature sets. It’s the only enterprise class database written in Node.js.
Who will benefit from HarperDB?
HarperDB is intended for individuals and teams looking to simplify big data workloads. Folks who are looking for a solution that they can setup in minutes, but will continue to scale with them to meet massive load and volume. HarperDB is focused on simplicity and we know this creates some trade-offs. HarperDB is primarily intended for use by application developers looking to be self sufficient and meet today’s massive big data challenges without the need for a massive dev ops team to support them.
Who should manage HarperDB once installed?
Even the installation can be managed by a new developer. Once installed HarperDB is capable of being managed by developers of all levels. No need to hire database administrators, HarperDB provides the needed tools to see your data and see the state of the system HarperDB is running with.
Is HarperDB open source?
The core solution of HarperDB is not open source at this time. Elements of the solution will be released as open source such as the TCP server, HTTP server etc. The core solution is available as a free community edition and paid enterprise version. Our goal is to provide excellent documentation for our free version so that people can build apps without making any investment. That said, as apps scale we offer an enterprise version with 24x7 support, and more features like clustering and replication that are more designed for an enterprise use case.
Is my data safe?
HarperDB has role and user based security allowing you to simply and easily control that the right people have access to your data. We also implement a number of authentication mechanisms to ensure the transactions submitted are trusted and secure.
Who Is Harper?
The founding team of HarperDB is incredibly passionate about our work, product, and our company. We wanted a name and logo that represented that. We also wanted something that reflected our values of authenticity, transparency, focus, and accountability. Everyone at HarperDB is very passionate about our dogs, and we feel that they reflect our core values well. Dogs are loyal, authentic, honest, hard working, and trustworthy. These are all traits that we hope to embody to our customers, partners, and employees. Harper also happens to be our CEO and co-founders’ 5 year-old adopted mutt mix.

About The Product

Why is HarperDB written in Node.js?
Node.js provides a popular interface allowing new and experienced developers to get up to speed quickly. With a very large community Node.js has been adopted by many market leader domains allowing for the installation and proliferation of Node.js and packages. This creates integration points for places as small as micro-processing boards to enterprise level super computers and graphic processing units.
How is data stored in HarperDB?
Data is stored on disk in an attribute exploded model. See "What is an exploded model?"
How is HarperDB’s SQL and NoSQL capabilities different from other solutions?
Many solutions offer noSQL capability and separate processing for SQL such as in-memory transformation or multi-model support. HarperDB’s unique mechanism for storing each data attribute individually allows for performing noSQL and SQL operations in real-time on the stored data set.
What is an exploded model?
HarperDB takes each attribute of a database table object and creates a directory and file for the attribute and its corresponding value. For example the attribute eye color will be represented by a directory and the corresponding value “green” will be represented by a file with the value “green."
Does HarperDB support ACID transactions?
All transactions are granular down to the attribute allowing for extremely precise writes/updates. If one aspect of the write fails, HarperDB rolls back the transaction to the previous record state. All transactions are versioned allowing for precise rollback and auditing. All data is written directly to the file system allowing for data durability in a human readable format.
Is HarperDB schema-less?
HarperDB has a dynamic schema allowing for developers to add new data points on the fly with no administration. Our roadmap includes the option to create a structured schema on tables that need more control.
How does HarperDB ensure high availability and consistency?
Node.js clustering allows our developers to create highly available access to users data stores. We do this by utilizing file system journaling and a consistency check process to manage race conditions and unintended overwrites. HarperDB’s exploded data model allows for attribute specific roll backs allowing users to quickly correct mistakes.
What type of device should I run HarperDB on?
HarperDB is built to have a small footprint on scale as such it can run on micro-computers, like a Raspberry Pi, all the way up to a super computer. It it built with scalability and flexibility in mind and can grow with your IT eco-system.
What operating system should I use to run HarperDB?
HarperDB is built to run on any flavor of Linux or Mac.
Is HarperDB row or column oriented?
HarperDB can be considered column oriented, however, the exploded data model creates an interface that is free from either of these orientations. A user can search and update with columnar benefits and be as ACID as row oriented restrictions.
What coding languages can I use to work with HarperDB?
HarperDB has TCP, HTTP, JDBC, and ODBC protocols. Java, Node.js, PHP, .NET, C#, Ruby, and any other language that can interact with these protocols is supported.

About The Licensing

How do I access support?
If you have our enterprise product you can access support via the website, email, or directly in your HarperDB studio. If you are using the free version you can access our knowledge base. To learn about our enterprise support, visit our zendesk.
I use the free version of HarperDB, why should I upgrade to Enterprise?
If you need 24x7 support, a dedicated account manager, or are looking to harness features outside the free version such as replication, clustering, or JDBC and ODBC drivers then upgrading to the Enterprise version is probably a good idea. If you are a small team working on a prototype or a new application you are welcome to run the free version in both development and production.
What support is offered for the free version?
For the free version of HarperDB, you can access the freemium knowledge base.
What are the usage restrictions on the free version?
The free version of HarperDB can be used in development or production. We do not put any restrictions on the usage of the product, outside of illegal activity.

Don't see your question here?


Learn How HarperDB Works

Download our free guide to learn the ins-and-outs of the product and what sets us apart from other databases.