0

I'm looking for a "Zero Maintenance" database engine that can be installed on Windows. We have a lot of customers that want our software installed on their local computers. Although we have a cloud offering, many of our customers do not use it, for various reasons.

By "Zero Maintenance", I mean:

  • Auto-tuning - the db doesn't lose performance over time
  • Auto-compacting - the database doesn't bloat over time
  • Resistant to corruption - in many crash scenarios, should automatically recover to a logically consistent state without human intervention
  • Auto-patching - nice, but not essential.

We want this because our customers don't have the expertise or budget to maintain something like SQL Server on their own systems. And we don't have the staff to do it for them. So the idea of having a database that is stable for long periods of time is very attractive.

I have found three potential candidates:

  • Mimer - Claims "Zero Maintenance", and is a full SQL relational db
  • Amazon Aurora - excluded from my consideration because it is Cloud only
  • InterBase - Claims "Admin free" "Rapid crash recovery" -- they also say they are fully-featured SQL database.

Our largest customer has under 2GB of data. Rather than write an abstraction layer, I would prefer coding to a single db platform that would have very low maintenance requirements on a local machine, and then scale well to the cloud. Postgres certainly works well at scale, but I'd have to research the local story more. Mimer claims to do this.

Have any of you heard of others? Any experience with any of these packages? I welcome any feedback.

2

Disclaimer
I am in no way affiliated with Gupta, Gupta Technologies, OpenText or any of their subsidiaries. The statements made are my own personal experience or are statements taken directly from the "OpenText Gupta Development Tools and Databases" site.

Intro

This is my personal opinion based on a CRM system we were using back in the 90's which replicated data between salesperson's laptops and satellite and/or central database servers running the same RDBMS.

OpenText Gupta Development Tools and Databases

I'm still in possession of binder containing the following books:

  • SQLBase - Database Administrators Guide
  • SQL Console Guide
  • SQLBase - SQL Talk Command Reference

Managing Database

The database was very easy to maintain once you had the knack of running everything via SQL Talk, a simple SQL Tool with an an input and an output window.

There was a SQL Console back then, which gave you a bit more leverage on the system, but it wasn't really required.

In my personal experience the database (laptop and/or server database) performed at or near peak level for nearly a year before you had to set off a simple:

REORGANIZE;

Another statement to verify that everything was OK, was the simple:

CHECK DATABASE;

Backups are similar to handel (if required), by issuing one or two of the following commands:

BACKUP DATABASE FROM <database name> TO <directory name> ON CLIENT;
BACKUP LOGS FROM <database name> TO <directory name> ON CLIENT;
BACKUP SNAPSHOT FROM <database name> TO <directory name> ON SERVER;

However they did recommend to:

BACKUP SNAPSHOT is the recommend way to backup your database and log files because it is easy and provides you with a backup from which you can recover the database in one step.

Performance

The database (used to) perform(s) very well up to a size of about 2 GB, after which the database would have to have been split into multiple database files.

Comparing Size of Databases

When we had to switch from Gupta SQL Base to Microsoft SQL Server for licensing reasons, the main database of one of our "Technical Applications" which used to be 2 GB in size grew to 8 GB in size just from the conversion. No additional features added. No new indexes. Just a conversion of the DDL, content and indexes from Gupta SQL Base to Microsoft SQL Server.

Company Statements

I can fully support some of the statements made on the homepage for the RDBMS OpenText Gupta SQL Base product:

OpenText™ Gupta SQLBase is a fully relational, high performance, embedded database that allows organizations to manage data closer to the customer, where capturing and organizing information is critical. SQLBase provides a self-recovering, highly automated embedded database architecture that enables users from corporate IT to ISVs to deploy SQLBase embedded in software solutions having automated deployment and configuration and automated maintenance. With its small footprint and low TCO, SQLBase is the embedded database of choice for ISVs and organizations around the world.

SQLBase integrates very well with many development tools, is highly secure and available for latest operating systems. The integrated tools allow testing for developers and to setup and configure automated maintenance with ease.

