Click Below to Get the Code

Browse, clone, and build from real-world templates powered by Harper.
Blog
GitHub Logo

Improving Mobile App Performance with Your Database

this article takes a deeper dive into considerations for improving the performance of specifically mobile apps.
Blog

Improving Mobile App Performance with Your Database

Margo McCabe
Senior Director of Partnerships and Sales
at Harper
July 22, 2021
Margo McCabe
Senior Director of Partnerships and Sales
at Harper
July 22, 2021
Margo McCabe
Senior Director of Partnerships and Sales
at Harper
July 22, 2021
July 22, 2021
this article takes a deeper dive into considerations for improving the performance of specifically mobile apps.
Margo McCabe
Senior Director of Partnerships and Sales

You are probably aware that there are seemingly endless options to consider when it comes to selecting a database and other technologies for your mobile app. With so many choices, it can be difficult and confusing to determine what really matters when it comes to your tech stack. A little while back, I wrote an extensive article on the different database architectures and use cases available to provide guidance on picking the right technology for the right project. While that is still an accurate and solid resource, this article takes a deeper dive into considerations for improving the performance of specifically mobile apps.

Mobile vs. Web Apps

First and foremost, perhaps we should take a quick look at the difference between mobile and web apps. Mobile apps live and run on a mobile device itself, whereas web apps are accessed through a web browser and will adapt to whichever device you’re viewing them on. Native mobile apps are built for a specific platform, such as iOS for Apple or Android for, well, pretty much everything else. They are downloaded and installed through an app store and have access to system resources, such as GPS and the camera function. Web apps, however, are not native to a particular system and do not need to be downloaded or installed. Due to their responsive nature, they may look and function a lot like mobile apps, which is where some confusion arises.

To dig a bit deeper, mobile apps that are created for a targeted platform using the platform-specific SDK are categorized into Native Mobile Apps. Whereas Hybrid Mobile Apps are developed on platforms that provide code that is compatible with all available operating systems. Lastly, you may have heard of Progressive Web Apps (PWA’s), which many people claim is the future. With PWA’s, “The focus is towards creating web applications that have a look and feel exactly like native apps, without users having to download and install any software.”

Mobile App Performance Challenges

While many companies may have incredible technology otherwise, their mobile apps often struggle with performance, latency, and/or connectivity issues. This can be due to numerous factors. Perhaps the organization did not put a lot of time or resources into building their mobile apps from the ground up, and therefore they do not stand on a solid foundation. Or maybe they are battling with latency issues due to centralized databases and cloud/vendor lock-in. Speaking of the database - is it equipped to handle the right amount of users and frequent updates? Does it store data offline or handle complex queries? These are all things to consider when building a new mobile app from scratch, or adding new features to an existing app, etc. Bear in mind that it’s not impossible (and actually with some technologies it’s quite easy) to migrate from one database to another if needed.

Database Considerations

In my database architectures and use cases blog, I mentioned that when selecting a database, it’s important to consider your data type/structure, data volume, consistency, write & read frequency, hosting, cost, security, and integration constraints. While these certainly stand true, there are a few additional things you may want to consider when it comes to mobile apps:

  • Support for multiple mobile app platforms
  • Scalability
  • Data synchronization
  • Multi layer data model considerations
  • Network connectivity
  • Pushing new app updates and database changes
  • Resolving data conflicts between devices

Clearly, there is a lot to consider here, and it can be quite overwhelming to figure out what type of database technology might be the best fit. For starters, some databases fit nicely into one category when it comes to data structure/type of functionality. Other technologies take more of a hybrid approach, enabling cross-functionality or combining the functionality of different tools into one. So, unless you have a very specific project or limited long-term goals, it might be best to go with a more flexible hybrid technology that encompasses more functionality into one package to reduce the number of systems needed.

So, Which Database Should You Use?

Here I’ll try to provide a fair (while potentially still a little biased) explanation as to why Harper is the best option for improving the performance of your mobile app. From a high level, Harper is a modern hybrid database that combines the functionality of some of the best tools on the market into one, so it really covers a lot of bases. As a distributed database, it can be installed anywhere while presenting a single interface across a range of clouds, with backend ability to keep data synchronized everywhere. Harper is read and write optimized, handling upwards of 100K requests per second per node.

Of course, there are other great options out there as well. For example, this article published several years ago lists different database options based on functionality needed. Harper basically works everywhere in that table and provides all of the functionality mentioned.

