There are strong opinions among IT leaders about where the real future of database technology lies. At the DATAVERSITY® Enterprise Data World 2016 Conference, for example, one could hear Mike Bowers, Enterprise Data Architect at the Church of Jesus Christ of Latter-day Saints (LDS), tout the virtues of NoSQL. He urged every organization to have a NoSQL champion as the trend turns towards replacing traditional SQL databases. At the same event, a presentation by James Serra, Data Platform Solution Architect at Microsoft, noted that NoSQL is a viable technology that has a place – mostly for a subset of specialized needs and use cases.
FairCom takes the position that there are many different ways to handle data and it’s important for users to have a holistic solution that will be there for them, whatever their needs may be. In business since 1979, the company likes to tout that it’s been doing NoSQL since before it was cool. At the same time, FairCom also early on saw the need to support SQL data access requirements.
“We have been around long enough to see the advantage of working with unstructured data,” says Randal Hoff, VP of engineering services at the company – but also the importance of traditional database technology. That has led the company to provide capabilities you won’t necessarily see with other NoSQL databases, he says, but which are important for many organizations, such as a fully ACID advanced key-value store that supports multiple relational and non-relational APIs.
Inside c-treeACE
FairCom refers to its c-treeACE (Advanced Core Engine) solution as a No+SQL multimodel database, providing users NoSQL and SQL access over the same single instance of their data at the same time. “Simultaneous access to the same data makes it unique,” says David Malmborg, director of marketing, avoiding ETL processes to bring NoSQL and SQL data worlds together and the perils of old or stale data that may come with that.
Developers gain from the approach, Hoff explains. At c-treeACE’s core NoSQL layer FairCom has implemented multiple database fundamentals for both NoSQL and SQL transactions. That includes a full ACID-compliant transaction processing engine for database reliability with roll forward and rollback operations, automatic recovery and other features characteristic of relational engines. Incorporating the fundamentals, he says, means that developers can leverage any of its APIs–relational and non-relational – and mix and match those, taking advantage of whichever is best for a particular use case. “They can use them concurrently and we’ll take care of all the behind-the-scenes important things like deadlock detection and … making sure that data integrity is respected.”
He points out that leveraging a full ACID transaction processing layer does impose some overhead. To that end, its technology is architected so that ACID transaction processing can be turned on and off or otherwise manipulated. For instance, some files whose data can be recreated may not be mission-critical and so may not require full ACID compliance. “You can choose at a [granular] level what pieces you need compliance for,” he says.
Another capability of the solution is delayed durability for the ACID transaction processing engine. This comes into play when it comes to the time-consuming process of flushing the transaction log. The delayed durability concept that FairCom engineers came up with works by allowing programmers to block up a lot of commit operations to flush together in a batch, so to speak, rather than having to conduct flushes with every transaction. “When you do that we’ve seen performance increase quite dramatically, by 300% in some cases,” says Malmborg.
With c-treeACE, programmers also can leverage traditional in-memory processing, enabling a file to live in RAM for very fast access times but with no persistence to disk, or they can leverage the granularity the system offers with its cache controls. It has separate data and index caches and data programmers or administrators get plenty of control over how caches are populated and maintained, Hoff says.
“We feel that the implementation of our cache controls is a lot more granular than most of the competition,” he says. For example, it’s possible to dedicate a very important file – or a percentage of one – as something that will always stay in cache and never flushed out. Alternately, a very large file that is constantly being walked through, and as a consequence creating the risk of pushing something else out of cache, can be designated as one to never cache at all.
Putting the Technology to Use
According to Hoff, the company counts over 40% of the Fortune 100 as users of its technology. That includes heavy use by clients in financial, telecom markets, and manufacturing, not to mention working with NASA on the International Space Station. A primary use case revolves around high throughput transactions that need to be ACID-compliant, while providing the performance that isn’t possible from relational databases and yet still supporting SQL capability.
For these and other clients, FairCom wants to deliver the message of “putting the focus on data.” With the options it offers – its APIs, hardware-agnosticism, ability to work with platforms and operating systems of all kinds – “it gives developers the opportunity to focus more on data and what they want to do with it and less on the restrictions of development,” Malmborg says.
In fact, one of the main purposes to which the technology is put is for embedded implementations. “We coin our technology as the developers’ or engineers’ level database,” says Hoff. Its robust NoSQL and SQL combined server engine can be bound directly into developers’ applications. “You can be sitting there writing your application and when you are ready for database services, you can take our component and just load this as another layer within your application,” he says. One company that does so leverages this ability for software it builds for dental offices, a product that is used by the majority of such practices in the U.S., the FairCom executives say.
Among the recent developments at FairCom are its c-treeRTG product extensions for updating the Data Management engine underneath an existing application without touching the code. It enables businesses that rely on legacy systems based on COBOL and Btrieve to easily drop in a replacement for their file systems, retain their data and gain modern database capabilities. “A lot of companies might not want to admit they have COBOL, for instance, but many of them do and they don’t know what to do with it,” Hoff says. The solution aims to take much of the difficulties out of modernizing legacy systems, and let companies get valuable insight out of data in these systems without having to experience high costs and integration struggles.