July 22, 2020
Control communication latency to achieve extreme application performance
FairCom can eliminate communication latency to achieve unprecedented performance
Fast and reliable communications are a necessity for time-sensitive, real-time operations. This is a unique strength of FairCom’s c-treeACE database, which powers high-speed financial transactions, emergency response call center data systems, real-time medical exams, high velocity stock market transactions, critical manufacturing operations and other vital activities in daily life.
Among the reasons FairCom delivers extremely fast solutions is the FairCom Continuum of Control, which provides developers with unprecedented control over all aspects of database and integration operations – including communications.
You can eliminate communication latency between your application and the c-treeACE database by compiling or linking the database directly into your application, which can be a microservice, web service, mobile app, desktop application, device, etc.
When you run applications and c-treeACE databases in separate processes on the same computer, most latency is eliminated by FairCom’s shared memory communication protocol. And when you run applications and c-treeACE databases on separate computers, latency is minimized by FairCom’s Binary TCP-IP protocol, which sends raw binary structures over TCP/IP. These structures transfer data hundreds-to-thousands of times faster than any other technique, including using JSON, BSON, protocol buffers, flat buffers, etc. This is FairCom’s Binary Advantage, which permeates every aspect of our products.
Compiling and Linking
If you choose to compile or link the database into the application, you eliminate latency between the two because both are running in the same process on the same server.
c-treeACE is a full-featured database server packaged as an executable, but can also be linked as a single linked library (DLL, SO, dylib, etc.), or a static linked library. FairCom has spent decades perfecting the process of making it easy to link and compile the database into your application – no matter what language, compiler and operating system you use.
Imagine compiling or linking a full-featured, multi-user database and integration platform into your application. It instantly extends the application’s capabilities. The application can easily store, retrieve and query its object data using fast ACID transactions. Without writing code, any data that the application puts in its embedded database automatically becomes available to external authorized users and applications who can concurrently connect by the thousands through SQL, ODBC, JDBC, NAV (FairCom’s unique navigational API), message queue, and REST APIs. Any authorized external user and application can use these same APIs to add and modify data in the application. All data can be automatically synchronized to any other c-treeACE, c-treeEDGE or c-treeRTG database using its built-in data replication – without writing code.
By simply linking to c-treeACE, your application is automatically integrated with all major database and middleware communication protocols – with zero communication latency to your application. This point is critical. All databases expand the capabilities of an application, but only as an external service with the inherent slowdown that comes from communication latency. Only when a database is embedded in an application does it become a true extension of the application itself. Why? Because all database and integration features run in process at full, native application speed. Embedding literally extends application code into the database and instantly extends application capabilities with powerful APIs.
New Database Architecture
Directly embedding a multi-user database into an application makes it possible to do things that no other application architecture can do. Each application instance can connect to external databases while simultaneously using its embedded database as its own private, persistent data cache for local data, configuration data, metadata, lookup data and transaction data. It can use the built-in, bi-directional data replication to automatically keep locally cached data synchronized with external databases – without writing code. It enables an application to choose which data to process locally and which data should be processed externally.
Microservices with Embedded Local Databases
This new type of architecture is ideal for microservices, distributed parallel processing, mobile devices, edge gateways, etc. For example, a microservice application can read and write all data locally for unmatched performance and let parallel data replication automatically keep data changes synchronized across other microservice instances and across centralized databases. This makes it easy to scale a microservice farm by simply adding more application instances.
It also makes it easy for microservice applications to process all data locally. For instance, an order microservice can have customer and product data automatically replicated to it so that it can locally lookup and join order data with customer and product data. Because there are no shared databases, each added microservice instance increases availability and performance by 100 percent. Add to that the ability of c-treeACE to process hundreds of thousands of transactions per second on a single server, this architecture provides unprecedented scalability and availability.
Lower Total Cost of Ownership
Another benefit of linking or compiling the database into your application is lower total cost of ownership through the elimination database administration. c-treeACE is designed to run without human intervention by efficiently healing and tuning itself.
Another advantage of linking or compiling the database into your application is that it eliminates database deployment. This is because an embedded database is automatically installed with the application. It greatly simplifies deployment and eliminates any potential version incompatibilities between the c-treeACE database and the application.
FairCom Binary Advantage
You can learn more about FairCom’s Binary Advantage and benefits of c-treeACE here.
Information about other aspects of the c-treeACE Continuum of Control can be explored in the following blog posts: