April 10, 2020
FairCom DB 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 FairCom DB 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 FairCom DB? 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 FairCom DB 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 FairCom 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.

When building high velocity microservices, custom data types are very useful for developers using any language. Microservices perform fastest when sending binary data between the application tier and the microservice tier. Microservices typically use standard binary formats for this purpose, such as AVRO, BSON, MessagePack, ProtoBuf, etc. FairCom DB can store these binary formats directly into the database with no overhead. It also makes it easy to parse and extract any part of the data for indexing and querying from SQL. Further, FairCom DB provides built-in, point-and-click data replication for automatically synchronizing data between databases – including any form of custom binary data. These features along with its easy-to-use client drivers, make FairCom DB the ideal database for building microservices using Java, C#, VB.Net, Node.JS, JavaScript, C and C++.
FairCom DB 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 FairCom DB 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.