Instead of trying to compare 300 different database options on the market, it might simplify your decision to do comparisons of this vs. that. This will enable you to take a deeper look at your needs and compare things like performance and cost. For example, in benchmark tests, Harper is 37 times faster than MongoDB and tends to be more cost-effective. It also supports SQL on JSON. Cockroach is a better fit for fintech use cases, whereas Harper may be a better fit for industries like gaming, ticketing, military, and media. You can’t lock out Harper’s database globally, and our clustering methodology relies on eventual consistency which allows for more efficient replication than more structured options. Relational databases like MySQL can be significantly more resource-intensive, requiring more maintenance and strict data structure. Whereas Harper can run on machines of all vertical scale from a Raspberry Pi to a supercomputer, requiring little to no maintenance, and with a dynamic schema allowing for easy data ingestion. This Harper vs. MongoDB vs. PostgreSQL comparison may be helpful as well.

Are you facing challenges around app latency? Or worried about being truly geo-distributed? With Harper, you can simply spin up more nodes to scale horizontally, putting Harper in various regions closer to your end-users, which will reduce latency and improve app performance, all while accessing data in real-time. By distributing APIs and data storage, and shifting application logic to the edge, you can remove bottlenecks and reduce infrastructure and cost. Globally replicating data at the speed of the Internet, Harper reduces app latency, improves performance and accessibility, and reduces overall complexity when it comes to data management. Lastly, Harper is about to release Custom Functions, which will enable developers to code their own custom API endpoints, utilizing core Harper methods, which results in a simplified tech stack and improved performance.

Mobile apps are constantly evolving, and you need a flexible database that can adjust on the fly without affecting performance. Even the most advanced and impressive technologies in the world will be brought down by a poor foundation or outdated database. Staying up to speed (literally) with modern technology is the best way to remain afloat in this highly competitive market. Therefore, the selection when it comes to your tech stack should not be taken lightly.

You are probably aware that there are seemingly endless options to consider when it comes to selecting a database and other technologies for your mobile app. With so many choices, it can be difficult and confusing to determine what really matters when it comes to your tech stack. A little while back, I wrote an extensive article on the different database architectures and use cases available to provide guidance on picking the right technology for the right project. While that is still an accurate and solid resource, this article takes a deeper dive into considerations for improving the performance of specifically mobile apps.

Mobile vs. Web Apps

First and foremost, perhaps we should take a quick look at the difference between mobile and web apps. Mobile apps live and run on a mobile device itself, whereas web apps are accessed through a web browser and will adapt to whichever device you’re viewing them on. Native mobile apps are built for a specific platform, such as iOS for Apple or Android for, well, pretty much everything else. They are downloaded and installed through an app store and have access to system resources, such as GPS and the camera function. Web apps, however, are not native to a particular system and do not need to be downloaded or installed. Due to their responsive nature, they may look and function a lot like mobile apps, which is where some confusion arises.

To dig a bit deeper, mobile apps that are created for a targeted platform using the platform-specific SDK are categorized into Native Mobile Apps. Whereas Hybrid Mobile Apps are developed on platforms that provide code that is compatible with all available operating systems. Lastly, you may have heard of Progressive Web Apps (PWA’s), which many people claim is the future. With PWA’s, “The focus is towards creating web applications that have a look and feel exactly like native apps, without users having to download and install any software.”

Mobile App Performance Challenges

While many companies may have incredible technology otherwise, their mobile apps often struggle with performance, latency, and/or connectivity issues. This can be due to numerous factors. Perhaps the organization did not put a lot of time or resources into building their mobile apps from the ground up, and therefore they do not stand on a solid foundation. Or maybe they are battling with latency issues due to centralized databases and cloud/vendor lock-in. Speaking of the database - is it equipped to handle the right amount of users and frequent updates? Does it store data offline or handle complex queries? These are all things to consider when building a new mobile app from scratch, or adding new features to an existing app, etc. Bear in mind that it’s not impossible (and actually with some technologies it’s quite easy) to migrate from one database to another if needed.

Database Considerations

In my database architectures and use cases blog, I mentioned that when selecting a database, it’s important to consider your data type/structure, data volume, consistency, write & read frequency, hosting, cost, security, and integration constraints. While these certainly stand true, there are a few additional things you may want to consider when it comes to mobile apps:

  • Support for multiple mobile app platforms
  • Scalability
  • Data synchronization
  • Multi layer data model considerations
  • Network connectivity
  • Pushing new app updates and database changes
  • Resolving data conflicts between devices

Clearly, there is a lot to consider here, and it can be quite overwhelming to figure out what type of database technology might be the best fit. For starters, some databases fit nicely into one category when it comes to data structure/type of functionality. Other technologies take more of a hybrid approach, enabling cross-functionality or combining the functionality of different tools into one. So, unless you have a very specific project or limited long-term goals, it might be best to go with a more flexible hybrid technology that encompasses more functionality into one package to reduce the number of systems needed.

