The continuous developments in the DBMS market are remarkable. With the introduction of each and every new flavor from NoSQL, NewSQL, Key-Value, Object-oriented, etc., and iterations thereof, virtually all data can be managed effectively and as needed.
The databases that service the widely disparate needs of storage size, horizontal scalability, performance, persistence, elasticity, structured/unstructured data, ACID and related applications are equally distinct. So the questions remain, with all of these specialized DBMSs on the market today:
“Why is the relational model still the go-to DBMS of choice?”
- The SQL standard, relational data model is the de facto DBMS standard for enterprises across the globe because structured, transactional data is present and necessary in all industries. Enterprises have poured extensive resources in developing optimized data architectures/schemas to literally work within the relational model. Entire enterprise-wide operations live and die by this model and to unwind that ‘cost’ is largely prohibitive.
- Also, there are a litany of more granular, practical reasons why the relational DBMS model, even with no drastic innovation, will be the DBMS staple for the foreseeable future. Some of these reasons are listed here:
- Maturity, proven, battle-tested
- Uncluttered data
- Avoidance of data duplication
- ACID compliance
- Precise DML. thus avoiding data duplication
- Facility in performing AD HOC queries
- Relatively easier to change data and perform complex queries
- Flexibility in adding and removing specific data
- Security/segregation of who can access what
- Ease of Migration
“Isn’t it likely that disadvantages of the relational model such as performance, CPU consumption, cost/upkeep, data complexity from poor architecture, etc., will logically lead to its obsolescence?”
- Without innovation and improvements on relational DBMSs, it is conceivable that ‘eventually,’ it will fade away as a relic.
- However, innovation and transformation are constantly occurring with the relational data model at its core.
- What this solves is a ton of problems that were fundamentally known to be ‘intrinsic limitations’ of the relational model.
- Some examples of the ‘intrinsic’ constraints and new innovations to address such, are:
- Performance: With the advent of in-memory databases, SSD and the combination of the two, the performance hindrance has largely disappeared.
- CPU consumption: With Moore’s Law at the core, traditional limitations placed by CPU consumption, physical storage consumption, interactive data management (such as joins) are greatly mitigated by the drastically lower monetary costs associated with scale-up (vertical scaling).
- Cost/Upkeep: Although the initial costs to design an efficient and adaptable relational data model is still higher than some other data models, the cost-savings associated with but not limited to minimizing inconsistent data, problems that stem from eventual consistency, interoperating with enterprise-wide platforms, migration and near-ubiquitous SQL understanding, reliable support etc., primarily outweigh the initial cost-hurdles.
- Data complexity: Data has become increasingly more complex and while the traditional relational data model has not adapted to such changes easily, times are changing rapidly. There are now wide-reaching solutions providers that specialize in integrating newer, more complex data structures into the relational model. Additionally, as the DBAs and design architects enjoy the benefits of robust documentation on relational data, many of the ‘once known as’ hard and fast exclusionary rules have systematically lessened.
This post is certainly not meant to be an exhaustive dissertation on all aspects, weaknesses and strengths of any new DBMS types. What I simply want to convey is that there are definitely benefits for specific applications from the amazing DBMS types that we have today. It is a huge benefit to the entire industry and innovation on the whole.
I will wrap this up by saying that Altibase, which is a SQL compliant, in-memory DBMS with hybrid architecture has already solved many of the issues surrounding performance (In-memory DBMS), storage and flexibility (on-disk DBMS), durability (combining in-memory and on-disk in a single unified engine) and we will continue to innovate to make sure that the relational model is here to stay.