April 10, 2020
c-treeACE gives developers absolute control with custom data types
C developers benefit from physical level APIs
FairCom’s multimodel database engine is designed with the developer in mind.
What do we mean by that? We strive to give you, the developer, the ability to customize your database to meet your unique business needs. One example is the way in which we allow you to utilize user-defined (custom) data types.
With the c-treeACE database engine, we allow you to create a custom data type by simply storing any binary data structure inside a record or inside a field. You have the ability to index the data any way you want and write a function to make a binary data structure appear as traditional columns in SQL queries and in indexes.
So, you may be asking how is this possible with c-treeACE? The answer is simple: The FairCom database engine allows you to program on the physical level via the ISAM and/or Low-level APIs, as compared to most other databases, which work at the less flexible logical level.
The physical-level capabilities provided by c-treeACE are an especially powerful benefit for C and C++ developers because of the database speed and efficiency that it enables. For example, programmers can take the binary value of structures in C and objects in C++ and store it directly into records in the database – without the overhead of transforming the data into some proprietary format required by the database. Likewise, your code can extract any binary values you want from your custom data types and use the Low-level API in c-treeACE to store them directly into one or more index records that are associated with a record.
For a C and C++ programmer, inserting, updating and deleting records at the physical level requires less development work than using a SQL database, and the payoff is amazingly fast performance that consistently performs exactly the way you want.
c-treeACE also provides all the expected native data types as well as some unexpected ones, such as JSON, signed and unsigned integers from 1 byte through 8 bytes, BCD, Currency, Date, Time, DateTime, Unicode Strings, ASCII-only strings, etc. Further, strings and binary fields can contain up to 2 GB per record using simple, fast buffers to move data in and out of the database. You can learn about c-treeACE capabilities for machine data types and SQL data types here.
In summary, developers can process custom binary data and native CPU data types at machine speed using NoSQL APIs while simultaneously indexing and running SQL queries over the same data. FairCom’s APIs make this unprecedented level of control easy, and the end result is a level of control and performance that is unmatched by any other database.