Database firm EnterpriseDB (EDB) is hoping to encourage enterprises users to pick up its distribution of the Postgres open source database by tailoring a new release for corporate users. One of the new features sees it integrate with other kinds of databases that handle big data and large-scale web applications, paving the way for companies to make new and old data structures work together more closely.
Increasingly, newer kinds of databases are powering the web. Big data ecosystems such as Hadoop mingle with NoSQL databases that store large amounts of information in new ways. Many companies have worked for years with traditional relational databases, but now find themselves needing to work with these new kinds of data structures too. EDB says it has created a suite that gives customers the best of both worlds, with an integration feature that enables it to connect Postgres with Hadoop and NoSQL data structures.
The feature is part of a broad repackaging of EDB’s various Postgres-related features into one enterprise-friendly platform. “An open source database like Postgres doesn’t exist in isolation. It needs to meet the same rigorous management standards that enterprises are expecting from Oracle or SQL Server,” said EDB’s senior vice president of products and services Marc Linster. “It’s taking what used to be disparate capabilities, bringing them all together, tying them all together into one alerting, monitoring and management infrastructure.”
Much of this is a rebranding exercise; many of the service, support and database management features in the company’s new EDB Postgres platform already existed separately. There are some new parts in EDB’s suite, though, and one of them – the ability to integrate with other kinds of database – is the most interesting.
Relational vs non-relational databases
Traditional relational databases store their data in tables, which are linked together in relationships known as schemas. Changing them can easily break an application. If you want to store a new piece of information about a customer, you might have to completely re-create the table describing the customer to add the new field. Databases like MySQL, Oracle, and Microsoft’s SQL Server work this way. So does Postgres.
NoSQL works differently, storing pieces of information in simpler, tree -like structures typically using the JavaScript Object Notation (JSON) language. Popular NoSQL databases include MongoDB, CouchDB and Cassandra. These databases offer several advantages, one of which is flexibility. Their structures are easy to update with new fields, which developers can add in on the fly. They also really good at storing the large amounts of data found in Web, mobile, and Internet of Things applications.
NoSQL databases have their drawbacks, though. They are not designed for atomicity, consistency, isolation and durability in their transactions. These qualities, collectively known as ACID, are necessary when processing transactional information that can’t be lost such as a customer order, for example.
Instead, companies might use NoSQL to store information such as click streams, which track which things customers click on websites and how long it takes between each click. They are also great for social graphs, which store mountains of information about what customers like and how they know each other.
The EDB Postgres platform now exchanges data not only with the MySQL open source relational database, but with Hadoop, which is a distributed platform for managing big data, and also with MongoDB, one of the most popular NoSQL products. It is using Foreign Data Wrappers, a technology that has long existed in Postgres but which hasn’t been well documented.
“We’re calling them data adapters because they allow us to do seamless integration of Postgres with other data sources around Postgres such as MySQL, Mongo and Hadoop,” said Linster. “So you can manage it in Hadoop, but access it, integrate with it and talk to it via the Foreign Data Wrappers that are available as part of EDB’s Postgres distribution.”
There are some other enhancements in EDB’s packaged Postgres distribution, including support for the Openstack cloud management system. This will make it easier for companies to deploy it in those environments. This will lead to better DevOps practices, said the firm, by providing the database as a service in cloud environments.