FoundationDB's Dave Rosenthal and Ori Hernstadt dropped by to provide an update on the company and a future product. The discussion of that future product will have to wait a bit, however. Like my first conversation with the company (see "FoundationDB: A new take on an established data structure" for more information), the chat was fast-moving and very interesting. I got to momentarily re-live my glory days as a software engineer for a software supplier that developed a complete library automation system based upon a similar data structure.
FoundationDB's product is a database in which the data is stored as part of the index rather than in a separate storage space. This approach makes it possible for the database to be significantly smaller than a more traditional relational database and perform much more quickly. This approach is called a "key-value store."
This approach isn't new, however. Database systems, such as Pick and MUMPS (now called simply M), used this approach in the 1970s. At that time, a DEC PDP-34 could support over 150 users when running MUMPS. When running one of DEC's operating systems, the same system could only support 16 to 32 users.
FoundationDB just took this thought and ran in a new direction with it.
What's the new direction?
FoundationDB took the idea and implemented it using a distributed cluster or grid of systems. They've made it possible for this concept to execute on a large number of systems and offer users the support of very large, complex databases.
The database supports quite a number of different types of data including:
- Binary large objects (Blob)
- Ranked sets
- Simple indexes
- Spatial indexes
What's fascinating is this powerful data store can be accessed directly and the company has plans to add other "personality modules" that will allow developers familiar with relational and non-relational databases to easily work with FoundationDB.
As I mentioned in my article on FoundationDB, SQL and NoSQL database engines are all the rage for extreme transaction processing or Big Data applications. The problem is that organizations have maintained their investment in traditional SQL-based databases and — seeing the limitations of these databases — have started adding No-SQL and Big Data databases to their portfolio.
One of FoundationDB's messages is that its database makes it possible for many different database engines to be replaced with a single database because all of the functions they offer are available in FoundationDB. The company points out that this would reduce both a company's software license cost and reduce the number of separate types of expertise they would need on staff.
I was highly impressed with the cleverness of FoundationDB's approach and was interested to learn of their successes and customer installations. If they could only find a way to rise above the noise of a very competitive database market, they could address many customers' problems.