...including two of their statements made on their "Benefits" summary:

Automate Installation, Configuration and Maintenance

SQLBase provides automated deployment and configuration. Automated maintenance further reduces total cost of ownership of database solutions that include SQLBase.

Support for TD Mobile Mobile Workforce Apps

SQLBase is a great central database for TD Mobile mobile workforce apps. Very easy integration into the development system and easy application deployment make SQLBase a very good choice for these types of apps. Flexible licensing options allow for easy centralized deployment.

History

The Gupta Database which was initially owned by Gupta Technologies, has been handed around quite a few times (Centurasoft, Unify, ...) and is now associated with OpenText.

1

I use InterBase and Firebird for the reasons the OP posted their comment. Small, fast, pretty much maintenance-free, secure, multi-platform, mature, full-featured, and the DDL is very close to Oracle's. The triggers are fast, the functions and stored procedures are excellent, and they're competitive with the Oracle, SQL Server, and MySQL databases that I also use in my work.

I highly recommend either InterBase or Firebird. Your choice of either product would largely depend on features and pricing.

0

What you're speaking of can obviously only provide limited functionality. Databases can't meaningfully optimize for arbitrary work loads, in the same way that programs can't write themselves. You can seek out a document store which meets much of your criteria, but because they're all works in progress you're likely to have to patch and maintain them even if only minimally.

For the purpose of trying to answer this question, and thinking outside the box, I'm going with

  • EXT4: fourth extended filesystem

EXT4 is a journaled file system. Backing it up and replicating it is pretty simple, but it's not provided by the file system. Geolocation and scaling is also not provided. You don't require any of these.

  • it is pretty self-optimizing. You shouldn't ever have to defragment it except under contrived conditions and if so you have e4defrag. It also permits journaling metadata, and data.
  • Most everything can communicate with an ext4 device without any external drivers, and it uses your file systems own commands to navigate, create new files/records/directories, and delete (unlink).
  • Directories are indexed. Opening up a file is lightening fast! Autopatching is a function of the operating system

If you really want transparent compression, check out ZFS it's bigger more full featured and awesome cousin.

Marketing Wank

Taking Mimer as an example let's look at how they define "Maintenance-Free"

A running Mimer SQL Enterprise system requires virtually no supervision and no regular database administration. This because the deadlock-free concurrency control, automatic database tuning and many other advanced internal features in the database kernel.

Use a database system without a threaded file-writers (ie., not INNO). PostgreSQL fits all of this. There is nothing unique there. Even the databases that can deadlock, are supposed to handle that occasions with rollbacks and timeouts.

And Interbase isn't much different

InterBase will just run and run and run! Even with the hardest working databases processing 10,000+ transactions a second it would be 150+ years before you need to backup and restore the latest InterBase database server (compared to under a month with older versions and Firebird). InterBase servers are so good at being admin free, there is even a copy on Mars right now use by the MARS Rover (Well it is to far to send a DBA)

No one has any idea of how they calculated that 150+ years. It's just marketing. Being on the MARS Rover (highly unlikely to be true), is not a statement about anything NASA's purchasing decision.

  • Thanks for the suggestions! However, our application is written on top of a relational database. But our database needs per customer are modest, and hardly push any boundaries. Mimer and InterBase are interesting to me because they make the claims. I am here to get feedback on this concept, and these programs. PostgresSQL makes none of these claims, and further, several attempts to find any discussion of this on Postgres forums, etc. proved fruitless. Do you have any resources on how to 'harden' Postgres to make it more 'maintenance free'? – kismert Aug 15 '18 at 1:02
  • There is absolutely no more merit to running either of those products than PostgreSQL. And if you have legacy concerns that's certainly not in your question. Migration is always an issues. Databases are ever evolving and have fixed support intervals. With PostgreSQL you can expect at least five years of support with every version, officially. Then you'll require support from third parties. On Linux these updates are distributed officially from PostgreSQL repositories, or your distro's packaging system. I'm not sure Windows does anything like that you may have to dl and install with updates. – Evan Carroll Aug 15 '18 at 1:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.