Everything about SQLFire is linearly scalable.
VMware recently announced the beta of a new product, ‘vFabric SQLFire.’ This distributed data management system promised features usually only found in NoSQL databases, but with a SQL interface. In this interview, JAXenter speaks to David McJannet, about this new product.
JAXenter: Can you introduce us to the new vFabric SQLFire offering?
David McJannet: A challenge for many of the applications built today revolves around data. Specifically, the volume of data that can adversely impact application performance. This can be particularly challenging for high volume web applications, for which scaling the data tier can be a real challenge when using traditional databases which face the inherent limitations of disk I/O.
This has led many users to investigate alternatives — many of them memory-oriented — to complement the traditional database approach.
vFabric SQLFire is an in-memory data management technology that provides data at memory speed, linear scale, and a standard SQL interface for your web applications. And unlike many other approaches, SQLFire leverages the time-tested vFabric GemFire while adding familiar and standard SQL and JDBC interfaces to the service.
For users looking to overcome some of the limitations of traditional databases, SQLFire is definitely worth a look. I would encourage people to download and trial the beta.
JAXenter: What technologies are at work in vFabric SQLFire?
David: vFabric SQLFire leverages the technology used in vFabric GemFire, a proven distributed data management platform that is a core element of the VMware Cloud Application platform.
The primary difference is rather than interacting with this platform through a custom set of API’s, users can leverage their existing SQL skills to add this in-memory approach to their application with little to no modification to their applications.
JAXenter: According to your website: “SQLFire offers some of the best features usually only seen in NoSQL databases.” What features are these?
David: One of the key principles of SQLFire is the use of a shared-nothing distributed architecture, the same architecture used by many NoSQL datastores.
Many of SQLFire’s benefits derive from this architecture choice. For example:
- Linear Scalability: When you need more capacity you simply add more nodes: adding nodes means faster data reads, writes and queries. SQLFire nodes can be added and removed at any time and very easily so users don’t need to predict their data needs ahead of time.
- Built-in High Availability: SQLFire has built-in support for replication, which means rows in database tables will exist in multiple nodes simultaneously. If a node crashes, data can simply be retrieved from another node. The architecture is such that the client will not even be aware of the crash.
Linear scalability is a common feature of NoSQL databases. However SQLFire also provides transactions, which most NoSQL stores don’t provide because of the complexity associated with scaling transactions. The unique element is that SQLFire’s transactions are also linearly scalable, in other words if you find your application is bottlenecked on transactions, you can add more nodes into the distributed system and do more transactions. This is in contrast to legacy clustered SQL databases, where adding more nodes will cause transaction throughput to drop.
To sum it up, everything about SQLFire is linearly scalable, just like you see in NoSQL, but with support for transactions, a stronger data model and rich queries. For more information on these feature and more, visit the SQLFire community site.
JAXenter: Who are you targeting with vFabric SQLFire?
David: vFabric SQLFire is really appropriate for anyone looking to build high performance applications – either OLTP or analytics apps. The in-memory nature, standard SQL interface and linear scalability make it a good choice for any high performance application.