So, Which Database Should You Use?

Here I’ll try to provide a fair (while potentially still a little biased) explanation as to why Harper is the best option for improving the performance of your mobile app. From a high level, Harper is a modern hybrid database that combines the functionality of some of the best tools on the market into one, so it really covers a lot of bases. As a distributed database, it can be installed anywhere while presenting a single interface across a range of clouds, with backend ability to keep data synchronized everywhere. Harper is read and write optimized, handling upwards of 100K requests per second per node.

Of course, there are other great options out there as well. For example, this article published several years ago lists different database options based on functionality needed. Harper basically works everywhere in that table and provides all of the functionality mentioned.

Instead of trying to compare 300 different database options on the market, it might simplify your decision to do comparisons of this vs. that. This will enable you to take a deeper look at your needs and compare things like performance and cost. For example, in benchmark tests, Harper is 37 times faster than MongoDB and tends to be more cost-effective. It also supports SQL on JSON. Cockroach is a better fit for fintech use cases, whereas Harper may be a better fit for industries like gaming, ticketing, military, and media. You can’t lock out Harper’s database globally, and our clustering methodology relies on eventual consistency which allows for more efficient replication than more structured options. Relational databases like MySQL can be significantly more resource-intensive, requiring more maintenance and strict data structure. Whereas Harper can run on machines of all vertical scale from a Raspberry Pi to a supercomputer, requiring little to no maintenance, and with a dynamic schema allowing for easy data ingestion. This Harper vs. MongoDB vs. PostgreSQL comparison may be helpful as well.

Are you facing challenges around app latency? Or worried about being truly geo-distributed? With Harper, you can simply spin up more nodes to scale horizontally, putting Harper in various regions closer to your end-users, which will reduce latency and improve app performance, all while accessing data in real-time. By distributing APIs and data storage, and shifting application logic to the edge, you can remove bottlenecks and reduce infrastructure and cost. Globally replicating data at the speed of the Internet, Harper reduces app latency, improves performance and accessibility, and reduces overall complexity when it comes to data management. Lastly, Harper is about to release Custom Functions, which will enable developers to code their own custom API endpoints, utilizing core Harper methods, which results in a simplified tech stack and improved performance.

Mobile apps are constantly evolving, and you need a flexible database that can adjust on the fly without affecting performance. Even the most advanced and impressive technologies in the world will be brought down by a poor foundation or outdated database. Staying up to speed (literally) with modern technology is the best way to remain afloat in this highly competitive market. Therefore, the selection when it comes to your tech stack should not be taken lightly.

this article takes a deeper dive into considerations for improving the performance of specifically mobile apps.

Download

White arrow pointing right
this article takes a deeper dive into considerations for improving the performance of specifically mobile apps.

Download

White arrow pointing right
this article takes a deeper dive into considerations for improving the performance of specifically mobile apps.

Download

White arrow pointing right

Explore Recent Resources

Blog
GitHub Logo

How a Shopify Custom Tie Shop Exposes a Common Flaw in Agent Architecture

Explore how a Shopify-based custom tie shop reveals a critical flaw in one LLM agent design strategy, and why context-first architectures with unified runtimes deliver faster, more accurate, and scalable customer support automation.
Blog
Explore how a Shopify-based custom tie shop reveals a critical flaw in one LLM agent design strategy, and why context-first architectures with unified runtimes deliver faster, more accurate, and scalable customer support automation.
Person with short dark hair and moustache, wearing a colorful plaid shirt, smiling outdoors in a forested mountain landscape.
Aleks Haugom
Senior Manager of GTM & Marketing
Blog

How a Shopify Custom Tie Shop Exposes a Common Flaw in Agent Architecture

Explore how a Shopify-based custom tie shop reveals a critical flaw in one LLM agent design strategy, and why context-first architectures with unified runtimes deliver faster, more accurate, and scalable customer support automation.
Aleks Haugom
Apr 2026
Blog

How a Shopify Custom Tie Shop Exposes a Common Flaw in Agent Architecture

Explore how a Shopify-based custom tie shop reveals a critical flaw in one LLM agent design strategy, and why context-first architectures with unified runtimes deliver faster, more accurate, and scalable customer support automation.
Aleks Haugom
Blog

How a Shopify Custom Tie Shop Exposes a Common Flaw in Agent Architecture

Explore how a Shopify-based custom tie shop reveals a critical flaw in one LLM agent design strategy, and why context-first architectures with unified runtimes deliver faster, more accurate, and scalable customer support automation.
Aleks Haugom
Blog
GitHub Logo

Nobody Wants to Pick a Data Center (And They Shouldn't Have To)

Harper Fabric simplifies cloud deployment by eliminating the need to choose data centers, automating infrastructure, scaling, and global distribution. Built for Harper’s unified runtime, it enables developers to deploy high-performance, distributed applications quickly without managing complex cloud configurations or infrastructure overhead.
Blog
Harper Fabric simplifies cloud deployment by eliminating the need to choose data centers, automating infrastructure, scaling, and global distribution. Built for Harper’s unified runtime, it enables developers to deploy high-performance, distributed applications quickly without managing complex cloud configurations or infrastructure overhead.
Headshot of a smiling woman with shoulder-length dark hair wearing a black sweater with white stripes and a gold pendant necklace, standing outdoors with blurred trees and mountains in the background.
Bari Jay
Senior Director of Product Management
Blog

Nobody Wants to Pick a Data Center (And They Shouldn't Have To)

Harper Fabric simplifies cloud deployment by eliminating the need to choose data centers, automating infrastructure, scaling, and global distribution. Built for Harper’s unified runtime, it enables developers to deploy high-performance, distributed applications quickly without managing complex cloud configurations or infrastructure overhead.
Bari Jay
Apr 2026
Blog

Nobody Wants to Pick a Data Center (And They Shouldn't Have To)

Harper Fabric simplifies cloud deployment by eliminating the need to choose data centers, automating infrastructure, scaling, and global distribution. Built for Harper’s unified runtime, it enables developers to deploy high-performance, distributed applications quickly without managing complex cloud configurations or infrastructure overhead.
Bari Jay
Blog

Nobody Wants to Pick a Data Center (And They Shouldn't Have To)

Harper Fabric simplifies cloud deployment by eliminating the need to choose data centers, automating infrastructure, scaling, and global distribution. Built for Harper’s unified runtime, it enables developers to deploy high-performance, distributed applications quickly without managing complex cloud configurations or infrastructure overhead.
Bari Jay
Blog
GitHub Logo

New RocksDB Binding for Node.js

rocksdb-js is a modern Node.js binding for RocksDB, offering full transaction support, lazy range queries, and a TypeScript API. Built for performance and scalability, it enables reliable write-heavy workloads, real-time replication, and high-concurrency applications in Harper 5.0 and beyond.
Blog
rocksdb-js is a modern Node.js binding for RocksDB, offering full transaction support, lazy range queries, and a TypeScript API. Built for performance and scalability, it enables reliable write-heavy workloads, real-time replication, and high-concurrency applications in Harper 5.0 and beyond.
Person with short hair and rectangular glasses wearing a plaid shirt over a dark T‑shirt, smiling broadly with a blurred outdoor background of trees and hills.
Chris Barber
Staff Software Engineer
Blog

New RocksDB Binding for Node.js

rocksdb-js is a modern Node.js binding for RocksDB, offering full transaction support, lazy range queries, and a TypeScript API. Built for performance and scalability, it enables reliable write-heavy workloads, real-time replication, and high-concurrency applications in Harper 5.0 and beyond.
Chris Barber
Apr 2026
Blog

New RocksDB Binding for Node.js

rocksdb-js is a modern Node.js binding for RocksDB, offering full transaction support, lazy range queries, and a TypeScript API. Built for performance and scalability, it enables reliable write-heavy workloads, real-time replication, and high-concurrency applications in Harper 5.0 and beyond.
Chris Barber
Blog

New RocksDB Binding for Node.js

rocksdb-js is a modern Node.js binding for RocksDB, offering full transaction support, lazy range queries, and a TypeScript API. Built for performance and scalability, it enables reliable write-heavy workloads, real-time replication, and high-concurrency applications in Harper 5.0 and beyond.
Chris Barber
Blog
GitHub Logo

Open Sourcing Harper

Harper is now open source, with its core platform released under Apache 2.0 and enterprise features source-available. This shift builds trust, enables community contributions, and positions Harper as a unified, transparent platform for developers and AI-driven applications.
Blog
Harper is now open source, with its core platform released under Apache 2.0 and enterprise features source-available. This shift builds trust, enables community contributions, and positions Harper as a unified, transparent platform for developers and AI-driven applications.
Person with shoulder‑length curly brown hair and light beard wearing a gray long‑sleeve shirt, smiling outdoors with trees and greenery in the background.
Ethan Arrowood
Senior Software Engineer
Blog

Open Sourcing Harper

Harper is now open source, with its core platform released under Apache 2.0 and enterprise features source-available. This shift builds trust, enables community contributions, and positions Harper as a unified, transparent platform for developers and AI-driven applications.
Ethan Arrowood
Apr 2026
Blog

Open Sourcing Harper

Harper is now open source, with its core platform released under Apache 2.0 and enterprise features source-available. This shift builds trust, enables community contributions, and positions Harper as a unified, transparent platform for developers and AI-driven applications.
Ethan Arrowood
Blog

Open Sourcing Harper

Harper is now open source, with its core platform released under Apache 2.0 and enterprise features source-available. This shift builds trust, enables community contributions, and positions Harper as a unified, transparent platform for developers and AI-driven applications.
Ethan Arrowood
Blog
GitHub Logo

The Resource API in Harper v5: HTTP Done Right

Harper v5's Resource API maps JavaScript class methods directly to HTTP verbs, eliminating routing and translation layers. Tables extend the same Resource class, unifying HTTP handling and data access into one interface. Key v5 additions include pre-parsed RequestTarget objects, Response-aware source caching with stale-while-revalidate support, and async context tracking via getContext().
Product Update
Blog
Harper v5's Resource API maps JavaScript class methods directly to HTTP verbs, eliminating routing and translation layers. Tables extend the same Resource class, unifying HTTP handling and data access into one interface. Key v5 additions include pre-parsed RequestTarget objects, Response-aware source caching with stale-while-revalidate support, and async context tracking via getContext().
Person with very short blonde hair wearing a light gray button‑up shirt, standing with arms crossed and smiling outdoors with foliage behind.
Kris Zyp
SVP of Engineering
Blog

The Resource API in Harper v5: HTTP Done Right

Harper v5's Resource API maps JavaScript class methods directly to HTTP verbs, eliminating routing and translation layers. Tables extend the same Resource class, unifying HTTP handling and data access into one interface. Key v5 additions include pre-parsed RequestTarget objects, Response-aware source caching with stale-while-revalidate support, and async context tracking via getContext().
Kris Zyp
Apr 2026
Blog

The Resource API in Harper v5: HTTP Done Right

Harper v5's Resource API maps JavaScript class methods directly to HTTP verbs, eliminating routing and translation layers. Tables extend the same Resource class, unifying HTTP handling and data access into one interface. Key v5 additions include pre-parsed RequestTarget objects, Response-aware source caching with stale-while-revalidate support, and async context tracking via getContext().
Kris Zyp
Blog

The Resource API in Harper v5: HTTP Done Right

Harper v5's Resource API maps JavaScript class methods directly to HTTP verbs, eliminating routing and translation layers. Tables extend the same Resource class, unifying HTTP handling and data access into one interface. Key v5 additions include pre-parsed RequestTarget objects, Response-aware source caching with stale-while-revalidate support, and async context tracking via getContext().
Kris Zyp
News
GitHub Logo

Harper 5.0 Is Here: Open Source, RocksDB, and a Runtime Built for the Agentic Era

Harper 5.0 launches with a fully open-source core under Apache 2.0, RocksDB as a native storage engine alongside LMDB, and source-available Harper Pro. This release delivers a unified runtime purpose-built for agentic engineering, from prototype to production.
Product Update
News
Harper 5.0 launches with a fully open-source core under Apache 2.0, RocksDB as a native storage engine alongside LMDB, and source-available Harper Pro. This release delivers a unified runtime purpose-built for agentic engineering, from prototype to production.
Person with short dark hair and moustache, wearing a colorful plaid shirt, smiling outdoors in a forested mountain landscape.
Aleks Haugom
Senior Manager of GTM & Marketing
News

Harper 5.0 Is Here: Open Source, RocksDB, and a Runtime Built for the Agentic Era

Harper 5.0 launches with a fully open-source core under Apache 2.0, RocksDB as a native storage engine alongside LMDB, and source-available Harper Pro. This release delivers a unified runtime purpose-built for agentic engineering, from prototype to production.
Aleks Haugom
Apr 2026
News

Harper 5.0 Is Here: Open Source, RocksDB, and a Runtime Built for the Agentic Era

Harper 5.0 launches with a fully open-source core under Apache 2.0, RocksDB as a native storage engine alongside LMDB, and source-available Harper Pro. This release delivers a unified runtime purpose-built for agentic engineering, from prototype to production.
Aleks Haugom
News

Harper 5.0 Is Here: Open Source, RocksDB, and a Runtime Built for the Agentic Era

Harper 5.0 launches with a fully open-source core under Apache 2.0, RocksDB as a native storage engine alongside LMDB, and source-available Harper Pro. This release delivers a unified runtime purpose-built for agentic engineering, from prototype to production.
Aleks Haugom