![](https://cdn.prod.website-files.com/65021260e4fae0ddc09307a3/656f4d0d0bf45e58aa5c9b5d_Data-placeholder-01.webp)
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.
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.
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.
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 DB in action
![JSON DB multi-model support illustration](https://cdn.prod.website-files.com/65021260e4fae0ddc09307a3/65fcaad3774d21dacf6f5bbb_JSON%20DB-wRTG-small.png)
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.
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.
Discover FairCom DB
When you need power, speed, and reliability, you need FairCom DB. Learn more about our multimodel JSON database.