Unprecedented control over consistency, efficiency and scale
1.6 million transactions per second on a single thread with linear scale
- Use NAV to create an algorithm to process your data exactly the way you want. NAV gives you extreme control for extreme performance and efficiency.
- Use NAV to navigate from record to record using a wide variety of techniques, such as using an index to look up a record, moving to next or previous records, traversing records in index or data order, filtering records in batch, looking up foreign keys, walking a hierarchy or graph of records, etc.
- Use NAV to control if and how a record gets locked using read, write, exclusive, commit intent, commit, strict and non-strict serializer locks.
Begin Transaction and End Transaction
- Use NAV to control when transactions begin, end, are nested, and whether an individual record participates in a transaction.
- Use NAV to save and restore multiple record positions to instantly retrieve records at saved positions or to jump back to any record.
High-velocity Processing of Complex Data in Real Time
Speed and flexibility are top reasons why companies use the FairCom c-tree Database Engine. The NAV API is the key. NAV allows a customer to control every detail of finding, navigating, locking and transacting records. This level of control allows a developer to do exactly what is needed. This is a new kind of speed — a speed that comes from doing less so the server can process more data in less time with complete predictability.
What is NAV?
NAV is a next-generation, object-oriented, record-navigation API based on the relational database model. It is the result of FairCom’s four decades of research and hands-on experience with Fortune 100 customers in their most mission-critical, real-time applications. This list includes VISA transaction processing, UPS package routing, stock market transaction analysis, global mobile phone routing, etc. The result is an unprecedented level of control that delivers a level of performance that other databases cannot match.
The NAV API provides fast indexed access to relational records in tables. You have low-level control over what is indexed in ways like no other database. Your code can walk an index forward or backward, look up a value in an index to find a record, batch process records between two positions in an index, save positions in an index, jump back to saved positions, use saved positions to restore a set of records without looking them up in indexes, etc. You can access records in the order they are stored in a table or in sorted index order. You have complete control.
With NAV being fully relational, you can model data exactly as you would in SQL databases using tables, rows, columns, primary keys, foreign keys, schemas, constraints, etc.
The FairCom Database Engine has all the major features found in other enterprise databases, such as ANSI SQL, ACID transactions, high availability, multi-threaded parallel processing, encryption, conditional indexes, triggers, partitioned tables, etc. It also has features found in NoSQL databases, such as JSON, relaxed transaction processing, eventually consistent data, eventually consistent indexes, etc.
NAV gives you complete control over each of the four ACID properties: atomicity, consistency, isolation and durability. NAV does this by providing total control over locks and transactions during record navigation. It also permits you to define your own data processing algorithms to meet your precise needs for performance, scale, availability and consistency. No other SQL or NoSQL database can match NAV’s level of control, and this allows you to achieve the ultimate level of performance.
FairCom designed NAV to meet the needs of C++, Java, .NET, and Node.JS developers who demand high performance. These developers are often extremely frustrated with other existing databases that assume too much and do too much.
It must be noted that even though a developer has full control with NAV, it is not hard to use. It is object-oriented and intuitive. It has sensible defaults, such as automatically providing ACID-transaction compliance until you decide to override it.
NAV is Part of a Unified Multimodel Database
All APIs work simultaneously on the same data.
SQL and NAV
The FairCom c-tree Database Engine is also an ANSI SQL database. The same data you process in NAV can be queried and processed simultaneously in SQL and vice versa. This gives you the best of both worlds. You get the developer productivity and vast third-party tool support of SQL, and you can use NAV for your most mission-critical, real-time, predictable, high-performance needs.
NAV and Bare Metal API
The Bare Metal API makes it easy for you to take your application’s complex, nested, binary data structures and store them directly in the database. This is faster than storing blobs in a SQL database, and it is better because FairCom can easily index any part of any complex binary structure using any filtering criteria. This enables FairCom’s SQL and NAV APIs to query complex binary data as if it were simple rows and columns. This is another way FairCom’s c-tree Database Engine allows you to achieve extreme performance. You do not need to do the slow and inefficient process of transforming complex, binary structures to and from relational tables.
If you need more control, the Bare Metal API will allow you to control every detail of data processing. You control when or if data is written to an index, what data is written, what byte order it is written in, etc. It also allows you to implement your own compression, encryption and indexing algorithms, as well as others.
… And if you need even more control, you have access to the C source code where you can modify the source code without violating your support agreement with FairCom. One reason for this is that you receive customer support directly from the developers who build and maintain the database. Because of this and other support-related benefits, FairCom has a 97.2 percent customer satisfaction rating.
NAV in the Real World
Imagine using NAV to build an online retail store. Some transactions, like a banking operation, require true ACID compliance. Meanwhile, other transactions, such as a shopping cart, need availability more than they need consistency. With NAV, you can meet these and other requirements due to your total control over data processing.
For example, when a customer logs in to your retail application, you can do a quick index lookup to retrieve the customer’s records from RAM without transactions and record locks. You can walk the foreign keys in these records to open related records, after which you can save all these record positions. Then, as the customer makes subsequent requests, you can instantly retrieve all these records using their saved positions instead of doing index lookups. There is no limit to how many record positions you can save and reopen instantly. You can use this technique for a massive increase in speed. For example, you can use this technique with a customer’s shopping cart, products in the cart, price records, shipping records, customer preferences, the last 50 products searched for, the last ad displayed and so forth.
Other capabilities include:
- When a customer places an order, you can use the NAV API’s built-in ACID compliance to automatically ensure transactional integrity of the financial transaction.
- When processing an order, you can use different combinations of record navigation techniques, locks and transactions for saving shipping information, updating inventory, changing ad preferences and so forth. You have the ability to control the exact level of atomicity, consistency, isolation and durability you desire for each type of transaction.
When your data processing does exactly what is needed and no more, you achieve a new kind of speed. You do less so the server can do more in less time. This extreme performance uses your hardware to its maximum capacity. This allows the FairCom c-tree Database Engine to scale vertically better than any other database.
NAV and the Bottom Line
Don’t conform to your database. Make your database conform to you.
It is common for applications using the FairCom c-tree Database Engine to achieve hundreds of thousands of real-world transactions per second on a single server. Imagine replacing scores of NoSQL servers with two servers. This greatly reduces your hardware, license and support costs.
Furthermore, FairCom’s c-treeACE Database is extremely reliable. It is common for applications to run without downtime for years at a time. One customer recently reported zero downtime in 10 years. FairCom has multiple customers running mission-critical, high-velocity, real-time applications that do not experience unplanned downtime.