FairCom's Origin Story:
c-tree Database


This powerful database is the heart of scores of applications. Developers have used it for embedded commercial settings, like automobile and chip manufacturing; high-velocity transactions, like some of the world's largest financial apps; and everything in between.

What is a c-tree database?

Before it was FairCom DB, our database was known as "c-tree." It's our high-speed, embeddable multimodel database engine, and it's been used worldwide since 1979.

Our database was the first commercial available for the non-mainframe market. Its small footprint, high throughput, and portability set the stage for its ability to survive and thrive for more than 40 years. 

Isometric illustration of ROI

What is ISAM?

One of the secrets to c-tree’s performance is its ISAM API. For those unfamiliar with this acronym, it stands for Indexed Sequential Access Method. To put it simply, this means it uses indexes to quickly locate data stored in a binary data file. Most databases use ISAM, also known as indexes, to facilitate high-speed data lookup.

What’s different about c-tree is that we made this ISAM API layer available to the programmer. Other databases often hide this layer and force programmers to only use higher-level languages, like SQL. But at FairCom, we believe a programmer knows best how to access their data. By making the ISAM API available, a programmer can tune queries to find the precise piece(s) of information needed.

Power to the programmer

Instead of relying on a black box to parse a query and then relying on costing, cardinality, hints, etc., to try to find the data, the ISAM API gives the programmer absolute control.

We’ve seen customers use this power to build applications supporting thousands of concurrent users and background threads, with several hundred thousand open files, and processing transaction throughput rates in the 500,000+ transactions per second (tps) on a single computer. In internal benchmarking, FairCom has achieved insert rates of more than 1,000,000 tps and query speeds even faster.

Get a Demo

Let's get personal

We're happy to walk you through our products—and find the best solution for you. Contact us to schedule a personalized demo.

Reach out to us

A brief history of c-tree and FairCom

  • Origins: 1979

    The origins of the “c-tree” name came from the C language that c-tree is written in and the b+”tree” indexing method. The c-tree product name has changed to signify major releases, with the original lineage ending with c-tree v4.

  • Change: 1992

    In 1992, the name was changed to “c-tree Plus” to signify the major enhancements between v4 and v6, including the multi-threaded multimodel database server that FairCom DB has become. Fun fact: There was no c-tree v5!

  • Growth: 2009

    In 2009, the name became “c-tree ACE” for the v9 and later lineage. In changed again with v12 in 2021 to its current name, FairCom DB. This was in part because we found many people didn’t realize that FairCom Db supported many languages beyond C. It currently supports more than 20 languages/APIs/drivers. See the diagram below for a full list of supported access methods.

  • Evolution: 2024

    Today, FairCom has evolved and standardized the naming and branding of our database products. The c-tree moniker is no longer in use for our product names, and FairCom DB is now aligned with the other data products that have been developed over the years.

    We’ve seen some creative spelling for the c-tree product name over the year. Some of our favorites include Ctree, ctree, C tree, c-trees, ctree Plus, Ctree +, and ctree ACE.

FairCom Legacy Logo
Strengths

FairCom DB in action

Multimodel support: One of FairCom DB's advantages is its multiple APIs, which work simultaneously over the same data. Choose which API(s) work best for your application and mix and match to build your application. Each API provides specific advantages to your application.
JSON DB multi-model support illustration
ISAM API
Gives the C / C++ programmer complete control over every detail of data processing to create specialized algorithms that offer performance and capabilities unmatched by any other database.
CTDB API
Is almost as fast as ISAM and dramatically simplifies the C / C++ code. CTDB works with the individual columns of each record, whereas ISAM works with the entire binary buffer of each record.
Direct SQL API
Makes it easy for the programmer to run SQL statements in C / C++ code, which gives the application all the advantages of SQL, including its ability to do ad hoc queries, analytics, and sorting. Most importantly, SQL provides built-in join algorithms that efficiently join data.

JSON DB API

Treats all commands and data as JSON. It automatically converts record data to and from JSON, which makes it easy to create C / C++ app servers and import/export data as JSON.

Isometric illustration of ROI

High-performance database

We've created unmatched throughput opportunities by offering a variety of different API levels to access our database. In addition, the programmer can tune particulars, like the level of data durability, ranging from immediately ACID-compliant to eventually consistent to no durability support.

In addition, FairCom DB lets programmers highly optimize database access to a degree that isn't routinely available with competitors. Examples of this include DB's record and key-level locking support, the ability to embed the database within your application, batch support, memory files, and deferred indexing.

Unmatched reliability

FairCom customers routinely measure application uptime in months and years and, in one case, by ten years at a time. We're serious! One of our customers starts their high-speed manufacturing application, lets it run nonstop for 10 years, and then shuts the application down to drop in new hardware.

This is done with several thousand individual machine instances controlling a large manufacturing operation. Can your database run unattended for a whole decade at a time? FairCom DB can.

Learn More

Discover FairCom DB

When you need power, speed, and reliability, you need FairCom DB. Learn more about our multimodel JSON database.

Check out FairCom DB
FairCom DB icon—dark blue parallelogram with 'DB' in white lettering